github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/dbal/dsn_test.go (about) 1 package dbal 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestIsMemorySQLite(t *testing.T) { 10 testCases := map[string]bool{ 11 SQLiteInMemory: true, 12 SQLiteSharedInMemory: true, 13 "memory": true, 14 ":memory:": true, 15 "sqlite://:memory:?_fk=true": true, 16 "sqlite://file:uniquedb:?_fk=true&mode=memory": true, 17 "sqlite://file:uniquedb:?_fk=true&mode=memory&cache=shared": true, 18 "sqlite://file:uniquedb:?_fk=true&cache=shared&mode=memory": true, 19 "sqlite://file:uniquedb:?mode=memory": true, 20 "sqlite://file:::uniquedb:?_fk=true&mode=memory": true, 21 "sqlite://file:memdb1?mode=memory&cache=shared": true, 22 "sqlite://file:uniquedb:?_fk=true&cache=shared": false, 23 "sqlite://": false, 24 "sqlite://file": false, 25 "sqlite://file:::": false, 26 "sqlite://?_fk=true&mode=memory": false, 27 "sqlite://?_fk=true&cache=shared": false, 28 "sqlite://file::?_fk=true": false, 29 "sqlite://file:::?_fk=true": false, 30 "postgresql://username:secret@localhost:5432/database": false, 31 } 32 33 for dsn, expected := range testCases { 34 t.Run("dsn="+dsn, func(t *testing.T) { 35 assert.Equal(t, expected, IsMemorySQLite(dsn)) 36 }) 37 } 38 }