github.com/gocaveman/caveman@v0.0.0-20191211162744-0ddf99dbdf6e/regions/regionsdb/regionsdb_test.go (about) 1 package regionsdb 2 3 import ( 4 "log" 5 "testing" 6 7 "github.com/gocaveman/caveman/filesystem/aferofs" 8 "github.com/gocaveman/caveman/migrate" 9 "github.com/gocaveman/caveman/migrate/migratedbr" 10 "github.com/gocaveman/caveman/regions" 11 "github.com/spf13/afero" 12 "github.com/stretchr/testify/assert" 13 14 _ "github.com/mattn/go-sqlite3" 15 ) 16 17 func TestDBStore(t *testing.T) { 18 19 assert := assert.New(t) 20 21 fs := afero.NewMemMapFs() 22 fs.MkdirAll("/tmp", 0755) 23 24 driver, dsn := "sqlite3", "file:TestDBStore?mode=memory&cache=shared" 25 26 dbStore := &DBStore{ 27 DBDriver: driver, 28 DBDSN: dsn, 29 FileSystem: aferofs.New(fs), 30 FilePathPrefix: "/tmp", 31 } 32 assert.NoError(dbStore.AfterWire()) 33 34 ver, err := migratedbr.New(driver, dsn) 35 assert.NoError(err) 36 runner := migrate.NewRunner(driver, dsn, ver, DefaultRegionsMigrations) 37 assert.NoError(runner.RunAllUpToLatest()) 38 39 assert.NoError(dbStore.WriteDefinition(regions.Definition{ 40 DefinitionID: "def1", 41 RegionName: "leftnav+", 42 TemplateName: "/example1.gohtml", 43 })) 44 45 b, err := afero.ReadFile(fs, "/tmp/regions.yaml") 46 assert.NoError(err) 47 48 log.Printf("regions: %s", b) 49 50 }