diff --git a/src/server/v2.0/handler/scan_all.go b/src/server/v2.0/handler/scan_all.go index 8bc807e1d..33c85c58c 100644 --- a/src/server/v2.0/handler/scan_all.go +++ b/src/server/v2.0/handler/scan_all.go @@ -41,6 +41,7 @@ func newScanAllAPI() *scanAllAPI { scanCtl: scan.DefaultController, scannerCtl: scanner.DefaultController, scheduler: scheduler.Sched, + makeCtx: orm.Context, } } @@ -50,6 +51,7 @@ type scanAllAPI struct { scanCtl scan.Controller scannerCtl scanner.Controller scheduler scheduler.Scheduler + makeCtx func() context.Context } func (s *scanAllAPI) Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder { @@ -75,7 +77,7 @@ func (s *scanAllAPI) StopScanAll(ctx context.Context, params operation.StopScanA if err != nil { log.Errorf("failed to stop the execution of executionID=%+v", execution.ID) } - }(orm.Context(), execution.ID) + }(s.makeCtx(), execution.ID) return operation.NewStopScanAllAccepted() } diff --git a/src/server/v2.0/handler/scan_all_test.go b/src/server/v2.0/handler/scan_all_test.go index 59c79c62d..ae00078cb 100644 --- a/src/server/v2.0/handler/scan_all_test.go +++ b/src/server/v2.0/handler/scan_all_test.go @@ -16,6 +16,7 @@ package handler import ( "bytes" + "context" "encoding/json" "fmt" "io" @@ -23,7 +24,7 @@ import ( "testing" "time" - "github.com/goharbor/harbor/src/common/dao" + "github.com/goharbor/harbor/src/lib/orm" "github.com/goharbor/harbor/src/pkg/scan/dao/scanner" "github.com/goharbor/harbor/src/pkg/scheduler" "github.com/goharbor/harbor/src/pkg/task" @@ -32,6 +33,7 @@ import ( "github.com/goharbor/harbor/src/server/v2.0/restapi" scantesting "github.com/goharbor/harbor/src/testing/controller/scan" scannertesting "github.com/goharbor/harbor/src/testing/controller/scanner" + ormtesting "github.com/goharbor/harbor/src/testing/lib/orm" "github.com/goharbor/harbor/src/testing/mock" schedulertesting "github.com/goharbor/harbor/src/testing/pkg/scheduler" tasktesting "github.com/goharbor/harbor/src/testing/pkg/task" @@ -52,9 +54,6 @@ type ScanAllTestSuite struct { } func (suite *ScanAllTestSuite) SetupSuite() { - // this is because orm.Context() - dao.PrepareTestForPostgresSQL() - suite.execution = &task.Execution{ Status: "Running", Metrics: &taskdao.Metrics{ @@ -89,6 +88,7 @@ func (suite *ScanAllTestSuite) SetupSuite() { scanCtl: suite.scanCtl, scannerCtl: suite.scannerCtl, scheduler: suite.scheduler, + makeCtx: func() context.Context { return orm.NewContext(nil, &ormtesting.FakeOrmer{}) }, }, }