fix: update context to "makeCtx func() context.Context" (#15584)

Signed-off-by: Shengwen Yu <yshengwen@vmware.com>

Co-authored-by: Shengwen Yu <yshengwen@vmware.com>
This commit is contained in:
Shengwen YU 2021-09-15 10:10:39 +08:00 committed by GitHub
parent 98cef43ead
commit ce9bea807e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View File

@ -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()
}

View File

@ -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{}) },
},
}