From 88bcd053e524dd57a93199d54dfa57d7ebdedefe Mon Sep 17 00:00:00 2001 From: Vaibhav Kamra Date: Thu, 11 Aug 2022 19:49:22 -0700 Subject: [PATCH] Simplify test utilities (#532) --- src/cli/repo/s3_integration_test.go | 15 +- .../exchange/exchange_service_test.go | 3 +- .../connector/graph_connector_test.go | 18 +- .../mockconnector/mock_data_collection.go | 6 +- src/internal/kopia/conn_test.go | 7 +- src/internal/operations/backup_test.go | 12 +- src/internal/operations/restore_test.go | 161 ++++++++---------- src/internal/tester/account.go | 14 +- src/internal/tester/storage.go | 12 +- src/internal/tester/users.go | 13 +- src/pkg/repository/repository_test.go | 22 +-- 11 files changed, 122 insertions(+), 161 deletions(-) diff --git a/src/cli/repo/s3_integration_test.go b/src/cli/repo/s3_integration_test.go index 7a9303fa1..9fe0b84e3 100644 --- a/src/cli/repo/s3_integration_test.go +++ b/src/cli/repo/s3_integration_test.go @@ -42,8 +42,7 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd() { ctx := tester.NewContext() t := suite.T() - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) cfg, err := st.S3Config() require.NoError(t, err) @@ -66,8 +65,7 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd_missingBucket() { ctx := tester.NewContext() t := suite.T() - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) cfg, err := st.S3Config() require.NoError(t, err) @@ -89,8 +87,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd() { ctx := tester.NewContext() t := suite.T() - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) cfg, err := st.S3Config() require.NoError(t, err) @@ -123,8 +120,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadBucket() { ctx := tester.NewContext() t := suite.T() - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) cfg, err := st.S3Config() require.NoError(t, err) @@ -147,8 +143,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadPrefix() { ctx := tester.NewContext() t := suite.T() - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) cfg, err := st.S3Config() require.NoError(t, err) diff --git a/src/internal/connector/exchange/exchange_service_test.go b/src/internal/connector/exchange/exchange_service_test.go index f74fb39ce..467e4f855 100644 --- a/src/internal/connector/exchange/exchange_service_test.go +++ b/src/internal/connector/exchange/exchange_service_test.go @@ -96,8 +96,7 @@ func (suite *ExchangeServiceSuite) TestExchangeService_optionsForFolders() { // NOTE the requirements are in PR 475 func (suite *ExchangeServiceSuite) TestExchangeService_SetupExchangeCollection() { - userID, err := tester.M365UserID() - require.NoError(suite.T(), err) + userID := tester.M365UserID(suite.T()) sel := selectors.NewExchangeBackup() sel.Include(sel.Users([]string{userID})) eb, err := sel.ToExchangeBackup() diff --git a/src/internal/connector/graph_connector_test.go b/src/internal/connector/graph_connector_test.go index 75d4207c4..c4a711d66 100644 --- a/src/internal/connector/graph_connector_test.go +++ b/src/internal/connector/graph_connector_test.go @@ -45,8 +45,7 @@ func (suite *GraphConnectorIntegrationSuite) SetupSuite() { _, err := tester.GetRequiredEnvVars(tester.M365AcctCredEnvs...) require.NoError(suite.T(), err) - a, err := tester.NewM365Account() - require.NoError(suite.T(), err) + a := tester.NewM365Account(suite.T()) suite.connector, err = NewGraphConnector(a) suite.NoError(err) @@ -65,8 +64,7 @@ func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_setTenantUsers() } func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_ExchangeDataCollection() { - userID, err := tester.M365UserID() - require.NoError(suite.T(), err) + userID := tester.M365UserID(suite.T()) sel := selectors.NewExchangeBackup() sel.Include(sel.Users([]string{userID})) collectionList, err := suite.connector.ExchangeDataCollection(context.Background(), sel.Selector) @@ -90,8 +88,7 @@ func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_ExchangeDataColl func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_MailRegressionTest() { t := suite.T() - user, err := tester.M365UserID() - require.NoError(t, err) + user := tester.M365UserID(suite.T()) sel := selectors.NewExchangeBackup() sel.Include(sel.Users([]string{user})) eb, err := sel.ToExchangeBackup() @@ -128,8 +125,7 @@ func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_MailRegressionTe // TestGraphConnector_TestContactSequence verifies retrieval sequence func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_TestContactSequence() { - userID, err := tester.M365UserID() - require.NoError(suite.T(), err) + userID := tester.M365UserID(suite.T()) sel := selectors.NewExchangeBackup() sel.Include(sel.Users([]string{userID})) eb, err := sel.ToExchangeBackup() @@ -212,8 +208,7 @@ func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_SingleMailFolder // TestGraphConnector_CreateAndDeleteFolder ensures msgraph application has the ability // to create and remove folders within the tenant func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_CreateAndDeleteFolder() { - userID, err := tester.M365UserID() - require.NoError(suite.T(), err) + userID := tester.M365UserID(suite.T()) now := time.Now() folderName := "TestFolder: " + common.FormatSimpleDateTime(now) aFolder, err := exchange.CreateMailFolder(&suite.connector.graphService, userID, folderName) @@ -227,8 +222,7 @@ func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_CreateAndDeleteF // TestGraphConnector_GetMailFolderID verifies the ability to retrieve folder ID of folders // at the top level of the file tree func (suite *GraphConnectorIntegrationSuite) TestGraphConnector_GetMailFolderID() { - userID, err := tester.M365UserID() - require.NoError(suite.T(), err) + userID := tester.M365UserID(suite.T()) folderName := "Inbox" folderID, err := exchange.GetMailFolderID(&suite.connector.graphService, folderName, userID) assert.NoError(suite.T(), err) diff --git a/src/internal/connector/mockconnector/mock_data_collection.go b/src/internal/connector/mockconnector/mock_data_collection.go index d550ae869..36f5cdc60 100644 --- a/src/internal/connector/mockconnector/mock_data_collection.go +++ b/src/internal/connector/mockconnector/mock_data_collection.go @@ -9,7 +9,6 @@ import ( "github.com/alcionai/corso/internal/common" "github.com/alcionai/corso/internal/data" - "github.com/alcionai/corso/internal/tester" "github.com/alcionai/corso/pkg/backup/details" ) @@ -88,10 +87,7 @@ func (med *MockExchangeData) Info() details.ItemInfo { // GetMockMessageBytes returns bytes for Messageable item. // Contents verified as working with sample data from kiota-serialization-json-go v0.5.5 func GetMockMessageBytes(subject string) []byte { - userID, err := tester.M365UserID() - if err != nil { - userID = "lidiah@8qzvrj.onmicrosoft.com" - } + userID := "foobar@8qzvrj.onmicrosoft.com" message := "{\n \"@odata.etag\": \"W/\\\"CQAAABYAAAB8wYc0thTTTYl3RpEYIUq+AAAZ0f0I\\\"\",\n \"id\": \"AAMkAGQ1NzViZTdhLTEwMTMtNGJjNi05YWI2LTg4NWRlZDA2Y2UxOABGAAAAAAAPvVwUramXT7jlSGpVU8_7BwB8wYc0thTTTYl3RpEYIUq_AAAAAAEMAAB8wYc0thTTTYl3RpEYIUq_AAAZ3wG3AAA=\",\n \"createdDateTime\": \"2022-04-08T18:08:02Z\",\n \"lastModifiedDateTime\": \"2022-05-17T13:46:55Z\",\n \"changeKey\": \"CQAAABYAAAB8wYc0thTTTYl3RpEYIUq+AAAZ0f0I\",\n \"categories\": [],\n \"receivedDateTime\": \"2022-04-08T18:08:02Z\",\n \"sentDateTime\": \"2022-04-08T18:07:53Z\",\n \"hasAttachments\": false,\n \"internetMessageId\": \"\",\n \"subject\": \"" + subject + " " + common.FormatNow(common.SimpleDateTimeFormat) + " Different\",\n \"bodyPreview\": \"Who is coming to next week's party? I cannot imagine it is July soon\",\n \"importance\": \"normal\",\n \"parentFolderId\": \"AQMkAGQ1NzViZTdhLTEwMTMtNGJjNi05YWI2LTg4ADVkZWQwNmNlMTgALgAAAw_9XBStqZdPuOVIalVTz7sBAHzBhzS2FNNNiXdGkRghSr4AAAIBDAAAAA==\",\n \"conversationId\": \"AAQkAGQ1NzViZTdhLTEwMTMtNGJjNi05YWI2LTg4NWRlZDA2Y2UxOAAQAI7SSzmEPaRJsY-TWIALn1g=\",\n \"conversationIndex\": \"AQHYS3N3jtJLOYQ9pEmxj9NYgAufWA==\",\n \"isDeliveryReceiptRequested\": null,\n \"isReadReceiptRequested\": false,\n \"isRead\": true,\n \"isDraft\": false,\n \"webLink\": \"https://outlook.office365.com/owa/?ItemID=AAMkAGQ1NzViZTdhLTEwMTMtNGJjNi05YWI2LTg4NWRlZDA2Y2UxOABGAAAAAAAPvVwUramXT7jlSGpVU8%2B7BwB8wYc0thTTTYl3RpEYIUq%2BAAAAAAEMAAB8wYc0thTTTYl3RpEYIUq%2BAAAZ3wG3AAA%3D&exvsurl=1&viewmodel=ReadMessageItem\",\n \"inferenceClassification\": \"focused\",\n \"body\": {\n \"contentType\": \"html\",\n \"content\": \"

I've been going through with the changing of messages. It shouldn't have the same calls, right? Call Me?

 

We want to be able to send multiple messages and we want to be able to respond and do other things that make sense for our users. In this case. Let’s consider a Mailbox

\"\n },\n \"sender\": {\n \"emailAddress\": {\n \"name\": \"Lidia Holloway\",\n \"address\": \"" + userID + "\"\n }\n },\n \"from\": {\n \"emailAddress\": {\n \"name\": \"Lidia Holloway\",\n \"address\": \"lidiah@8qzvrj.onmicrosoft.com\"\n }\n },\n \"toRecipients\": [\n {\n \"emailAddress\": {\n \"name\": \"Dustin Abbot\",\n \"address\": \"dustina@8qzvrj.onmicrosoft.com\"\n }\n }\n ],\n \"ccRecipients\": [],\n \"bccRecipients\": [],\n \"replyTo\": [],\n \"flag\": {\n \"flagStatus\": \"notFlagged\"\n }\n}\n" diff --git a/src/internal/kopia/conn_test.go b/src/internal/kopia/conn_test.go index 510abb707..7d72153c3 100644 --- a/src/internal/kopia/conn_test.go +++ b/src/internal/kopia/conn_test.go @@ -13,13 +13,10 @@ import ( //revive:disable:context-as-argument func openKopiaRepo(t *testing.T, ctx context.Context) (*conn, error) { - storage, err := tester.NewPrefixedS3Storage(t) - if err != nil { - return nil, err - } + storage := tester.NewPrefixedS3Storage(t) k := NewConn(storage) - if err = k.Initialize(ctx); err != nil { + if err := k.Initialize(ctx); err != nil { return nil, err } diff --git a/src/internal/operations/backup_test.go b/src/internal/operations/backup_test.go index 9c3fcba41..5bdecec34 100644 --- a/src/internal/operations/backup_test.go +++ b/src/internal/operations/backup_test.go @@ -94,8 +94,7 @@ func (suite *BackupOpIntegrationSuite) SetupSuite() { func (suite *BackupOpIntegrationSuite) TestNewBackupOperation() { kw := &kopia.Wrapper{} sw := &store.Wrapper{} - acct, err := tester.NewM365Account() - require.NoError(suite.T(), err) + acct := tester.NewM365Account(suite.T()) table := []struct { name string @@ -128,14 +127,11 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run() { t := suite.T() ctx := context.Background() - m365UserID, err := tester.M365UserID() - require.NoError(suite.T(), err) - acct, err := tester.NewM365Account() - require.NoError(t, err) + m365UserID := tester.M365UserID(t) + acct := tester.NewM365Account(t) // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) k := kopia.NewConn(st) require.NoError(t, k.Initialize(ctx)) diff --git a/src/internal/operations/restore_test.go b/src/internal/operations/restore_test.go index 6c6ff82ed..a4bb8a30f 100644 --- a/src/internal/operations/restore_test.go +++ b/src/internal/operations/restore_test.go @@ -14,6 +14,7 @@ import ( "github.com/alcionai/corso/internal/connector/support" "github.com/alcionai/corso/internal/data" "github.com/alcionai/corso/internal/kopia" + "github.com/alcionai/corso/internal/model" "github.com/alcionai/corso/internal/tester" "github.com/alcionai/corso/pkg/account" "github.com/alcionai/corso/pkg/control" @@ -74,6 +75,13 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() { type RestoreOpIntegrationSuite struct { suite.Suite + + backupID model.StableID + numItems int + kopiaCloser func(ctx context.Context) + kw *kopia.Wrapper + sw *store.Wrapper + ms *kopia.ModelStore } func TestRestoreOpIntegrationSuite(t *testing.T) { @@ -89,13 +97,68 @@ func TestRestoreOpIntegrationSuite(t *testing.T) { func (suite *RestoreOpIntegrationSuite) SetupSuite() { _, err := tester.GetRequiredEnvVars(tester.M365AcctCredEnvs...) require.NoError(suite.T(), err) + + t := suite.T() + ctx := context.Background() + + m365UserID := tester.M365UserID(t) + acct := tester.NewM365Account(t) + + // need to initialize the repository before we can test connecting to it. + st := tester.NewPrefixedS3Storage(t) + + k := kopia.NewConn(st) + require.NoError(t, k.Initialize(ctx)) + suite.kopiaCloser = func(ctx context.Context) { + k.Close(ctx) + } + + kw, err := kopia.NewWrapper(k) + require.NoError(t, err) + suite.kw = kw + + ms, err := kopia.NewModelStore(k) + require.NoError(t, err) + suite.ms = ms + + sw := store.NewKopiaStore(ms) + suite.sw = sw + + bsel := selectors.NewExchangeBackup() + bsel.Include(bsel.MailFolders([]string{m365UserID}, []string{"Inbox"})) + + bo, err := NewBackupOperation( + ctx, + control.Options{}, + kw, + sw, + acct, + bsel.Selector) + require.NoError(t, err) + require.NoError(t, bo.Run(ctx)) + require.NotEmpty(t, bo.Results.BackupID) + + suite.backupID = bo.Results.BackupID + suite.numItems = bo.Results.ItemsWritten +} + +func (suite *RestoreOpIntegrationSuite) TearDownSuite() { + ctx := context.Background() + if suite.ms != nil { + suite.ms.Close(ctx) + } + if suite.kw != nil { + suite.kw.Close(ctx) + } + if suite.kopiaCloser != nil { + suite.kopiaCloser(ctx) + } } func (suite *RestoreOpIntegrationSuite) TestNewRestoreOperation() { kw := &kopia.Wrapper{} sw := &store.Wrapper{} - acct, err := tester.NewM365Account() - require.NoError(suite.T(), err) + acct := tester.NewM365Account(suite.T()) table := []struct { name string @@ -129,53 +192,16 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run() { t := suite.T() ctx := context.Background() - m365UserID, err := tester.M365UserID() - require.NoError(suite.T(), err) - acct, err := tester.NewM365Account() - require.NoError(t, err) - - // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) - - k := kopia.NewConn(st) - require.NoError(t, k.Initialize(ctx)) - defer k.Close(ctx) - - w, err := kopia.NewWrapper(k) - require.NoError(t, err) - defer w.Close(ctx) - - ms, err := kopia.NewModelStore(k) - require.NoError(t, err) - defer ms.Close(ctx) - - sw := store.NewKopiaStore(ms) - - bsel := selectors.NewExchangeBackup() - bsel.Include(bsel.Users([]string{m365UserID})) - - bo, err := NewBackupOperation( - ctx, - control.Options{}, - w, - sw, - acct, - bsel.Selector) - require.NoError(t, err) - require.NoError(t, bo.Run(ctx)) - require.NotEmpty(t, bo.Results.BackupID) - rsel := selectors.NewExchangeRestore() - rsel.Include(rsel.Users([]string{m365UserID})) + rsel.Include(rsel.Users([]string{tester.M365UserID(t)})) ro, err := NewRestoreOperation( ctx, control.Options{}, - w, - sw, - acct, - bo.Results.BackupID, + suite.kw, + suite.sw, + tester.NewM365Account(t), + suite.backupID, rsel.Selector) require.NoError(t, err) @@ -186,60 +212,23 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run() { assert.Greater(t, ro.Results.ItemsWritten, 0, "restored items written") assert.Zero(t, ro.Results.ReadErrors, "errors while reading restore data") assert.Zero(t, ro.Results.WriteErrors, "errors while writing restore data") - assert.Equal(t, bo.Results.ItemsWritten, ro.Results.ItemsWritten, "backup and restore wrote the same num of items") + assert.Equal(t, suite.numItems, ro.Results.ItemsWritten, "backup and restore wrote the same num of items") } func (suite *RestoreOpIntegrationSuite) TestRestore_Run_ErrorNoResults() { t := suite.T() ctx := context.Background() - m365UserID, err := tester.M365UserID() - require.NoError(suite.T(), err) - acct, err := tester.NewM365Account() - require.NoError(t, err) - - // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) - - k := kopia.NewConn(st) - require.NoError(t, k.Initialize(ctx)) - defer k.Close(ctx) - - w, err := kopia.NewWrapper(k) - require.NoError(t, err) - defer w.Close(ctx) - - ms, err := kopia.NewModelStore(k) - require.NoError(t, err) - defer ms.Close(ctx) - - sw := store.NewKopiaStore(ms) - - bsel := selectors.NewExchangeBackup() - bsel.Include(bsel.Users([]string{m365UserID})) - - bo, err := NewBackupOperation( - ctx, - control.Options{}, - w, - sw, - acct, - bsel.Selector) - require.NoError(t, err) - require.NoError(t, bo.Run(ctx)) - require.NotEmpty(t, bo.Results.BackupID) - rsel := selectors.NewExchangeRestore() rsel.Include(rsel.Users(selectors.None())) ro, err := NewRestoreOperation( ctx, control.Options{}, - w, - sw, - acct, - bo.Results.BackupID, + suite.kw, + suite.sw, + tester.NewM365Account(t), + suite.backupID, rsel.Selector) require.NoError(t, err) require.Error(t, ro.Run(ctx), "restoreOp.Run() should have 0 results") diff --git a/src/internal/tester/account.go b/src/internal/tester/account.go index 4b693b697..eb6e2ae4e 100644 --- a/src/internal/tester/account.go +++ b/src/internal/tester/account.go @@ -1,7 +1,9 @@ package tester import ( - "github.com/pkg/errors" + "testing" + + "github.com/stretchr/testify/require" "github.com/alcionai/corso/pkg/account" "github.com/alcionai/corso/pkg/credentials" @@ -14,17 +16,17 @@ var M365AcctCredEnvs = []string{ // NewM365Account returns an account.Account object initialized with environment // variables used for integration tests that use Graph Connector. -func NewM365Account() (account.Account, error) { +func NewM365Account(t *testing.T) account.Account { cfg, err := readTestConfig() - if err != nil { - return account.Account{}, errors.Wrap(err, "configuring m365 account from test configuration") - } + require.NoError(t, err, "configuring m365 account from test configuration") - return account.NewAccount( + acc, err := account.NewAccount( account.ProviderM365, account.M365Config{ M365: credentials.GetM365(), TenantID: cfg[TestCfgTenantID], }, ) + require.NoError(t, err, "initializing account") + return acc } diff --git a/src/internal/tester/storage.go b/src/internal/tester/storage.go index e3032efbb..a945fe5ed 100644 --- a/src/internal/tester/storage.go +++ b/src/internal/tester/storage.go @@ -3,7 +3,7 @@ package tester import ( "testing" - "github.com/pkg/errors" + "github.com/stretchr/testify/require" "github.com/alcionai/corso/pkg/credentials" "github.com/alcionai/corso/pkg/storage" @@ -18,14 +18,12 @@ var AWSStorageCredEnvs = []string{ // NewPrefixedS3Storage returns a storage.Storage object initialized with environment // variables used for integration tests that use S3. The prefix for the storage // path will be unique. -func NewPrefixedS3Storage(t *testing.T) (storage.Storage, error) { +func NewPrefixedS3Storage(t *testing.T) storage.Storage { now := LogTimeOfTest(t) cfg, err := readTestConfig() - if err != nil { - return storage.Storage{}, errors.Wrap(err, "configuring storage from test file") - } + require.NoError(t, err, "configuring storage from test file") - return storage.NewStorage( + st, err := storage.NewStorage( storage.ProviderS3, storage.S3Config{ AWS: credentials.GetAWS(nil), @@ -36,4 +34,6 @@ func NewPrefixedS3Storage(t *testing.T) (storage.Storage, error) { Corso: credentials.GetCorso(), }, ) + require.NoError(t, err, "creating storage") + return st } diff --git a/src/internal/tester/users.go b/src/internal/tester/users.go index b9b9669f0..80359b69a 100644 --- a/src/internal/tester/users.go +++ b/src/internal/tester/users.go @@ -1,18 +1,17 @@ package tester import ( - "github.com/pkg/errors" + "testing" + + "github.com/stretchr/testify/require" ) // M365UserID returns an userID string representing the m365UserID described // by either the env var CORSO_M356_TEST_USER_ID, the corso_test.toml config // file or the default value (in that order of priority). The default is a // last-attempt fallback that will only work on alcion's testing org. -func M365UserID() (string, error) { +func M365UserID(t *testing.T) string { cfg, err := readTestConfig() - if err != nil { - return "", errors.Wrap(err, "retrieving m365 user id from test configuration") - } - - return cfg[TestCfgUserID], nil + require.NoError(t, err, "retrieving m365 user id from test configuration") + return cfg[TestCfgUserID] } diff --git a/src/pkg/repository/repository_test.go b/src/pkg/repository/repository_test.go index fbe051443..1afe48d7c 100644 --- a/src/pkg/repository/repository_test.go +++ b/src/pkg/repository/repository_test.go @@ -114,7 +114,7 @@ func (suite *RepositoryIntegrationSuite) TestInitialize() { table := []struct { name string account account.Account - storage func(*testing.T) (storage.Storage, error) + storage func(*testing.T) storage.Storage errCheck assert.ErrorAssertionFunc }{ { @@ -125,8 +125,7 @@ func (suite *RepositoryIntegrationSuite) TestInitialize() { } for _, test := range table { suite.T().Run(test.name, func(t *testing.T) { - st, err := test.storage(t) - assert.NoError(t, err) + st := test.storage(t) r, err := repository.Initialize(ctx, test.account, st) if err == nil { defer func() { @@ -144,10 +143,9 @@ func (suite *RepositoryIntegrationSuite) TestConnect() { ctx := context.Background() // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) - _, err = repository.Initialize(ctx, account.Account{}, st) + _, err := repository.Initialize(ctx, account.Account{}, st) require.NoError(t, err) // now re-connect @@ -159,12 +157,10 @@ func (suite *RepositoryIntegrationSuite) TestNewBackup() { t := suite.T() ctx := context.Background() - acct, err := tester.NewM365Account() - require.NoError(t, err) + acct := tester.NewM365Account(t) // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) r, err := repository.Initialize(ctx, acct, st) require.NoError(t, err) @@ -178,12 +174,10 @@ func (suite *RepositoryIntegrationSuite) TestNewRestore() { t := suite.T() ctx := context.Background() - acct, err := tester.NewM365Account() - require.NoError(t, err) + acct := tester.NewM365Account(t) // need to initialize the repository before we can test connecting to it. - st, err := tester.NewPrefixedS3Storage(t) - require.NoError(t, err) + st := tester.NewPrefixedS3Storage(t) r, err := repository.Initialize(ctx, acct, st) require.NoError(t, err)