diff --git a/src/internal/m365/graph/http_wrapper.go b/src/internal/m365/graph/http_wrapper.go index 0b5b17b5d..b03e8a3e9 100644 --- a/src/internal/m365/graph/http_wrapper.go +++ b/src/internal/m365/graph/http_wrapper.go @@ -204,7 +204,9 @@ func internalMiddleware( &LoggingMiddleware{}, throttler, &RateLimiterMiddleware{}, - &MetricsMiddleware{}, + &MetricsMiddleware{ + counter: counter, + }, } if len(cc.appendMiddleware) > 0 { diff --git a/src/internal/m365/graph/service.go b/src/internal/m365/graph/service.go index d48b1577a..3a0b6ce38 100644 --- a/src/internal/m365/graph/service.go +++ b/src/internal/m365/graph/service.go @@ -306,7 +306,9 @@ func kiotaMiddlewares( mw, throttler, &RateLimiterMiddleware{}, - &MetricsMiddleware{}) + &MetricsMiddleware{ + counter: counter, + }) if len(cc.appendMiddleware) > 0 { mw = append(mw, cc.appendMiddleware...) diff --git a/src/internal/operations/backup.go b/src/internal/operations/backup.go index 937e6733d..1eb6b0f7c 100644 --- a/src/internal/operations/backup.go +++ b/src/internal/operations/backup.go @@ -83,9 +83,10 @@ func NewBackupOperation( selector selectors.Selector, owner idname.Provider, bus events.Eventer, + counter *count.Bus, ) (BackupOperation, error) { op := BackupOperation{ - operation: newOperation(opts, bus, count.New(), kw, sw), + operation: newOperation(opts, bus, counter, kw, sw), ResourceOwner: owner, Selectors: selector, Version: "v0", diff --git a/src/internal/operations/backup_test.go b/src/internal/operations/backup_test.go index d8286c60e..ab24e33be 100644 --- a/src/internal/operations/backup_test.go +++ b/src/internal/operations/backup_test.go @@ -429,7 +429,8 @@ func (suite *BackupOpUnitSuite) TestBackupOperation_PersistResults() { acct, sel, sel, - evmock.NewBus()) + evmock.NewBus(), + count.New()) require.NoError(t, err, clues.ToCore(err)) op.Errors.Fail(test.fail) @@ -1487,7 +1488,8 @@ func (suite *BackupOpIntegrationSuite) TestNewBackupOperation() { test.acct, sel, sel, - evmock.NewBus()) + evmock.NewBus(), + count.New()) test.errCheck(t, err, clues.ToCore(err)) }) } @@ -1930,7 +1932,8 @@ func (suite *AssistBackupIntegrationSuite) TestBackupTypesForFailureModes() { acct, osel.Selector, selectors.Selector{DiscreteOwner: userID}, - evmock.NewBus()) + evmock.NewBus(), + count.New()) require.NoError(t, err, clues.ToCore(err)) err = bo.Run(ctx) @@ -2245,7 +2248,8 @@ func (suite *AssistBackupIntegrationSuite) TestExtensionsIncrementals() { acct, osel.Selector, selectors.Selector{DiscreteOwner: userID}, - evmock.NewBus()) + evmock.NewBus(), + count.New()) require.NoError(t, err, clues.ToCore(err)) err = bo.Run(ctx) diff --git a/src/internal/operations/maintenance_test.go b/src/internal/operations/maintenance_test.go index 9959e8fb6..26657e755 100644 --- a/src/internal/operations/maintenance_test.go +++ b/src/internal/operations/maintenance_test.go @@ -26,6 +26,7 @@ import ( "github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/corso/src/pkg/control/repository" + "github.com/alcionai/corso/src/pkg/count" "github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/corso/src/pkg/selectors" selTD "github.com/alcionai/corso/src/pkg/selectors/testdata" @@ -181,7 +182,8 @@ func (suite *MaintenanceOpNightlySuite) TestRepoMaintenance_GarbageCollection() acct, osel.Selector, selectors.Selector{DiscreteOwner: userID}, - evmock.NewBus()) + evmock.NewBus(), + count.New()) require.NoError(t, err, clues.ToCore(err)) err = bo.Run(ctx) diff --git a/src/internal/operations/test/exchange_test.go b/src/internal/operations/test/exchange_test.go index f9ca1d767..56ac8ac98 100644 --- a/src/internal/operations/test/exchange_test.go +++ b/src/internal/operations/test/exchange_test.go @@ -118,12 +118,13 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchange() { var ( mb = evmock.NewBus() + counter = count.New() sel = test.selector().Selector opts = control.DefaultOptions() whatSet = deeTD.CategoryFromRepoRef ) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup, counter) defer bod.close(t, ctx) sel = bod.sel @@ -185,7 +186,8 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchange() { ctx, bod, incMB, - opts) + opts, + counter) ) runAndCheckBackup(t, ctx, &incBO, incMB, true) @@ -238,10 +240,11 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchangeBasic_groups9Versio defer flush() var ( - mb = evmock.NewBus() - sel = selectors.NewExchangeBackup([]string{suite.its.user.ID}) - opts = control.DefaultOptions() - ws = deeTD.DriveIDFromRepoRef + mb = evmock.NewBus() + counter = count.New() + sel = selectors.NewExchangeBackup([]string{suite.its.user.ID}) + opts = control.DefaultOptions() + ws = deeTD.DriveIDFromRepoRef ) sel.Include( @@ -255,7 +258,8 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchangeBasic_groups9Versio mb, sel.Selector, opts, - version.All8MigrateUserPNToID) + version.All8MigrateUserPNToID, + counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -290,12 +294,14 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchangeBasic_groups9Versio false) mb = evmock.NewBus() + counter = count.New() notForcedFull := newTestBackupOp( t, ctx, bod, mb, - opts) + opts, + counter) notForcedFull.BackupVersion = version.Groups9Update runAndCheckBackup(t, ctx, ¬ForcedFull, mb, false) @@ -357,6 +363,7 @@ func testExchangeContinuousBackups(suite *ExchangeBackupIntgSuite, toggles contr var ( acct = tconfig.NewM365Account(t) mb = evmock.NewBus() + counter = count.New() now = dttm.Now() service = path.ExchangeService categories = map[path.CategoryType][][]string{ @@ -379,7 +386,7 @@ func testExchangeContinuousBackups(suite *ExchangeBackupIntgSuite, toggles contr ) opts.ToggleFeatures = toggles - ctrl, sels := ControllerWithSelector(t, ctx, acct, sel.Selector, nil, nil) + ctrl, sels := ControllerWithSelector(t, ctx, acct, sel.Selector, nil, nil, counter) sel.DiscreteOwner = sels.ID() sel.DiscreteOwnerName = sels.Name() @@ -578,7 +585,7 @@ func testExchangeContinuousBackups(suite *ExchangeBackupIntgSuite, toggles contr } } - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) // run the initial backup @@ -911,15 +918,16 @@ func testExchangeContinuousBackups(suite *ExchangeBackupIntgSuite, toggles contr for _, test := range table { suite.Run(test.name, func() { var ( - t = suite.T() - incMB = evmock.NewBus() - atid = creds.AzureTenantID + t = suite.T() + incMB = evmock.NewBus() + counter = count.New() + atid = creds.AzureTenantID ) ctx, flush := tester.WithContext(t, ctx) defer flush() - incBO := newTestBackupOp(t, ctx, bod, incMB, opts) + incBO := newTestBackupOp(t, ctx, bod, incMB, opts, counter) suite.Run("PreTestSetup", func() { t := suite.T() @@ -1043,11 +1051,12 @@ func (suite *ExchangeRestoreNightlyIntgSuite) TestRestore_Run_exchangeWithAdvanc baseSel.DiscreteOwner = suite.its.user.ID var ( - mb = evmock.NewBus() - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + opts = control.DefaultOptions() ) - bo, bod := prepNewTestBackupOp(t, ctx, mb, baseSel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, baseSel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -1353,11 +1362,12 @@ func (suite *ExchangeRestoreNightlyIntgSuite) TestRestore_Run_exchangeAlternateP baseSel.DiscreteOwner = suite.its.user.ID var ( - mb = evmock.NewBus() - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + opts = control.DefaultOptions() ) - bo, bod := prepNewTestBackupOp(t, ctx, mb, baseSel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, baseSel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) diff --git a/src/internal/operations/test/group_test.go b/src/internal/operations/test/group_test.go index 5c1b1dcd5..81c083882 100644 --- a/src/internal/operations/test/group_test.go +++ b/src/internal/operations/test/group_test.go @@ -88,6 +88,7 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsBasic_groups9VersionBum var ( mb = evmock.NewBus() + counter = count.New() sel = selectors.NewGroupsBackup([]string{suite.its.group.ID}) opts = control.DefaultOptions() whatSet = deeTD.CategoryFromRepoRef @@ -103,7 +104,8 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsBasic_groups9VersionBum mb, sel.Selector, opts, - version.All8MigrateUserPNToID) + version.All8MigrateUserPNToID, + counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -138,12 +140,14 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsBasic_groups9VersionBum false) mb = evmock.NewBus() + counter = count.New() forcedFull := newTestBackupOp( t, ctx, bod, mb, - opts) + opts, + counter) forcedFull.BackupVersion = version.Groups9Update runAndCheckBackup(t, ctx, &forcedFull, mb, false) @@ -203,6 +207,7 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsBasic() { var ( mb = evmock.NewBus() + counter = count.New() sel = selectors.NewGroupsBackup([]string{suite.its.group.ID}) opts = control.DefaultOptions() whatSet = deeTD.CategoryFromRepoRef @@ -212,7 +217,7 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsBasic() { selTD.GroupsBackupLibraryFolderScope(sel), selTD.GroupsBackupChannelScope(sel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -254,12 +259,13 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsExtensions() { defer flush() var ( - mb = evmock.NewBus() - sel = selectors.NewGroupsBackup([]string{suite.its.group.ID}) - opts = control.DefaultOptions() - tenID = tconfig.M365TenantID(t) - svc = path.GroupsService - ws = deeTD.DriveIDFromRepoRef + mb = evmock.NewBus() + counter = count.New() + sel = selectors.NewGroupsBackup([]string{suite.its.group.ID}) + opts = control.DefaultOptions() + tenID = tconfig.M365TenantID(t) + svc = path.GroupsService + ws = deeTD.DriveIDFromRepoRef ) opts.ItemExtensionFactory = getTestExtensionFactories() @@ -267,7 +273,7 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsExtensions() { // does not apply to channel messages sel.Include(selTD.GroupsBackupLibraryFolderScope(sel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) diff --git a/src/internal/operations/test/helper_test.go b/src/internal/operations/test/helper_test.go index 0d7ca3751..a36ef94c5 100644 --- a/src/internal/operations/test/helper_test.go +++ b/src/internal/operations/test/helper_test.go @@ -115,6 +115,7 @@ func prepNewTestBackupOp( sel selectors.Selector, opts control.Options, backupVersion int, + counter *count.Bus, ) ( operations.BackupOperation, *backupOpDependencies, @@ -161,14 +162,16 @@ func prepNewTestBackupOp( bod.acct, sel, nil, - bod.close) + bod.close, + counter) bo := newTestBackupOp( t, ctx, bod, bus, - opts) + opts, + counter) bo.BackupVersion = backupVersion bod.sss = streamstore.NewStreamer( @@ -189,6 +192,7 @@ func newTestBackupOp( bod *backupOpDependencies, bus events.Eventer, opts control.Options, + counter *count.Bus, ) operations.BackupOperation { bod.ctrl.IDNameLookup = idname.NewCache(map[string]string{bod.sel.ID(): bod.sel.Name()}) @@ -201,7 +205,8 @@ func newTestBackupOp( bod.acct, bod.sel, bod.sel, - bus) + bus, + counter) if !assert.NoError(t, err, clues.ToCore(err)) { bod.close(t, ctx) t.FailNow() @@ -561,13 +566,14 @@ func ControllerWithSelector( sel selectors.Selector, ins idname.Cacher, onFail func(*testing.T, context.Context), + counter *count.Bus, ) (*m365.Controller, selectors.Selector) { ctrl, err := m365.NewController( ctx, acct, sel.PathService(), control.DefaultOptions(), - count.New()) + counter) if !assert.NoError(t, err, clues.ToCore(err)) { if onFail != nil { onFail(t, ctx) diff --git a/src/internal/operations/test/onedrive_test.go b/src/internal/operations/test/onedrive_test.go index f3419661d..bccccec30 100644 --- a/src/internal/operations/test/onedrive_test.go +++ b/src/internal/operations/test/onedrive_test.go @@ -71,18 +71,19 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDrive() { defer flush() var ( - tenID = tconfig.M365TenantID(t) - mb = evmock.NewBus() - userID = tconfig.SecondaryM365UserID(t) - osel = selectors.NewOneDriveBackup([]string{userID}) - ws = deeTD.DriveIDFromRepoRef - svc = path.OneDriveService - opts = control.DefaultOptions() + tenID = tconfig.M365TenantID(t) + mb = evmock.NewBus() + counter = count.New() + userID = tconfig.SecondaryM365UserID(t) + osel = selectors.NewOneDriveBackup([]string{userID}) + ws = deeTD.DriveIDFromRepoRef + svc = path.OneDriveService + opts = control.DefaultOptions() ) osel.Include(selTD.OneDriveBackupFolderScope(osel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, osel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, osel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -117,11 +118,12 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveBasic_groups9Versio defer flush() var ( - mb = evmock.NewBus() - userID = tconfig.SecondaryM365UserID(t) - osel = selectors.NewOneDriveBackup([]string{userID}) - ws = deeTD.DriveIDFromRepoRef - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + userID = tconfig.SecondaryM365UserID(t) + osel = selectors.NewOneDriveBackup([]string{userID}) + ws = deeTD.DriveIDFromRepoRef + opts = control.DefaultOptions() ) osel.Include(selTD.OneDriveBackupFolderScope(osel)) @@ -132,7 +134,8 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveBasic_groups9Versio mb, osel.Selector, opts, - version.All8MigrateUserPNToID) + version.All8MigrateUserPNToID, + counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -167,12 +170,14 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveBasic_groups9Versio false) mb = evmock.NewBus() + counter = count.New() notForcedFull := newTestBackupOp( t, ctx, bod, mb, - opts) + opts, + counter) notForcedFull.BackupVersion = version.Groups9Update runAndCheckBackup(t, ctx, ¬ForcedFull, mb, false) @@ -282,10 +287,11 @@ func runDriveIncrementalTest( defer flush() var ( - acct = tconfig.NewM365Account(t) - opts = control.DefaultOptions() - mb = evmock.NewBus() - ws = deeTD.DriveIDFromRepoRef + acct = tconfig.NewM365Account(t) + opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + ws = deeTD.DriveIDFromRepoRef // `now` has to be formatted with SimpleDateTimeTesting as // some drives cannot have `:` in file/folder names @@ -315,7 +321,7 @@ func runDriveIncrementalTest( creds, err := acct.M365Config() require.NoError(t, err, clues.ToCore(err)) - ctrl, sel := ControllerWithSelector(t, ctx, acct, sel, nil, nil) + ctrl, sel := ControllerWithSelector(t, ctx, acct, sel, nil, nil, counter) ac := ctrl.AC.Drives() rh := getRestoreHandler(ctrl.AC) @@ -436,7 +442,7 @@ func runDriveIncrementalTest( locRef) } - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup, counter) defer bod.close(t, ctx) sel = bod.sel @@ -825,14 +831,16 @@ func runDriveIncrementalTest( bod.ctrl = cleanCtrl var ( - t = suite.T() - incMB = evmock.NewBus() - incBO = newTestBackupOp( + t = suite.T() + incMB = evmock.NewBus() + counter = count.New() + incBO = newTestBackupOp( t, ctx, bod, incMB, - opts) + opts, + counter) ) ctx, flush := tester.WithContext(t, ctx) @@ -986,6 +994,7 @@ func runDriveAssistBaseGroupsUpdate( var ( whatSet = deeTD.CategoryFromRepoRef mb = evmock.NewBus() + counter = count.New() opts = control.DefaultOptions() ) @@ -1001,7 +1010,8 @@ func runDriveAssistBaseGroupsUpdate( mb, sel, opts, - version.All8MigrateUserPNToID) + version.All8MigrateUserPNToID, + counter) defer bod.close(t, ctx) suite.Run("makeAssistBackup", func() { @@ -1035,8 +1045,9 @@ func runDriveAssistBaseGroupsUpdate( defer flush() var ( - mb = evmock.NewBus() - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + opts = control.DefaultOptions() ) forcedFull := newTestBackupOp( @@ -1044,7 +1055,8 @@ func runDriveAssistBaseGroupsUpdate( ctx, bod, mb, - opts) + opts, + counter) forcedFull.BackupVersion = version.Groups9Update runAndCheckBackup(t, ctx, &forcedFull, mb, false) @@ -1106,9 +1118,10 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveOwnerMigration() { defer flush() var ( - acct = tconfig.NewM365Account(t) - opts = control.DefaultOptions() - mb = evmock.NewBus() + acct = tconfig.NewM365Account(t) + opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() categories = map[path.CategoryType][][]string{ path.FilesCategory: {{bupMD.DeltaURLsFileName}, {bupMD.PreviousPathFileName}}, @@ -1123,7 +1136,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveOwnerMigration() { acct, path.OneDriveService, control.DefaultOptions(), - count.New()) + counter) require.NoError(t, err, clues.ToCore(err)) userable, err := ctrl.AC.Users().GetByID(ctx, suite.its.user.ID) @@ -1135,7 +1148,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveOwnerMigration() { oldsel := selectors.NewOneDriveBackup([]string{uname}) oldsel.Include(selTD.OneDriveBackupFolderScope(oldsel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, oldsel.Selector, opts, 0) + bo, bod := prepNewTestBackupOp(t, ctx, mb, oldsel.Selector, opts, 0, counter) defer bod.close(t, ctx) sel := bod.sel @@ -1163,7 +1176,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveOwnerMigration() { var ( incMB = evmock.NewBus() // the incremental backup op should have a proper user ID for the id. - incBO = newTestBackupOp(t, ctx, bod, incMB, opts) + incBO = newTestBackupOp(t, ctx, bod, incMB, opts, counter) ) require.NotEqualf( @@ -1234,20 +1247,21 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveExtensions() { defer flush() var ( - tenID = tconfig.M365TenantID(t) - mb = evmock.NewBus() - userID = tconfig.SecondaryM365UserID(t) - osel = selectors.NewOneDriveBackup([]string{userID}) - ws = deeTD.DriveIDFromRepoRef - svc = path.OneDriveService - opts = control.DefaultOptions() + tenID = tconfig.M365TenantID(t) + mb = evmock.NewBus() + counter = count.New() + userID = tconfig.SecondaryM365UserID(t) + osel = selectors.NewOneDriveBackup([]string{userID}) + ws = deeTD.DriveIDFromRepoRef + svc = path.OneDriveService + opts = control.DefaultOptions() ) opts.ItemExtensionFactory = getTestExtensionFactories() osel.Include(selTD.OneDriveBackupFolderScope(osel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, osel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, osel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -1326,11 +1340,12 @@ func runDriveRestoreWithAdvancedOptions( // a backup is required to run restores var ( - mb = evmock.NewBus() - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + opts = control.DefaultOptions() ) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -1598,11 +1613,12 @@ func runDriveRestoreToAlternateProtectedResource( // a backup is required to run restores var ( - mb = evmock.NewBus() - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + opts = control.DefaultOptions() ) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) diff --git a/src/internal/operations/test/restore_helper_test.go b/src/internal/operations/test/restore_helper_test.go index b57ee3aa4..36356fdd2 100644 --- a/src/internal/operations/test/restore_helper_test.go +++ b/src/internal/operations/test/restore_helper_test.go @@ -68,7 +68,7 @@ func prepNewTestRestoreOp( backupStore storage.Storage, backupID model.StableID, bus events.Eventer, - ctr *count.Bus, + counter *count.Bus, sel selectors.Selector, opts control.Options, restoreCfg control.RestoreConfig, @@ -112,7 +112,8 @@ func prepNewTestRestoreOp( rod.acct, sel, nil, - rod.close) + rod.close, + counter) ro := newTestRestoreOp( t, @@ -120,7 +121,7 @@ func prepNewTestRestoreOp( rod, backupID, bus, - ctr, + counter, opts, restoreCfg) @@ -142,7 +143,7 @@ func newTestRestoreOp( rod *restoreOpDependencies, backupID model.StableID, bus events.Eventer, - ctr *count.Bus, + counter *count.Bus, opts control.Options, restoreCfg control.RestoreConfig, ) operations.RestoreOperation { @@ -159,7 +160,7 @@ func newTestRestoreOp( rod.sel, restoreCfg, bus, - ctr) + counter) if !assert.NoError(t, err, clues.ToCore(err)) { rod.close(t, ctx) t.FailNow() diff --git a/src/internal/operations/test/sharepoint_test.go b/src/internal/operations/test/sharepoint_test.go index 28306cd57..e6a7fc8cf 100644 --- a/src/internal/operations/test/sharepoint_test.go +++ b/src/internal/operations/test/sharepoint_test.go @@ -53,10 +53,11 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic_groups9Ve defer flush() var ( - mb = evmock.NewBus() - sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) - opts = control.DefaultOptions() - ws = deeTD.DriveIDFromRepoRef + mb = evmock.NewBus() + counter = count.New() + sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) + opts = control.DefaultOptions() + ws = deeTD.DriveIDFromRepoRef ) sel.Include(selTD.SharePointBackupFolderScope(sel)) @@ -67,7 +68,8 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic_groups9Ve mb, sel.Selector, opts, - version.All8MigrateUserPNToID) + version.All8MigrateUserPNToID, + counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -102,12 +104,14 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic_groups9Ve false) mb = evmock.NewBus() + counter = count.New() notForcedFull := newTestBackupOp( t, ctx, bod, mb, - opts) + opts, + counter) notForcedFull.BackupVersion = version.Groups9Update runAndCheckBackup(t, ctx, ¬ForcedFull, mb, false) @@ -207,14 +211,15 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic() { defer flush() var ( - mb = evmock.NewBus() - sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) - opts = control.DefaultOptions() + mb = evmock.NewBus() + counter = count.New() + sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) + opts = control.DefaultOptions() ) sel.Include(selTD.SharePointBackupFolderScope(sel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -236,19 +241,20 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointExtensions() { defer flush() var ( - mb = evmock.NewBus() - sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) - opts = control.DefaultOptions() - tenID = tconfig.M365TenantID(t) - svc = path.SharePointService - ws = deeTD.DriveIDFromRepoRef + mb = evmock.NewBus() + counter = count.New() + sel = selectors.NewSharePointBackup([]string{suite.its.site.ID}) + opts = control.DefaultOptions() + tenID = tconfig.M365TenantID(t) + svc = path.SharePointService + ws = deeTD.DriveIDFromRepoRef ) opts.ItemExtensionFactory = getTestExtensionFactories() sel.Include(selTD.SharePointBackupFolderScope(sel)) - bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, sel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) @@ -385,6 +391,7 @@ func (suite *SharePointRestoreNightlyIntgSuite) TestRestore_Run_sharepointDelete // run a backup var ( mb = evmock.NewBus() + counter = count.New() opts = control.DefaultOptions() graphClient = suite.its.ac.Stable.Client() ) @@ -394,7 +401,7 @@ func (suite *SharePointRestoreNightlyIntgSuite) TestRestore_Run_sharepointDelete bsel.Filter(bsel.Library(rc.Location)) bsel.DiscreteOwner = suite.its.site.ID - bo, bod := prepNewTestBackupOp(t, ctx, mb, bsel.Selector, opts, version.Backup) + bo, bod := prepNewTestBackupOp(t, ctx, mb, bsel.Selector, opts, version.Backup, counter) defer bod.close(t, ctx) runAndCheckBackup(t, ctx, &bo, mb, false) diff --git a/src/pkg/repository/backups.go b/src/pkg/repository/backups.go index 51a5dee34..cdb381f75 100644 --- a/src/pkg/repository/backups.go +++ b/src/pkg/repository/backups.go @@ -93,7 +93,8 @@ func (r repository) NewBackupWithLookup( r.Account, sel, sel, // the selector acts as an IDNamer for its discrete resource owner. - r.Bus) + r.Bus, + r.counter) } // Backup retrieves a backup by id. diff --git a/src/pkg/repository/data_providers.go b/src/pkg/repository/data_providers.go index f57b70235..93a141fed 100644 --- a/src/pkg/repository/data_providers.go +++ b/src/pkg/repository/data_providers.go @@ -85,7 +85,7 @@ func connectToM365( r.Account, pst, r.Opts, - r.counter.Local()) + r.counter) if err != nil { return nil, clues.Wrap(err, "creating m365 client controller") }