From ac4d7d047a4aff420f56e194adcda711eeaa70d0 Mon Sep 17 00:00:00 2001 From: ashmrtn Date: Fri, 24 Feb 2023 18:13:50 -0800 Subject: [PATCH] Add tester suite wrapper to most of internal pkg (#2614) ## Description Skip connector subpackage for now as that is fairly large in itself. ## Does this PR need a docs update or release note? - [ ] :white_check_mark: Yes, it's included - [ ] :clock1: Yes, but in a later PR - [x] :no_entry: No ## Type of change - [ ] :sunflower: Feature - [ ] :bug: Bugfix - [ ] :world_map: Documentation - [ ] :robot: Test - [ ] :computer: CI/Deployment - [x] :broom: Tech Debt/Cleanup ## Issue(s) * #2373 ## Test Plan - [x] :muscle: Manual - [ ] :zap: Unit test - [ ] :green_heart: E2E --- src/internal/data/data_collection_test.go | 9 +++--- src/internal/events/events_test.go | 7 +++-- src/internal/model/model_test.go | 9 +++--- .../operations/backup_integration_test.go | 28 +++++++++---------- src/internal/operations/backup_test.go | 15 ++++++---- src/internal/operations/manifests_test.go | 28 +++++++++++-------- src/internal/operations/operation_test.go | 9 +++--- src/internal/operations/restore_test.go | 28 +++++++++---------- src/internal/streamstore/streamstore_test.go | 9 ++++-- 9 files changed, 80 insertions(+), 62 deletions(-) diff --git a/src/internal/data/data_collection_test.go b/src/internal/data/data_collection_test.go index 9ca093032..50f482f3f 100644 --- a/src/internal/data/data_collection_test.go +++ b/src/internal/data/data_collection_test.go @@ -7,15 +7,16 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" + "github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/corso/src/pkg/path" ) type DataCollectionSuite struct { - suite.Suite + tester.Suite } func TestDataCollectionSuite(t *testing.T) { - suite.Run(t, new(DataCollectionSuite)) + suite.Run(t, &DataCollectionSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *DataCollectionSuite) TestStateOf() { @@ -58,9 +59,9 @@ func (suite *DataCollectionSuite) TestStateOf() { }, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { state := StateOf(test.prev, test.curr) - assert.Equal(t, test.expect, state) + assert.Equal(suite.T(), test.expect, state) }) } } diff --git a/src/internal/events/events_test.go b/src/internal/events/events_test.go index 80205d805..44b64a830 100644 --- a/src/internal/events/events_test.go +++ b/src/internal/events/events_test.go @@ -15,12 +15,13 @@ import ( ) type EventsIntegrationSuite struct { - suite.Suite + tester.Suite } func TestMetricsIntegrationSuite(t *testing.T) { - tester.RunOnAny(t, tester.CorsoCITests) - suite.Run(t, new(EventsIntegrationSuite)) + suite.Run(t, &EventsIntegrationSuite{ + Suite: tester.NewIntegrationSuite(t, nil), + }) } func (suite *EventsIntegrationSuite) TestNewBus() { diff --git a/src/internal/model/model_test.go b/src/internal/model/model_test.go index e6b60f4b3..8682fe3da 100644 --- a/src/internal/model/model_test.go +++ b/src/internal/model/model_test.go @@ -8,14 +8,15 @@ import ( "github.com/stretchr/testify/suite" "github.com/alcionai/corso/src/internal/model" + "github.com/alcionai/corso/src/internal/tester" ) type ModelUnitSuite struct { - suite.Suite + tester.Suite } func TestModelUnitSuite(t *testing.T) { - suite.Run(t, new(ModelUnitSuite)) + suite.Run(t, &ModelUnitSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *ModelUnitSuite) TestValid() { @@ -34,8 +35,8 @@ func (suite *ModelUnitSuite) TestValid() { {model.Schema(100), assert.False}, } for _, test := range table { - suite.T().Run(test.mt.String(), func(t *testing.T) { - test.expect(t, test.mt.Valid()) + suite.Run(test.mt.String(), func() { + test.expect(suite.T(), test.mt.Valid()) }) } } diff --git a/src/internal/operations/backup_integration_test.go b/src/internal/operations/backup_integration_test.go index 00bd20813..021a377a3 100644 --- a/src/internal/operations/backup_integration_test.go +++ b/src/internal/operations/backup_integration_test.go @@ -451,23 +451,21 @@ func toDataLayerPath( // --------------------------------------------------------------------------- type BackupOpIntegrationSuite struct { - suite.Suite + tester.Suite user, site string } func TestBackupOpIntegrationSuite(t *testing.T) { - tester.RunOnAny( - t, - tester.CorsoCITests, - tester.CorsoOperationTests, - tester.CorsoOperationBackupTests) - - suite.Run(t, new(BackupOpIntegrationSuite)) + suite.Run(t, &BackupOpIntegrationSuite{ + Suite: tester.NewIntegrationSuite( + t, + [][]string{tester.AWSStorageCredEnvs, tester.M365AcctCredEnvs}, + tester.CorsoOperationTests, + tester.CorsoOperationBackupTests), + }) } func (suite *BackupOpIntegrationSuite) SetupSuite() { - tester.MustGetEnvSets(suite.T(), tester.AWSStorageCredEnvs, tester.M365AcctCredEnvs) - suite.user = tester.M365UserID(suite.T()) suite.site = tester.M365SiteID(suite.T()) } @@ -491,7 +489,7 @@ func (suite *BackupOpIntegrationSuite) TestNewBackupOperation() { {"missing modelstore", control.Options{}, kw, nil, acct, nil, assert.Error}, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { ctx, flush := tester.NewContext() defer flush() @@ -503,7 +501,7 @@ func (suite *BackupOpIntegrationSuite) TestNewBackupOperation() { test.acct, selectors.Selector{DiscreteOwner: "test"}, evmock.NewBus()) - test.errCheck(t, err) + test.errCheck(suite.T(), err) }) } } @@ -567,8 +565,9 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchange() { }, } for _, test := range tests { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { var ( + t = suite.T() mb = evmock.NewBus() sel = test.selector().Selector ffs = control.Toggles{} @@ -1032,8 +1031,9 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() { }, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { var ( + t = suite.T() incMB = evmock.NewBus() incBO = newTestBackupOp(t, ctx, kw, ms, acct, sel.Selector, incMB, ffs, closer) ) diff --git a/src/internal/operations/backup_test.go b/src/internal/operations/backup_test.go index 6613f116b..7ccdeaeb0 100644 --- a/src/internal/operations/backup_test.go +++ b/src/internal/operations/backup_test.go @@ -357,11 +357,11 @@ func makeManifest(t *testing.T, backupID model.StableID, incompleteReason string // --------------------------------------------------------------------------- type BackupOpSuite struct { - suite.Suite + tester.Suite } func TestBackupOpSuite(t *testing.T) { - suite.Run(t, new(BackupOpSuite)) + suite.Run(t, &BackupOpSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *BackupOpSuite) TestBackupOperation_PersistResults() { @@ -414,7 +414,8 @@ func (suite *BackupOpSuite) TestBackupOperation_PersistResults() { }, } for _, test := range table { - suite.T().Run(test.expectStatus.String(), func(t *testing.T) { + suite.Run(test.expectStatus.String(), func() { + t := suite.T() sel := selectors.Selector{} sel.DiscreteOwner = "bombadil" @@ -563,7 +564,9 @@ func (suite *BackupOpSuite) TestBackupOperation_ConsumeBackupDataCollections_Pat } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { + t := suite.T() + ctx, flush := tester.NewContext() defer flush() @@ -1210,7 +1213,9 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() { } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { + t := suite.T() + ctx, flush := tester.NewContext() defer flush() diff --git a/src/internal/operations/manifests_test.go b/src/internal/operations/manifests_test.go index 3e6b12307..62878fcaa 100644 --- a/src/internal/operations/manifests_test.go +++ b/src/internal/operations/manifests_test.go @@ -66,11 +66,11 @@ func (mc mockColl) FullPath() path.Path { // --------------------------------------------------------------------------- type OperationsManifestsUnitSuite struct { - suite.Suite + tester.Suite } func TestOperationsManifestsUnitSuite(t *testing.T) { - suite.Run(t, new(OperationsManifestsUnitSuite)) + suite.Run(t, &OperationsManifestsUnitSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() { @@ -212,7 +212,9 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() { }, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { + t := suite.T() + ctx, flush := tester.NewContext() defer flush() @@ -387,12 +389,12 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() { }, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { ctx, flush := tester.NewContext() defer flush() err := verifyDistinctBases(ctx, test.mans, fault.New(true)) - test.expect(t, err) + test.expect(suite.T(), err) }) } } @@ -633,7 +635,9 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() { }, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { + t := suite.T() + ctx, flush := tester.NewContext() defer flush() @@ -697,11 +701,11 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() { // --------------------------------------------------------------------------- type BackupManifestSuite struct { - suite.Suite + tester.Suite } func TestBackupManifestSuite(t *testing.T) { - suite.Run(t, new(BackupOpSuite)) + suite.Run(t, &BackupOpSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() { @@ -829,11 +833,11 @@ func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() { } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { ctx, flush := tester.NewContext() defer flush() - test.errCheck(t, verifyDistinctBases(ctx, test.input, fault.New(true))) + test.errCheck(suite.T(), verifyDistinctBases(ctx, test.input, fault.New(true))) }) } } @@ -945,7 +949,9 @@ func (suite *BackupManifestSuite) TestBackupOperation_CollectMetadata() { } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { + t := suite.T() + ctx, flush := tester.NewContext() defer flush() diff --git a/src/internal/operations/operation_test.go b/src/internal/operations/operation_test.go index 5c1922646..f7ebafd79 100644 --- a/src/internal/operations/operation_test.go +++ b/src/internal/operations/operation_test.go @@ -9,16 +9,17 @@ import ( "github.com/alcionai/corso/src/internal/events" "github.com/alcionai/corso/src/internal/kopia" + "github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/corso/src/pkg/store" ) type OperationSuite struct { - suite.Suite + tester.Suite } func TestOperationSuite(t *testing.T) { - suite.Run(t, new(OperationSuite)) + suite.Run(t, &OperationSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *OperationSuite) TestNewOperation() { @@ -42,9 +43,9 @@ func (suite *OperationSuite) TestOperation_Validate() { {"missing store wrapper", kwStub, nil, assert.Error}, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { op := newOperation(control.Options{}, events.Bus{}, test.kw, test.sw) - test.errCheck(t, op.validate()) + test.errCheck(suite.T(), op.validate()) }) } } diff --git a/src/internal/operations/restore_test.go b/src/internal/operations/restore_test.go index 42c78bbbe..cb72cd34a 100644 --- a/src/internal/operations/restore_test.go +++ b/src/internal/operations/restore_test.go @@ -30,11 +30,11 @@ import ( // --------------------------------------------------------------------------- type RestoreOpSuite struct { - suite.Suite + tester.Suite } func TestRestoreOpSuite(t *testing.T) { - suite.Run(t, new(RestoreOpSuite)) + suite.Run(t, &RestoreOpSuite{Suite: tester.NewUnitSuite(t)}) } func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() { @@ -93,7 +93,9 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() { }, } for _, test := range table { - suite.T().Run(test.expectStatus.String(), func(t *testing.T) { + suite.Run(test.expectStatus.String(), func() { + t := suite.T() + op, err := NewRestoreOperation( ctx, control.Options{}, @@ -125,7 +127,7 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() { // --------------------------------------------------------------------------- type RestoreOpIntegrationSuite struct { - suite.Suite + tester.Suite backupID model.StableID numItems int @@ -136,20 +138,18 @@ type RestoreOpIntegrationSuite struct { } func TestRestoreOpIntegrationSuite(t *testing.T) { - tester.RunOnAny( - t, - tester.CorsoCITests, - tester.CorsoOperationTests) - - suite.Run(t, new(RestoreOpIntegrationSuite)) + suite.Run(t, &RestoreOpIntegrationSuite{ + Suite: tester.NewIntegrationSuite( + t, + [][]string{tester.AWSStorageCredEnvs, tester.M365AcctCredEnvs}, + tester.CorsoOperationTests), + }) } func (suite *RestoreOpIntegrationSuite) SetupSuite() { ctx, flush := tester.NewContext() defer flush() - tester.MustGetEnvSets(suite.T(), tester.M365AcctCredEnvs) - t := suite.T() m365UserID := tester.M365UserID(t) @@ -243,7 +243,7 @@ func (suite *RestoreOpIntegrationSuite) TestNewRestoreOperation() { {"missing modelstore", control.Options{}, kw, nil, acct, nil, assert.Error}, } for _, test := range table { - suite.T().Run(test.name, func(t *testing.T) { + suite.Run(test.name, func() { ctx, flush := tester.NewContext() defer flush() @@ -257,7 +257,7 @@ func (suite *RestoreOpIntegrationSuite) TestNewRestoreOperation() { selectors.Selector{DiscreteOwner: "test"}, dest, evmock.NewBus()) - test.errCheck(t, err) + test.errCheck(suite.T(), err) }) } } diff --git a/src/internal/streamstore/streamstore_test.go b/src/internal/streamstore/streamstore_test.go index c49dad147..7223ce61c 100644 --- a/src/internal/streamstore/streamstore_test.go +++ b/src/internal/streamstore/streamstore_test.go @@ -15,12 +15,15 @@ import ( ) type StreamStoreIntegrationSuite struct { - suite.Suite + tester.Suite } func TestStreamStoreIntegrationSuite(t *testing.T) { - tester.RunOnAny(t, tester.CorsoCITests) - suite.Run(t, new(StreamStoreIntegrationSuite)) + suite.Run(t, &StreamStoreIntegrationSuite{ + Suite: tester.NewIntegrationSuite( + t, + [][]string{tester.AWSStorageCredEnvs}), + }) } func (suite *StreamStoreIntegrationSuite) TestDetails() {