Skip to content

Commit 0fb011c

Browse files
committed
fix test containers cleanup
Signed-off-by: bcmmbaga <[email protected]>
1 parent c32f02a commit 0fb011c

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

management/server/store/store.go

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -415,10 +415,12 @@ func getSqlStoreEngine(ctx context.Context, store *SqlStore, kind types.Engine)
415415
}
416416

417417
func newReusedPostgresStore(ctx context.Context, store *SqlStore, kind types.Engine) (*SqlStore, func(), error) {
418+
var containerCleanup, dbCleanup func()
419+
418420
dsn, ok := os.LookupEnv(postgresDsnEnv)
419421
if !ok || dsn == "" {
420422
var err error
421-
_, dsn, err = testutil.CreatePostgresTestContainer()
423+
containerCleanup, dsn, err = testutil.CreatePostgresTestContainer()
422424
if err != nil {
423425
return nil, nil, err
424426
}
@@ -433,24 +435,33 @@ func newReusedPostgresStore(ctx context.Context, store *SqlStore, kind types.Eng
433435
return nil, nil, fmt.Errorf("failed to open postgres connection: %v", err)
434436
}
435437

436-
dsn, cleanup, err := createRandomDB(dsn, db, kind)
438+
dsn, dbCleanup, err = createRandomDB(dsn, db, kind)
437439
if err != nil {
438-
return nil, cleanup, err
440+
return nil, nil, err
439441
}
440442

441443
store, err = NewPostgresqlStoreFromSqlStore(ctx, store, dsn, nil)
442444
if err != nil {
443-
return nil, cleanup, err
445+
return nil, nil, err
446+
}
447+
448+
cleanup := func() {
449+
if containerCleanup != nil {
450+
containerCleanup()
451+
}
452+
dbCleanup()
444453
}
445454

446455
return store, cleanup, nil
447456
}
448457

449458
func newReusedMysqlStore(ctx context.Context, store *SqlStore, kind types.Engine) (*SqlStore, func(), error) {
459+
var containerCleanup, dbCleanup func()
460+
450461
dsn, ok := os.LookupEnv(mysqlDsnEnv)
451462
if !ok || dsn == "" {
452463
var err error
453-
_, dsn, err = testutil.CreateMysqlTestContainer()
464+
containerCleanup, dsn, err = testutil.CreateMysqlTestContainer()
454465
if err != nil {
455466
return nil, nil, err
456467
}
@@ -465,16 +476,23 @@ func newReusedMysqlStore(ctx context.Context, store *SqlStore, kind types.Engine
465476
return nil, nil, fmt.Errorf("failed to open mysql connection: %v", err)
466477
}
467478

468-
dsn, cleanup, err := createRandomDB(dsn, db, kind)
479+
dsn, dbCleanup, err = createRandomDB(dsn, db, kind)
469480
if err != nil {
470-
return nil, cleanup, err
481+
return nil, nil, err
471482
}
472483

473484
store, err = NewMysqlStoreFromSqlStore(ctx, store, dsn, nil)
474485
if err != nil {
475486
return nil, nil, err
476487
}
477488

489+
cleanup := func() {
490+
if containerCleanup != nil {
491+
containerCleanup()
492+
}
493+
dbCleanup()
494+
}
495+
478496
return store, cleanup, nil
479497
}
480498

0 commit comments

Comments
 (0)