66 "testing"
77 "time"
88
9- "github.com/go-pg/pg/v10/orm"
109 _ "github.com/lib/pq"
1110 "github.com/pkg/errors"
1211
@@ -22,43 +21,11 @@ const (
2221func newDatabase (ctx context.Context , typ string , cfg config.Database ) (Database , error ) {
2322 switch typ {
2423 case "gorm" :
25- db := NewGorm ()
26- if err := db .Connect (ctx , cfg ); err != nil {
27- return nil , err
28- }
29- if err := db .DB ().AutoMigrate (& State {}); err != nil {
30- if err := db .Close (); err != nil {
31- return nil , err
32- }
33- return nil , err
34- }
35- return db , nil
24+ return NewGorm (), nil
3625 case "pg-go" :
37- db := NewPgGo ()
38- if err := db .Connect (ctx , cfg ); err != nil {
39- return nil , err
40- }
41- if err := db .DB ().WithContext (ctx ).Model (& State {}).CreateTable (& orm.CreateTableOptions {
42- IfNotExists : true ,
43- }); err != nil {
44- if err := db .Close (); err != nil {
45- return nil , err
46- }
47- return nil , err
48- }
49- return db , nil
26+ return NewPgGo (), nil
5027 case "bun" :
51- db := NewBun ()
52- if err := db .Connect (ctx , cfg ); err != nil {
53- return nil , err
54- }
55- if _ , err := db .DB ().NewCreateTable ().Model (& State {}).IfNotExists ().Exec (ctx ); err != nil {
56- if err := db .Close (); err != nil {
57- return nil , err
58- }
59- return nil , err
60- }
61- return db , nil
28+ return NewBun (), nil
6229 default :
6330 return nil , errors .Errorf ("unknown ORM: %s" , typ )
6431 }
@@ -87,14 +54,20 @@ func (s *DBTestSuite) SetupSuite() {
8754 s .Require ().NoError (err )
8855 s .psqlContainer = psqlContainer
8956
90- s . db , err = newDatabase ( ctx , s . typ , config.Database {
57+ cfg := config.Database {
9158 Kind : config .DBKindPostgres ,
9259 User : s .psqlContainer .Config .User ,
9360 Database : s .psqlContainer .Config .Database ,
9461 Password : s .psqlContainer .Config .Password ,
9562 Host : s .psqlContainer .Config .Host ,
9663 Port : s .psqlContainer .MappedPort ().Int (),
97- })
64+ }
65+
66+ s .db , err = newDatabase (ctx , s .typ , cfg )
67+ s .Require ().NoError (err )
68+ err = s .db .Connect (ctx , cfg )
69+ s .Require ().NoError (err )
70+ err = s .db .CreateTable (ctx , & State {}, WithIfNotExists ())
9871 s .Require ().NoError (err )
9972}
10073
0 commit comments