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?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No 

## Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #2373

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
This commit is contained in:
ashmrtn 2023-02-24 18:13:50 -08:00 committed by GitHub
parent fce846a069
commit ac4d7d047a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 80 additions and 62 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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