extend, rather than replace, NewBackup (#3045)
--- #### Does this PR need a docs update or release note? - [x] ⛔ No #### Type of change - [x] 🌻 Feature #### Issue(s) * #2825 #### Test Plan - [x] 💪 Manual
This commit is contained in:
parent
0d521bb5a7
commit
7b8a00efc2
@ -208,7 +208,7 @@ func runBackups(
|
|||||||
ictx = clues.Add(ctx, "resource_owner", owner)
|
ictx = clues.Add(ctx, "resource_owner", owner)
|
||||||
)
|
)
|
||||||
|
|
||||||
bo, err := r.NewBackup(ictx, discSel, ins)
|
bo, err := r.NewBackupWithLookup(ictx, discSel, ins)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, clues.Wrap(err, owner).WithClues(ictx))
|
errs = append(errs, clues.Wrap(err, owner).WithClues(ictx))
|
||||||
Errf(ictx, "%v\n", err)
|
Errf(ictx, "%v\n", err)
|
||||||
|
|||||||
@ -330,7 +330,7 @@ func (suite *PreparedBackupExchangeE2ESuite) SetupSuite() {
|
|||||||
|
|
||||||
sel.Include(scopes)
|
sel.Include(scopes)
|
||||||
|
|
||||||
bop, err := suite.repo.NewBackup(ctx, sel.Selector, ins)
|
bop, err := suite.repo.NewBackupWithLookup(ctx, sel.Selector, ins)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
err = bop.Run(ctx)
|
err = bop.Run(ctx)
|
||||||
@ -555,7 +555,7 @@ func (suite *BackupDeleteExchangeE2ESuite) SetupSuite() {
|
|||||||
sel := selectors.NewExchangeBackup(users)
|
sel := selectors.NewExchangeBackup(users)
|
||||||
sel.Include(sel.MailFolders([]string{exchange.DefaultMailFolder}, selectors.PrefixMatch()))
|
sel.Include(sel.MailFolders([]string{exchange.DefaultMailFolder}, selectors.PrefixMatch()))
|
||||||
|
|
||||||
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector, nil)
|
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
err = suite.backupOp.Run(ctx)
|
err = suite.backupOp.Run(ctx)
|
||||||
|
|||||||
@ -221,7 +221,7 @@ func (suite *BackupDeleteOneDriveE2ESuite) SetupSuite() {
|
|||||||
sel := selectors.NewOneDriveBackup(users)
|
sel := selectors.NewOneDriveBackup(users)
|
||||||
sel.Include(sel.Folders(selectors.Any()))
|
sel.Include(sel.Folders(selectors.Any()))
|
||||||
|
|
||||||
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector, ins)
|
suite.backupOp, err = suite.repo.NewBackupWithLookup(ctx, sel.Selector, ins)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
err = suite.backupOp.Run(ctx)
|
err = suite.backupOp.Run(ctx)
|
||||||
|
|||||||
@ -173,7 +173,7 @@ func (suite *BackupDeleteSharePointE2ESuite) SetupSuite() {
|
|||||||
sel := selectors.NewSharePointBackup(sites)
|
sel := selectors.NewSharePointBackup(sites)
|
||||||
sel.Include(testdata.SharePointBackupFolderScope(sel))
|
sel.Include(testdata.SharePointBackupFolderScope(sel))
|
||||||
|
|
||||||
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector, ins)
|
suite.backupOp, err = suite.repo.NewBackupWithLookup(ctx, sel.Selector, ins)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
err = suite.backupOp.Run(ctx)
|
err = suite.backupOp.Run(ctx)
|
||||||
|
|||||||
@ -110,7 +110,7 @@ func (suite *RestoreExchangeE2ESuite) SetupSuite() {
|
|||||||
|
|
||||||
sel.Include(scopes)
|
sel.Include(scopes)
|
||||||
|
|
||||||
bop, err := suite.repo.NewBackup(ctx, sel.Selector, ins)
|
bop, err := suite.repo.NewBackupWithLookup(ctx, sel.Selector, ins)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
err = bop.Run(ctx)
|
err = bop.Run(ctx)
|
||||||
|
|||||||
@ -120,7 +120,7 @@ func runLoadTest(
|
|||||||
) {
|
) {
|
||||||
//revive:enable:context-as-argument
|
//revive:enable:context-as-argument
|
||||||
t.Run(prefix+"_load_test_main", func(t *testing.T) {
|
t.Run(prefix+"_load_test_main", func(t *testing.T) {
|
||||||
b, err := r.NewBackup(ctx, bupSel, nil)
|
b, err := r.NewBackup(ctx, bupSel)
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
runBackupLoadTest(t, ctx, &b, service, usersUnderTest)
|
runBackupLoadTest(t, ctx, &b, service, usersUnderTest)
|
||||||
|
|||||||
@ -59,6 +59,10 @@ type Repository interface {
|
|||||||
NewBackup(
|
NewBackup(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
self selectors.Selector,
|
self selectors.Selector,
|
||||||
|
) (operations.BackupOperation, error)
|
||||||
|
NewBackupWithLookup(
|
||||||
|
ctx context.Context,
|
||||||
|
self selectors.Selector,
|
||||||
ins common.IDNameSwapper,
|
ins common.IDNameSwapper,
|
||||||
) (operations.BackupOperation, error)
|
) (operations.BackupOperation, error)
|
||||||
NewRestore(
|
NewRestore(
|
||||||
@ -289,9 +293,17 @@ func (r *repository) Close(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewBackup generates a BackupOperation runner.
|
// NewBackup generates a BackupOperation runner.
|
||||||
|
func (r repository) NewBackup(
|
||||||
|
ctx context.Context,
|
||||||
|
sel selectors.Selector,
|
||||||
|
) (operations.BackupOperation, error) {
|
||||||
|
return r.NewBackupWithLookup(ctx, sel, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBackupWithLookup generates a BackupOperation runner.
|
||||||
// ownerIDToName and ownerNameToID are optional populations, in case the caller has
|
// ownerIDToName and ownerNameToID are optional populations, in case the caller has
|
||||||
// already generated those values.
|
// already generated those values.
|
||||||
func (r repository) NewBackup(
|
func (r repository) NewBackupWithLookup(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
sel selectors.Selector,
|
sel selectors.Selector,
|
||||||
ins common.IDNameSwapper,
|
ins common.IDNameSwapper,
|
||||||
|
|||||||
@ -198,7 +198,7 @@ func (suite *RepositoryIntegrationSuite) TestNewBackup() {
|
|||||||
r, err := repository.Initialize(ctx, acct, st, control.Options{})
|
r, err := repository.Initialize(ctx, acct, st, control.Options{})
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
bo, err := r.NewBackup(ctx, selectors.Selector{DiscreteOwner: "test"}, nil)
|
bo, err := r.NewBackup(ctx, selectors.Selector{DiscreteOwner: "test"})
|
||||||
require.NoError(t, err, clues.ToCore(err))
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
require.NotNil(t, bo)
|
require.NotNil(t, bo)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user