enable onedrive backup for single user (#2317)

## Description

unskips the backup load tests for a single user.
Also adds a wrapper to make toggling restore
load tests controllable for each test suite,
instead of a file-wide configuration.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #2279

## Test Plan

- [x] 💚 E2E
This commit is contained in:
Keepers 2023-01-30 18:23:08 -07:00 committed by GitHub
parent 2458508969
commit 48e6e8f08f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -114,6 +114,7 @@ func runLoadTest(
prefix, service string, prefix, service string,
usersUnderTest []string, usersUnderTest []string,
bupSel, restSel selectors.Selector, bupSel, restSel selectors.Selector,
runRestore bool,
) { ) {
//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) {
@ -126,12 +127,33 @@ func runLoadTest(
runBackupListLoadTest(t, ctx, r, service, bid) runBackupListLoadTest(t, ctx, r, service, bid)
runBackupDetailsLoadTest(t, ctx, r, service, bid, usersUnderTest) runBackupDetailsLoadTest(t, ctx, r, service, bid, usersUnderTest)
runRestoreLoadTest(t, ctx, r, prefix, service, bid, usersUnderTest, restSel, b, runRestore)
})
}
//revive:disable:context-as-argument
func runRestoreLoadTest(
t *testing.T,
ctx context.Context,
r repository.Repository,
prefix, service, backupID string,
usersUnderTest []string,
restSel selectors.Selector,
bup operations.BackupOperation,
runRestore bool,
) {
//revive:enable:context-as-argument
t.Run(prefix+"_load_test_restore", func(t *testing.T) {
if !runRestore {
t.Skip("restore load test is toggled off")
}
dest := tester.DefaultTestRestoreDestination() dest := tester.DefaultTestRestoreDestination()
rst, err := r.NewRestore(ctx, bid, restSel, dest) rst, err := r.NewRestore(ctx, backupID, restSel, dest)
require.NoError(t, err) require.NoError(t, err)
runRestoreLoadTest(t, ctx, rst, service, b.Results.ItemsWritten, usersUnderTest) doRestoreLoadTest(t, ctx, rst, service, bup.Results.ItemsWritten, usersUnderTest)
}) })
} }
@ -240,7 +262,7 @@ func runBackupDetailsLoadTest(
} }
//revive:disable:context-as-argument //revive:disable:context-as-argument
func runRestoreLoadTest( func doRestoreLoadTest(
t *testing.T, t *testing.T,
ctx context.Context, ctx context.Context,
r operations.RestoreOperation, r operations.RestoreOperation,
@ -408,6 +430,7 @@ func (suite *RepositoryLoadTestExchangeSuite) TestExchange() {
"all_users", "exchange", "all_users", "exchange",
suite.usersUnderTest, suite.usersUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
true,
) )
} }
@ -456,6 +479,7 @@ func (suite *RepositoryIndividualLoadTestExchangeSuite) TestExchange() {
"single_user", "exchange", "single_user", "exchange",
suite.usersUnderTest, suite.usersUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
true,
) )
} }
@ -504,6 +528,7 @@ func (suite *RepositoryLoadTestOneDriveSuite) TestOneDrive() {
"all_users", "one_drive", "all_users", "one_drive",
suite.usersUnderTest, suite.usersUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
false,
) )
} }
@ -523,7 +548,6 @@ func TestRepositoryIndividualLoadTestOneDriveSuite(t *testing.T) {
func (suite *RepositoryIndividualLoadTestOneDriveSuite) SetupSuite() { func (suite *RepositoryIndividualLoadTestOneDriveSuite) SetupSuite() {
t := suite.T() t := suite.T()
t.Skip("not running onedrive load tests atm")
t.Parallel() t.Parallel()
suite.ctx, suite.repo, suite.acct, suite.st = initM365Repo(t) suite.ctx, suite.repo, suite.acct, suite.st = initM365Repo(t)
suite.usersUnderTest = singleUserSet(t) suite.usersUnderTest = singleUserSet(t)
@ -548,6 +572,7 @@ func (suite *RepositoryIndividualLoadTestOneDriveSuite) TestOneDrive() {
"single_user", "one_drive", "single_user", "one_drive",
suite.usersUnderTest, suite.usersUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
false,
) )
} }
@ -596,6 +621,7 @@ func (suite *RepositoryLoadTestSharePointSuite) TestSharePoint() {
"all_sites", "share_point", "all_sites", "share_point",
suite.sitesUnderTest, suite.sitesUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
false,
) )
} }
@ -640,5 +666,6 @@ func (suite *RepositoryIndividualLoadTestSharePointSuite) TestSharePoint() {
"single_site", "share_point", "single_site", "share_point",
suite.sitesUnderTest, suite.sitesUnderTest,
sel, sel, // same selection for backup and restore sel, sel, // same selection for backup and restore
false,
) )
} }