Share count bus between graph clients and backup/restore operations (#4605)
<!-- PR description--> With #4497 changes, any counters that we log in graph middlewares ( e.g. `APICallTokensConsumed` or `ThrottledAPICalls`) will no longer show up in `BackupOperation.Results.Counts`. This is because graph adapters and backup operation will be initialized with different count busses. Since the backup result counts are captured from the operation bus, we will lose out on any graph metrics captured in middleware layers. This PR unifies the busses. Ill also add a regression check for graph metrics shortly --- #### 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 <!--- Please check the type of change your PR introduces: ---> - [ ] 🌻 Feature - [x] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [ ] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Issue(s) <!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. --> * #<issue> #### Test Plan <!-- How will this be tested prior to merging.--> - [x] 💪 Manual - [ ] ⚡ Unit test - [ ] 💚 E2E
This commit is contained in:
parent
ea308055eb
commit
ea6a57b2a5
@ -204,7 +204,9 @@ func internalMiddleware(
|
||||
&LoggingMiddleware{},
|
||||
throttler,
|
||||
&RateLimiterMiddleware{},
|
||||
&MetricsMiddleware{},
|
||||
&MetricsMiddleware{
|
||||
counter: counter,
|
||||
},
|
||||
}
|
||||
|
||||
if len(cc.appendMiddleware) > 0 {
|
||||
|
||||
@ -306,7 +306,9 @@ func kiotaMiddlewares(
|
||||
mw,
|
||||
throttler,
|
||||
&RateLimiterMiddleware{},
|
||||
&MetricsMiddleware{})
|
||||
&MetricsMiddleware{
|
||||
counter: counter,
|
||||
})
|
||||
|
||||
if len(cc.appendMiddleware) > 0 {
|
||||
mw = append(mw, cc.appendMiddleware...)
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
@ -239,6 +241,7 @@ func (suite *ExchangeBackupIntgSuite) TestBackup_Run_exchangeBasic_groups9Versio
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
sel = selectors.NewExchangeBackup([]string{suite.its.user.ID})
|
||||
opts = control.DefaultOptions()
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
@ -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
|
||||
@ -913,13 +920,14 @@ func testExchangeContinuousBackups(suite *ExchangeBackupIntgSuite, toggles contr
|
||||
var (
|
||||
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()
|
||||
@ -1044,10 +1052,11 @@ func (suite *ExchangeRestoreNightlyIntgSuite) TestRestore_Run_exchangeWithAdvanc
|
||||
|
||||
var (
|
||||
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)
|
||||
@ -1354,10 +1363,11 @@ func (suite *ExchangeRestoreNightlyIntgSuite) TestRestore_Run_exchangeAlternateP
|
||||
|
||||
var (
|
||||
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)
|
||||
|
||||
@ -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)
|
||||
@ -255,6 +260,7 @@ func (suite *GroupsBackupIntgSuite) TestBackup_Run_groupsExtensions() {
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
sel = selectors.NewGroupsBackup([]string{suite.its.group.ID})
|
||||
opts = control.DefaultOptions()
|
||||
tenID = tconfig.M365TenantID(t)
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -73,6 +73,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDrive() {
|
||||
var (
|
||||
tenID = tconfig.M365TenantID(t)
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
userID = tconfig.SecondaryM365UserID(t)
|
||||
osel = selectors.NewOneDriveBackup([]string{userID})
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
@ -82,7 +83,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDrive() {
|
||||
|
||||
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)
|
||||
@ -118,6 +119,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveBasic_groups9Versio
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
userID = tconfig.SecondaryM365UserID(t)
|
||||
osel = selectors.NewOneDriveBackup([]string{userID})
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
@ -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)
|
||||
@ -285,6 +290,7 @@ func runDriveIncrementalTest(
|
||||
acct = tconfig.NewM365Account(t)
|
||||
opts = control.DefaultOptions()
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
|
||||
// `now` has to be formatted with SimpleDateTimeTesting as
|
||||
@ -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
|
||||
@ -827,12 +833,14 @@ func runDriveIncrementalTest(
|
||||
var (
|
||||
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() {
|
||||
@ -1036,6 +1046,7 @@ func runDriveAssistBaseGroupsUpdate(
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
opts = control.DefaultOptions()
|
||||
)
|
||||
|
||||
@ -1044,7 +1055,8 @@ func runDriveAssistBaseGroupsUpdate(
|
||||
ctx,
|
||||
bod,
|
||||
mb,
|
||||
opts)
|
||||
opts,
|
||||
counter)
|
||||
forcedFull.BackupVersion = version.Groups9Update
|
||||
|
||||
runAndCheckBackup(t, ctx, &forcedFull, mb, false)
|
||||
@ -1109,6 +1121,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveOwnerMigration() {
|
||||
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(
|
||||
@ -1236,6 +1249,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveExtensions() {
|
||||
var (
|
||||
tenID = tconfig.M365TenantID(t)
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
userID = tconfig.SecondaryM365UserID(t)
|
||||
osel = selectors.NewOneDriveBackup([]string{userID})
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
@ -1247,7 +1261,7 @@ func (suite *OneDriveBackupIntgSuite) TestBackup_Run_oneDriveExtensions() {
|
||||
|
||||
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)
|
||||
@ -1327,10 +1341,11 @@ func runDriveRestoreWithAdvancedOptions(
|
||||
|
||||
var (
|
||||
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)
|
||||
@ -1599,10 +1614,11 @@ func runDriveRestoreToAlternateProtectedResource(
|
||||
|
||||
var (
|
||||
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)
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -54,6 +54,7 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic_groups9Ve
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
sel = selectors.NewSharePointBackup([]string{suite.its.site.ID})
|
||||
opts = control.DefaultOptions()
|
||||
ws = deeTD.DriveIDFromRepoRef
|
||||
@ -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)
|
||||
@ -208,13 +212,14 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointBasic() {
|
||||
|
||||
var (
|
||||
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)
|
||||
@ -237,6 +242,7 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointExtensions() {
|
||||
|
||||
var (
|
||||
mb = evmock.NewBus()
|
||||
counter = count.New()
|
||||
sel = selectors.NewSharePointBackup([]string{suite.its.site.ID})
|
||||
opts = control.DefaultOptions()
|
||||
tenID = tconfig.M365TenantID(t)
|
||||
@ -248,7 +254,7 @@ func (suite *SharePointBackupIntgSuite) TestBackup_Run_sharePointExtensions() {
|
||||
|
||||
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)
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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")
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user