From c0acb70508a056f13dde161d7efdd310bfd1ec24 Mon Sep 17 00:00:00 2001 From: Dawid Rusnak Date: Fri, 17 Jan 2025 13:37:27 +0100 Subject: [PATCH] fixup unit tests --- .../artifacts/cloud_uploader.go | 47 +++++++----- .../artifacts/handler_test.go | 76 ++++++------------- .../artifacts/internalartifactstorage.go | 3 +- .../artifacts/junit_post_processor.go | 38 +++++++--- .../artifacts/junit_post_processor_test.go | 32 ++++---- .../commands/artifacts.go | 6 +- .../commands/artifacts_test.go | 24 +++--- pkg/executor/scraper/factory/factory.go | 2 +- pkg/tcl/checktcl/subscription_test.go | 16 ++-- pkg/triggers/executor_test.go | 2 +- 10 files changed, 123 insertions(+), 123 deletions(-) diff --git a/cmd/testworkflow-toolkit/artifacts/cloud_uploader.go b/cmd/testworkflow-toolkit/artifacts/cloud_uploader.go index f1c2972e382..57cb35383a3 100644 --- a/cmd/testworkflow-toolkit/artifacts/cloud_uploader.go +++ b/cmd/testworkflow-toolkit/artifacts/cloud_uploader.go @@ -13,18 +13,28 @@ import ( "github.com/pkg/errors" - "github.com/kubeshop/testkube/cmd/testworkflow-toolkit/env/config" "github.com/kubeshop/testkube/pkg/controlplaneclient" "github.com/kubeshop/testkube/pkg/ui" ) type CloudUploaderRequestEnhancer = func(req *http.Request, path string, size int64) -func NewCloudUploader(client controlplaneclient.ExecutionSelfClient, opts ...CloudUploaderOpt) Uploader { +func NewCloudUploader( + client controlplaneclient.ExecutionSelfClient, + environmentId string, + executionId string, + workflowName string, + stepRef string, + opts ...CloudUploaderOpt, +) Uploader { uploader := &cloudUploader{ - client: client, - parallelism: 1, - reqEnhancers: make([]CloudUploaderRequestEnhancer, 0), + client: client, + parallelism: 1, + reqEnhancers: make([]CloudUploaderRequestEnhancer, 0), + environmentId: environmentId, + executionId: executionId, + workflowName: workflowName, + stepRef: stepRef, } for _, opt := range opts { opt(uploader) @@ -33,13 +43,17 @@ func NewCloudUploader(client controlplaneclient.ExecutionSelfClient, opts ...Clo } type cloudUploader struct { - client controlplaneclient.ExecutionSelfClient - wg sync.WaitGroup - sema chan struct{} - parallelism int - error atomic.Bool - reqEnhancers []CloudUploaderRequestEnhancer - waitMu sync.Mutex + client controlplaneclient.ExecutionSelfClient + wg sync.WaitGroup + sema chan struct{} + parallelism int + error atomic.Bool + reqEnhancers []CloudUploaderRequestEnhancer + waitMu sync.Mutex + environmentId string + executionId string + workflowName string + stepRef string } func (d *cloudUploader) Start() (err error) { @@ -48,13 +62,12 @@ func (d *cloudUploader) Start() (err error) { } func (d *cloudUploader) getSignedURL(name, contentType string) (string, error) { - cfg := config.Config() return d.client.SaveExecutionArtifactGetPresignedURL( context.Background(), - cfg.Execution.EnvironmentId, - cfg.Execution.Id, - cfg.Workflow.Name, - config.Ref(), + d.environmentId, + d.executionId, + d.workflowName, + d.stepRef, name, contentType, ) diff --git a/cmd/testworkflow-toolkit/artifacts/handler_test.go b/cmd/testworkflow-toolkit/artifacts/handler_test.go index b5ca18acd48..e0f59762d5f 100644 --- a/cmd/testworkflow-toolkit/artifacts/handler_test.go +++ b/cmd/testworkflow-toolkit/artifacts/handler_test.go @@ -1,7 +1,6 @@ package artifacts import ( - "encoding/json" "net/http" "net/http/httptest" "os" @@ -9,11 +8,9 @@ import ( "github.com/golang/mock/gomock" - "github.com/kubeshop/testkube/pkg/cloud/data/testworkflow" + "github.com/kubeshop/testkube/pkg/controlplaneclient" "github.com/kubeshop/testkube/cmd/testworkflow-toolkit/common/testdata" - "github.com/kubeshop/testkube/pkg/cloud/data/artifact" - "github.com/kubeshop/testkube/pkg/cloud/data/executor" "github.com/kubeshop/testkube/pkg/filesystem" ) @@ -48,58 +45,35 @@ func TestHandler_CloudUploader(t *testing.T) { Return(filesystem.NewMockFile("report/junit.xml", []byte(testdata.BasicJUnit)), nil) } - setDirectPresignedURLExpectations := func(client *executor.MockExecutor) { - req1 := artifact.PutObjectSignedURLRequest{ - Object: "test.log", - ContentType: "application/octet-stream", - } - resp1 := artifact.PutObjectSignedURLResponse{ - URL: server.URL, - } - resp1Json, _ := json.Marshal(resp1) - client.EXPECT().Execute(gomock.Any(), artifact.CmdScraperPutObjectSignedURL, gomock.Eq(&req1)).Return(resp1Json, nil) - req2 := artifact.PutObjectSignedURLRequest{ - Object: "report/junit.xml", - ContentType: "application/octet-stream", - } - resp2 := artifact.PutObjectSignedURLResponse{ - URL: server.URL, - } - resp2Json, _ := json.Marshal(resp2) - client.EXPECT().Execute(gomock.Any(), artifact.CmdScraperPutObjectSignedURL, gomock.Eq(&req2)).Return(resp2Json, nil) + setDirectPresignedURLExpectations := func(client *controlplaneclient.MockClient) { + client.EXPECT(). + SaveExecutionArtifactGetPresignedURL(gomock.Any(), "env123", "exec123", "workflow123", "step123", "test.log", "application/octet-stream"). + Return(server.URL, nil) + client.EXPECT(). + SaveExecutionArtifactGetPresignedURL(gomock.Any(), "env123", "exec123", "workflow123", "step123", "report/junit.xml", "application/octet-stream"). + Return(server.URL, nil) } - setTarPresignedURLExpectations := func(client *executor.MockExecutor) { - req1 := artifact.PutObjectSignedURLRequest{ - Object: "artifacts.tar.gz", - ContentType: "application/octet-stream", - } - resp1 := artifact.PutObjectSignedURLResponse{ - URL: server.URL, - } - resp1Json, _ := json.Marshal(resp1) - client.EXPECT().Execute(gomock.Any(), artifact.CmdScraperPutObjectSignedURL, gomock.Eq(&req1)).Return(resp1Json, nil) + setTarPresignedURLExpectations := func(client *controlplaneclient.MockClient) { + client.EXPECT(). + SaveExecutionArtifactGetPresignedURL(gomock.Any(), "env123", "exec123", "workflow123", "step123", "artifacts.tar.gz", "application/octet-stream"). + Return(server.URL, nil) } - setJUnitPostProcessorExpectations := func(client *executor.MockExecutor) { - req := testworkflow.ExecutionsAddReportRequest{ - Filepath: "report/junit.xml", - Report: []byte(testdata.BasicJUnit), - } - client. - EXPECT(). - Execute(gomock.Any(), testworkflow.CmdTestWorkflowExecutionAddReport, gomock.Eq(&req)). - Return(nil, nil) + setJUnitPostProcessorExpectations := func(client *controlplaneclient.MockClient) { + client.EXPECT(). + AppendExecutionReport(gomock.Any(), "env123", "exec123", "workflow123", "step123", "report/junit.xml", []byte(testdata.BasicJUnit)). + Return(nil) } tests := []struct { name string processor Processor withJUnitPostProcessor bool - setup func(*filesystem.MockFileSystem, *executor.MockExecutor) + setup func(*filesystem.MockFileSystem, *controlplaneclient.MockClient) }{ { name: "direct processor", processor: NewDirectProcessor(), - setup: func(fs *filesystem.MockFileSystem, client *executor.MockExecutor) { + setup: func(fs *filesystem.MockFileSystem, client *controlplaneclient.MockClient) { setDirectPresignedURLExpectations(client) }, }, @@ -107,7 +81,7 @@ func TestHandler_CloudUploader(t *testing.T) { name: "direct processor with junit post processor", processor: NewDirectProcessor(), withJUnitPostProcessor: true, - setup: func(fs *filesystem.MockFileSystem, client *executor.MockExecutor) { + setup: func(fs *filesystem.MockFileSystem, client *controlplaneclient.MockClient) { setFilesystemExpectations(fs) setDirectPresignedURLExpectations(client) setJUnitPostProcessorExpectations(client) @@ -116,7 +90,7 @@ func TestHandler_CloudUploader(t *testing.T) { { name: "tar processor", processor: NewTarProcessor("artifacts.tar.gz"), - setup: func(fs *filesystem.MockFileSystem, client *executor.MockExecutor) { + setup: func(fs *filesystem.MockFileSystem, client *controlplaneclient.MockClient) { setTarPresignedURLExpectations(client) }, }, @@ -124,7 +98,7 @@ func TestHandler_CloudUploader(t *testing.T) { name: "tar processor with junit post processor", withJUnitPostProcessor: true, processor: NewTarProcessor("artifacts.tar.gz"), - setup: func(fs *filesystem.MockFileSystem, client *executor.MockExecutor) { + setup: func(fs *filesystem.MockFileSystem, client *controlplaneclient.MockClient) { setFilesystemExpectations(fs) setTarPresignedURLExpectations(client) setJUnitPostProcessorExpectations(client) @@ -135,14 +109,14 @@ func TestHandler_CloudUploader(t *testing.T) { for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { mockFilesystem := filesystem.NewMockFileSystem(mockCtrl) - mockExecutor := executor.NewMockExecutor(mockCtrl) - uploader := NewCloudUploader(mockExecutor) + mockClient := controlplaneclient.NewMockClient(mockCtrl) + uploader := NewCloudUploader(mockClient, "env123", "exec123", "workflow123", "step123") if tc.setup != nil { - tc.setup(mockFilesystem, mockExecutor) + tc.setup(mockFilesystem, mockClient) } var handlerOpts []HandlerOpts if tc.withJUnitPostProcessor { - pp := NewJUnitPostProcessor(mockFilesystem, mockExecutor, "/", "") + pp := NewJUnitPostProcessor(mockFilesystem, mockClient, "env123", "exec123", "workflow123", "step123", "/", "") handlerOpts = append(handlerOpts, WithPostProcessor(pp)) } handler := NewHandler(uploader, tc.processor, handlerOpts...) diff --git a/cmd/testworkflow-toolkit/artifacts/internalartifactstorage.go b/cmd/testworkflow-toolkit/artifacts/internalartifactstorage.go index 0d32b1058b5..eff62a629fb 100644 --- a/cmd/testworkflow-toolkit/artifacts/internalartifactstorage.go +++ b/cmd/testworkflow-toolkit/artifacts/internalartifactstorage.go @@ -29,7 +29,8 @@ type internalArtifactStorage struct { } func newArtifactUploader() Uploader { - return NewCloudUploader(env.Cloud(), WithParallelismCloud(30), CloudDetectMimetype) + cfg := config.Config() + return NewCloudUploader(env.Cloud(), cfg.Execution.EnvironmentId, cfg.Execution.Id, cfg.Workflow.Name, config.Ref(), WithParallelismCloud(30), CloudDetectMimetype) } func InternalStorage() InternalArtifactStorage { diff --git a/cmd/testworkflow-toolkit/artifacts/junit_post_processor.go b/cmd/testworkflow-toolkit/artifacts/junit_post_processor.go index f885519dc7c..c21481f0e61 100644 --- a/cmd/testworkflow-toolkit/artifacts/junit_post_processor.go +++ b/cmd/testworkflow-toolkit/artifacts/junit_post_processor.go @@ -10,7 +10,6 @@ import ( "github.com/pkg/errors" - "github.com/kubeshop/testkube/cmd/testworkflow-toolkit/env/config" "github.com/kubeshop/testkube/pkg/controlplaneclient" "github.com/kubeshop/testkube/pkg/filesystem" @@ -19,15 +18,35 @@ import ( // JUnitPostProcessor is a post-processor that checks XML files for JUnit reports and sends them to the cloud. type JUnitPostProcessor struct { - fs filesystem.FileSystem - client controlplaneclient.ExecutionSelfClient - apiKey string - root string - pathPrefix string + fs filesystem.FileSystem + client controlplaneclient.ExecutionSelfClient + root string + pathPrefix string + environmentId string + executionId string + workflowName string + stepRef string } -func NewJUnitPostProcessor(fs filesystem.FileSystem, client controlplaneclient.ExecutionSelfClient, apiKey string, root, pathPrefix string) *JUnitPostProcessor { - return &JUnitPostProcessor{fs: fs, client: client, apiKey: apiKey, root: root, pathPrefix: pathPrefix} +func NewJUnitPostProcessor( + fs filesystem.FileSystem, + client controlplaneclient.ExecutionSelfClient, + environmentId string, + executionId string, + workflowName string, + stepRef string, + root, pathPrefix string, +) *JUnitPostProcessor { + return &JUnitPostProcessor{ + fs: fs, + client: client, + environmentId: environmentId, + executionId: executionId, + workflowName: workflowName, + stepRef: stepRef, + root: root, + pathPrefix: pathPrefix, + } } func (p *JUnitPostProcessor) Start() error { @@ -87,9 +106,8 @@ func (p *JUnitPostProcessor) Add(path string) error { // sendJUnitReport sends the JUnit report to the Agent gRPC API. func (p *JUnitPostProcessor) sendJUnitReport(path string, report []byte) error { - cfg := config.Config() // TODO: think if it's valid for the parallel steps that have independent refs - return p.client.AppendExecutionReport(context.Background(), cfg.Execution.EnvironmentId, cfg.Execution.Id, cfg.Workflow.Name, config.Ref(), path, report) + return p.client.AppendExecutionReport(context.Background(), p.environmentId, p.executionId, p.workflowName, p.stepRef, path, report) } // isXMLFile checks if the file is an XML file based on the extension. diff --git a/cmd/testworkflow-toolkit/artifacts/junit_post_processor_test.go b/cmd/testworkflow-toolkit/artifacts/junit_post_processor_test.go index 3195fd6688a..98499b6f2f3 100644 --- a/cmd/testworkflow-toolkit/artifacts/junit_post_processor_test.go +++ b/cmd/testworkflow-toolkit/artifacts/junit_post_processor_test.go @@ -9,10 +9,9 @@ import ( "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" - "github.com/kubeshop/testkube/pkg/cloud/data/testworkflow" + "github.com/kubeshop/testkube/pkg/controlplaneclient" "github.com/kubeshop/testkube/cmd/testworkflow-toolkit/common/testdata" - "github.com/kubeshop/testkube/pkg/cloud/data/executor" "github.com/kubeshop/testkube/pkg/filesystem" ) @@ -24,7 +23,7 @@ func TestJUnitPostProcessor_Add(t *testing.T) { tests := []struct { name string - setup func(*executor.MockExecutor) + setup func(*controlplaneclient.MockClient) path string file fs.File want error @@ -43,12 +42,10 @@ func TestJUnitPostProcessor_Add(t *testing.T) { }, { name: "valid junit report", - setup: func(client *executor.MockExecutor) { - expectedPayload := testworkflow.ExecutionsAddReportRequest{ - Filepath: "report/junit.xml", - Report: []byte(testdata.BasicJUnit), - } - client.EXPECT().Execute(gomock.Any(), testworkflow.CmdTestWorkflowExecutionAddReport, gomock.Eq(&expectedPayload)).Return(nil, nil) + setup: func(client *controlplaneclient.MockClient) { + client.EXPECT(). + AppendExecutionReport(gomock.Any(), "env123", "exec123", "workflow123", "step123", "report/junit.xml", []byte(testdata.BasicJUnit)). + Return(nil) }, path: "report/junit.xml", file: filesystem.NewMockFile("basic.xml", []byte(testdata.BasicJUnit)), @@ -60,11 +57,11 @@ func TestJUnitPostProcessor_Add(t *testing.T) { t.Run(tc.name, func(t *testing.T) { mockFS := filesystem.NewMockFileSystem(mockCtrl) mockFS.EXPECT().OpenFileRO("/"+tc.path).Return(tc.file, nil) - mockClient := executor.NewMockExecutor(mockCtrl) + mockClient := controlplaneclient.NewMockClient(mockCtrl) if tc.setup != nil { tc.setup(mockClient) } - pp := NewJUnitPostProcessor(mockFS, mockClient, "/", "") + pp := NewJUnitPostProcessor(mockFS, mockClient, "env123", "exec123", "workflow123", "step123", "/", "") err := pp.Add(tc.path) assert.Equal(t, tc.want, err) }) @@ -77,7 +74,7 @@ func TestJUnitPostProcessor_Add_WithPathPrefix(t *testing.T) { defer mockCtrl.Finish() mockFS := filesystem.NewMockFileSystem(mockCtrl) - mockClient := executor.NewMockExecutor(mockCtrl) + mockClient := controlplaneclient.NewMockClient(mockCtrl) pathPrefix := "prefixed/junit/report/" filePath := "junit.xml" @@ -85,14 +82,11 @@ func TestJUnitPostProcessor_Add_WithPathPrefix(t *testing.T) { mockFS.EXPECT().OpenFileRO(gomock.Any()).Return(filesystem.NewMockFile("junit.xml", junitContent), nil) - pp := NewJUnitPostProcessor(mockFS, mockClient, "/test_root", pathPrefix) + pp := NewJUnitPostProcessor(mockFS, mockClient, "env123", "exec123", "workflow123", "step123", "/test_root", pathPrefix) - expectedPayload := testworkflow.ExecutionsAddReportRequest{ - Filepath: filepath.Join(pathPrefix, filePath), - Report: junitContent, - } - - mockClient.EXPECT().Execute(gomock.Any(), testworkflow.CmdTestWorkflowExecutionAddReport, gomock.Eq(&expectedPayload)).Return(nil, nil) + mockClient.EXPECT(). + AppendExecutionReport(gomock.Any(), "env123", "exec123", "workflow123", "step123", filepath.Join(pathPrefix, filePath), []byte(junitContent)). + Return(nil) err := pp.Add(filePath) diff --git a/cmd/testworkflow-toolkit/commands/artifacts.go b/cmd/testworkflow-toolkit/commands/artifacts.go index edf82a8b53d..773294a71a2 100644 --- a/cmd/testworkflow-toolkit/commands/artifacts.go +++ b/cmd/testworkflow-toolkit/commands/artifacts.go @@ -84,7 +84,7 @@ func NewArtifactsCmd() *cobra.Command { client := env.Cloud() if env.HasJunitSupport() { - junitProcessor := artifacts.NewJUnitPostProcessor(filesystem.NewOSFileSystem(), client, cfg.Worker.Connection.ApiKey, walker.Root(), cfg.Resource.FsPrefix) + junitProcessor := artifacts.NewJUnitPostProcessor(filesystem.NewOSFileSystem(), client, cfg.Execution.EnvironmentId, cfg.Execution.Id, cfg.Workflow.Name, config.Ref(), walker.Root(), cfg.Resource.FsPrefix) handlerOpts = append(handlerOpts, artifacts.WithPostProcessor(junitProcessor)) } if compress != "" { @@ -93,10 +93,10 @@ func NewArtifactsCmd() *cobra.Command { if unpack { opts = append(opts, cloudUnpack) } - uploader = artifacts.NewCloudUploader(client, opts...) + uploader = artifacts.NewCloudUploader(client, cfg.Execution.EnvironmentId, cfg.Execution.Id, cfg.Workflow.Name, config.Ref(), opts...) } else { processor = artifacts.NewDirectProcessor() - uploader = artifacts.NewCloudUploader(client, artifacts.WithParallelismCloud(30), artifacts.CloudDetectMimetype) + uploader = artifacts.NewCloudUploader(client, cfg.Execution.EnvironmentId, cfg.Execution.Id, cfg.Workflow.Name, config.Ref(), artifacts.WithParallelismCloud(30), artifacts.CloudDetectMimetype) } // Isolate the files under specific prefix diff --git a/cmd/testworkflow-toolkit/commands/artifacts_test.go b/cmd/testworkflow-toolkit/commands/artifacts_test.go index 5d1863c4cc3..dbb59d26774 100644 --- a/cmd/testworkflow-toolkit/commands/artifacts_test.go +++ b/cmd/testworkflow-toolkit/commands/artifacts_test.go @@ -2,14 +2,13 @@ package commands import ( "embed" - "encoding/json" "io/fs" "net/http" "net/http/httptest" "os" "testing" - "github.com/kubeshop/testkube/pkg/cloud/data/testworkflow" + "github.com/kubeshop/testkube/pkg/controlplaneclient" "github.com/kubeshop/testkube/pkg/mapper/cdevents" "github.com/kubeshop/testkube/pkg/utils/test" @@ -17,8 +16,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/kubeshop/testkube/cmd/testworkflow-toolkit/artifacts" - "github.com/kubeshop/testkube/pkg/cloud/data/artifact" - "github.com/kubeshop/testkube/pkg/cloud/data/executor" "github.com/kubeshop/testkube/pkg/filesystem" ) @@ -58,14 +55,15 @@ func TestRun_Integration(t *testing.T) { t.Fatalf("failed to create walker: %v", err) } processor := artifacts.NewDirectProcessor() - mockClient := executor.NewMockExecutor(mockCtrl) - mockResponse := artifact.PutObjectSignedURLResponse{ - URL: server.URL, - } - mockResponseJson, _ := json.Marshal(mockResponse) - mockClient.EXPECT().Execute(gomock.Any(), artifact.CmdScraperPutObjectSignedURL, gomock.Any()).Return(mockResponseJson, nil).Times(2) - mockClient.EXPECT().Execute(gomock.Any(), testworkflow.CmdTestWorkflowExecutionAddReport, gomock.Any()).Return(nil, nil) - uploader := artifacts.NewCloudUploader(mockClient) + mockClient := controlplaneclient.NewMockClient(mockCtrl) + mockClient.EXPECT(). + SaveExecutionArtifactGetPresignedURL(gomock.Any(), "env123", "exec123", "workflow123", "step123", "report/junit.xml", "application/octet-stream"). + Return(server.URL, nil). + Times(2) + mockClient.EXPECT(). + AppendExecutionReport(gomock.Any(), "env123", "exec123", "workflow123", "step123", gomock.Any(), gomock.Any()). + Return(nil) + uploader := artifacts.NewCloudUploader(mockClient, "env123", "exec123", "workflow123", "step123") mockFs := filesystem.NewMockFileSystem(mockCtrl) mockFs.EXPECT().OpenFileRO(gomock.Any()).AnyTimes().DoAndReturn(func(path string) (fs.File, error) { b, err := testDataFixtures.ReadFile(path[1:]) @@ -74,7 +72,7 @@ func TestRun_Integration(t *testing.T) { } return filesystem.NewMockFile(path[1:], b), nil }) - postProcessor := artifacts.NewJUnitPostProcessor(mockFs, mockClient, "/", "") + postProcessor := artifacts.NewJUnitPostProcessor(mockFs, mockClient, "env123", "exec123", "workflow123", "step123", "/", "") handler := artifacts.NewHandler(uploader, processor, artifacts.WithPostProcessor(postProcessor), artifacts.WithCDEventsTarget(server.URL), artifacts.WithCDEventsArtifactParameters(cdevents.CDEventsArtifactParameters{ Id: "1", diff --git a/pkg/executor/scraper/factory/factory.go b/pkg/executor/scraper/factory/factory.go index 62a2e4039f3..429ea230e09 100644 --- a/pkg/executor/scraper/factory/factory.go +++ b/pkg/executor/scraper/factory/factory.go @@ -119,7 +119,7 @@ func getRemoteStorageUploader(ctx context.Context, params envs.Params) (uploader output.PrintLogf("%s Connected to Agent API", ui.IconCheckMark) grpcClient := cloud.NewTestKubeCloudAPIClient(grpcConn) - cloudExecutor := cloudexecutor.NewCloudGRPCExecutor(grpcClient, grpcConn, params.ProAPIKey) + cloudExecutor := cloudexecutor.NewCloudGRPCExecutor(grpcClient, params.ProAPIKey) return cloudscraper.NewCloudUploader(cloudExecutor, params.SkipVerify), nil } diff --git a/pkg/tcl/checktcl/subscription_test.go b/pkg/tcl/checktcl/subscription_test.go index 80182a7080a..66b2f7adc15 100644 --- a/pkg/tcl/checktcl/subscription_test.go +++ b/pkg/tcl/checktcl/subscription_test.go @@ -14,6 +14,8 @@ import ( "testing" "github.com/stretchr/testify/assert" + + "github.com/kubeshop/testkube/internal/config" ) func TestSubscriptionChecker_GetCurrentOrganizationPlan(t *testing.T) { @@ -32,12 +34,12 @@ func TestSubscriptionChecker_GetCurrentOrganizationPlan(t *testing.T) { orgPlan: OrganizationPlan{ TestkubeMode: OrganizationPlanTestkubeModeEnterprise, IsTrial: false, - PlanStatus: PlanStatusActive, + PlanStatus: config.ProContextStatusActive, }, want: OrganizationPlan{ TestkubeMode: OrganizationPlanTestkubeModeEnterprise, IsTrial: false, - PlanStatus: PlanStatusActive, + PlanStatus: config.ProContextStatusActive, }, wantErr: false, }, @@ -163,7 +165,7 @@ func TestSubscriptionChecker_IsOrgPlanActive(t *testing.T) { { name: "active org plan", orgPlan: OrganizationPlan{ - PlanStatus: PlanStatusActive, + PlanStatus: config.ProContextStatusActive, }, want: true, wantErr: false, @@ -171,7 +173,7 @@ func TestSubscriptionChecker_IsOrgPlanActive(t *testing.T) { { name: "inactive org plan", orgPlan: OrganizationPlan{ - PlanStatus: PlanStatusUnpaid, + PlanStatus: config.ProContextStatusUnpaid, }, want: false, wantErr: false, @@ -206,7 +208,7 @@ func TestSubscriptionChecker_IsActiveOrgPlanEnterpriseForFeature(t *testing.T) { orgPlan: OrganizationPlan{ TestkubeMode: OrganizationPlanTestkubeModeEnterprise, IsTrial: false, - PlanStatus: PlanStatusActive, + PlanStatus: config.ProContextStatusActive, }, err: nil, }, @@ -219,7 +221,7 @@ func TestSubscriptionChecker_IsActiveOrgPlanEnterpriseForFeature(t *testing.T) { orgPlan: OrganizationPlan{ TestkubeMode: OrganizationPlanTestkubeModeEnterprise, IsTrial: false, - PlanStatus: PlanStatusUnpaid, + PlanStatus: config.ProContextStatusUnpaid, }, err: fmt.Errorf("%s is not available: inactive subscription plan", featureName), }, @@ -228,7 +230,7 @@ func TestSubscriptionChecker_IsActiveOrgPlanEnterpriseForFeature(t *testing.T) { orgPlan: OrganizationPlan{ TestkubeMode: OrganizationPlanTestkubeModePro, IsTrial: false, - PlanStatus: PlanStatusActive, + PlanStatus: config.ProContextStatusActive, }, err: fmt.Errorf("%s is not allowed: wrong subscription plan", featureName), }, diff --git a/pkg/triggers/executor_test.go b/pkg/triggers/executor_test.go index 51bec7d22d9..9d143cebd3a 100644 --- a/pkg/triggers/executor_test.go +++ b/pkg/triggers/executor_test.go @@ -220,7 +220,7 @@ func TestWorkflowExecute(t *testing.T) { executionsCh <- &testkube.TestWorkflowExecution{} close(executionsCh) executionsStream := testworkflowexecutor.NewStream(executionsCh) - mockTestWorkflowExecutor.EXPECT().Execute(gomock.Any(), mockTestWorkflowExecutionRequest).Return(executionsStream) + mockTestWorkflowExecutor.EXPECT().Execute(gomock.Any(), gomock.Any(), mockTestWorkflowExecutionRequest).Return(executionsStream) s := &Service{ triggerStatus: make(map[statusKey]*triggerStatus),