Wrap all assert/require error assertion funcs

Since structured error data from clues is not added
to error message logging from assert and require,
we're slicing out data that is valuable to debugging.
This adds a package in tester which wraps the error
assertion funcs so that structured error data is
appended to all failure outputs.
This commit is contained in:
ryanfkeepers 2023-02-23 15:25:27 -07:00
parent 4a882dec3b
commit 2eaeaf1f04
92 changed files with 1195 additions and 1063 deletions

View File

@ -18,6 +18,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/exchange"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path"
@ -73,7 +74,7 @@ func (suite *NoBackupExchangeIntegrationSuite) SetupSuite() {
suite.recorder = strings.Builder{}
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -88,7 +89,7 @@ func (suite *NoBackupExchangeIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
}
func (suite *NoBackupExchangeIntegrationSuite) TestExchangeBackupListCmd_empty() {
@ -110,7 +111,7 @@ func (suite *NoBackupExchangeIntegrationSuite) TestExchangeBackupListCmd_empty()
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := suite.recorder.String()
@ -155,7 +156,7 @@ func (suite *BackupExchangeIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -170,7 +171,7 @@ func (suite *BackupExchangeIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
}
func (suite *BackupExchangeIntegrationSuite) TestExchangeBackupCmd() {
@ -196,7 +197,7 @@ func (suite *BackupExchangeIntegrationSuite) TestExchangeBackupCmd() {
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := recorder.String()
t.Log("backup results", result)
@ -243,7 +244,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) SetupSuite() {
suite.recorder = strings.Builder{}
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -261,7 +262,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.backupOps = make(map[path.CategoryType]string)
@ -287,17 +288,17 @@ func (suite *PreparedBackupExchangeIntegrationSuite) SetupSuite() {
sel.Include(scopes)
bop, err := suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, bop.Run(ctx))
require.NoError(t, err)
aw.MustNoErr(t, bop.Run(ctx))
aw.MustNoErr(t, err)
bIDs := string(bop.Results.BackupID)
// sanity check, ensure we can find the backup and its details immediately
b, err := suite.repo.Backup(ctx, bop.Results.BackupID)
require.NoError(t, err, "retrieving recent backup by ID")
aw.MustNoErr(t, err, "retrieving recent backup by ID")
require.Equal(t, bIDs, string(b.ID), "repo backup matches results id")
_, b, errs := suite.repo.BackupDetails(ctx, bIDs)
require.NoError(t, errs.Failure(), "retrieving recent backup details by ID")
aw.MustNoErr(t, errs.Failure(), "retrieving recent backup details by ID")
require.Empty(t, errs.Recovered(), "retrieving recent backup details by ID")
require.Equal(t, bIDs, string(b.ID), "repo details matches results id")
@ -324,7 +325,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) TestExchangeListCmd() {
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
// compare the output
result := suite.recorder.String()
@ -355,7 +356,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) TestExchangeListCmd_singleI
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
// compare the output
result := suite.recorder.String()
@ -380,7 +381,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) TestExchangeListCmd_badID()
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
})
}
}
@ -398,7 +399,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) TestExchangeDetailsCmd() {
// fetch the details from the repo first
deets, _, errs := suite.repo.BackupDetails(ctx, string(bID))
require.NoError(t, errs.Failure())
aw.MustNoErr(t, errs.Failure())
require.Empty(t, errs.Recovered())
cmd := tester.StubRootCmd(
@ -412,7 +413,7 @@ func (suite *PreparedBackupExchangeIntegrationSuite) TestExchangeDetailsCmd() {
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
// compare the output
result := suite.recorder.String()
@ -473,7 +474,7 @@ func (suite *BackupDeleteExchangeIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -489,7 +490,7 @@ func (suite *BackupDeleteExchangeIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
m365UserID := tester.M365UserID(t)
users := []string{m365UserID}
@ -499,8 +500,8 @@ func (suite *BackupDeleteExchangeIntegrationSuite) SetupSuite() {
sel.Include(sel.MailFolders([]string{exchange.DefaultMailFolder}, selectors.PrefixMatch()))
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, suite.backupOp.Run(ctx))
require.NoError(t, err)
aw.MustNoErr(t, suite.backupOp.Run(ctx))
aw.MustNoErr(t, err)
}
func (suite *BackupDeleteExchangeIntegrationSuite) TestExchangeBackupDeleteCmd() {
@ -517,7 +518,7 @@ func (suite *BackupDeleteExchangeIntegrationSuite) TestExchangeBackupDeleteCmd()
cli.BuildCommandTree(cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
// a follow-up details call should fail, due to the backup ID being deleted
cmd = tester.StubRootCmd(
@ -526,7 +527,7 @@ func (suite *BackupDeleteExchangeIntegrationSuite) TestExchangeBackupDeleteCmd()
"--backup", string(suite.backupOp.Results.BackupID))
cli.BuildCommandTree(cmd)
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}
func (suite *BackupDeleteExchangeIntegrationSuite) TestExchangeBackupDeleteCmd_UnknownID() {
@ -543,5 +544,5 @@ func (suite *BackupDeleteExchangeIntegrationSuite) TestExchangeBackupDeleteCmd_U
cli.BuildCommandTree(cmd)
// unknown backupIDs should error since the modelStore can't find the backup
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}

View File

@ -11,6 +11,7 @@ import (
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/cli/utils/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type ExchangeSuite struct {
@ -74,23 +75,23 @@ func (suite *ExchangeSuite) TestValidateBackupCreateFlags() {
}{
{
name: "no users or data",
expect: assert.Error,
expect: aw.Err,
},
{
name: "no users only data",
data: []string{dataEmail},
expect: assert.Error,
expect: aw.Err,
},
{
name: "unrecognized data category",
user: []string{"fnord"},
data: []string{"smurfs"},
expect: assert.Error,
expect: aw.Err,
},
{
name: "only users no data",
user: []string{"fnord"},
expect: assert.NoError,
expect: aw.NoErr,
},
}
for _, test := range table {
@ -224,7 +225,7 @@ func (suite *ExchangeSuite) TestExchangeBackupDetailsSelectors() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.NoError(t, err, "failure")
aw.NoErr(t, err, "failure")
assert.ElementsMatch(t, test.Expected, output.Entries)
})
}
@ -241,7 +242,7 @@ func (suite *ExchangeSuite) TestExchangeBackupDetailsSelectorsBadFormats() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.Error(t, err, "failure")
aw.Err(t, err, "failure")
assert.Empty(t, output)
})
}

View File

@ -8,7 +8,6 @@ import (
"github.com/google/uuid"
"github.com/spf13/viper"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
@ -17,6 +16,7 @@ import (
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
@ -58,7 +58,7 @@ func (suite *NoBackupOneDriveIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -79,7 +79,7 @@ func (suite *NoBackupOneDriveIntegrationSuite) SetupSuite() {
control.Options{
ToggleFeatures: control.Toggles{EnablePermissionsBackup: true},
})
require.NoError(t, err)
aw.MustNoErr(t, err)
}
func (suite *NoBackupOneDriveIntegrationSuite) TestOneDriveBackupListCmd_empty() {
@ -101,7 +101,7 @@ func (suite *NoBackupOneDriveIntegrationSuite) TestOneDriveBackupListCmd_empty()
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := suite.recorder.String()
@ -143,7 +143,7 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -165,7 +165,7 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) SetupSuite() {
control.Options{
ToggleFeatures: control.Toggles{EnablePermissionsBackup: true},
})
require.NoError(t, err)
aw.MustNoErr(t, err)
m365UserID := tester.M365UserID(t)
users := []string{m365UserID}
@ -175,8 +175,8 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) SetupSuite() {
sel.Include(sel.Folders(selectors.Any()))
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, suite.backupOp.Run(ctx))
require.NoError(t, err)
aw.MustNoErr(t, suite.backupOp.Run(ctx))
aw.MustNoErr(t, err)
}
func (suite *BackupDeleteOneDriveIntegrationSuite) TestOneDriveBackupDeleteCmd() {
@ -198,7 +198,7 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) TestOneDriveBackupDeleteCmd()
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := suite.recorder.String()
@ -211,7 +211,7 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) TestOneDriveBackupDeleteCmd()
"--backup", string(suite.backupOp.Results.BackupID))
cli.BuildCommandTree(cmd)
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}
func (suite *BackupDeleteOneDriveIntegrationSuite) TestOneDriveBackupDeleteCmd_unknownID() {
@ -228,5 +228,5 @@ func (suite *BackupDeleteOneDriveIntegrationSuite) TestOneDriveBackupDeleteCmd_u
cli.BuildCommandTree(cmd)
// unknown backupIDs should error since the modelStore can't find the backup
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}

View File

@ -10,6 +10,7 @@ import (
"github.com/alcionai/corso/src/cli/utils/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type OneDriveSuite struct {
@ -73,12 +74,12 @@ func (suite *OneDriveSuite) TestValidateOneDriveBackupCreateFlags() {
}{
{
name: "no users",
expect: assert.Error,
expect: aw.Err,
},
{
name: "users",
user: []string{"fnord"},
expect: assert.NoError,
expect: aw.NoErr,
},
}
for _, test := range table {
@ -99,7 +100,7 @@ func (suite *OneDriveSuite) TestOneDriveBackupDetailsSelectors() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.ElementsMatch(t, test.Expected, output.Entries)
})
}
@ -116,7 +117,7 @@ func (suite *OneDriveSuite) TestOneDriveBackupDetailsSelectorsBadFormats() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.Error(t, err)
aw.Err(t, err)
assert.Empty(t, output)
})
}

View File

@ -8,7 +8,6 @@ import (
"github.com/google/uuid"
"github.com/spf13/viper"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
@ -17,6 +16,7 @@ import (
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
@ -58,7 +58,7 @@ func (suite *NoBackupSharePointIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -73,7 +73,7 @@ func (suite *NoBackupSharePointIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
}
func (suite *NoBackupSharePointIntegrationSuite) TestSharePointBackupListCmd_empty() {
@ -95,7 +95,7 @@ func (suite *NoBackupSharePointIntegrationSuite) TestSharePointBackupListCmd_emp
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := suite.recorder.String()
@ -133,7 +133,7 @@ func (suite *BackupDeleteSharePointIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -149,7 +149,7 @@ func (suite *BackupDeleteSharePointIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
m365SiteID := tester.M365SiteID(t)
sites := []string{m365SiteID}
@ -159,8 +159,8 @@ func (suite *BackupDeleteSharePointIntegrationSuite) SetupSuite() {
sel.Include(sel.Libraries(selectors.Any()))
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, suite.backupOp.Run(ctx))
require.NoError(t, err)
aw.MustNoErr(t, suite.backupOp.Run(ctx))
aw.MustNoErr(t, err)
}
func (suite *BackupDeleteSharePointIntegrationSuite) TestSharePointBackupDeleteCmd() {
@ -182,7 +182,7 @@ func (suite *BackupDeleteSharePointIntegrationSuite) TestSharePointBackupDeleteC
ctx = print.SetRootCmd(ctx, cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
result := suite.recorder.String()
@ -197,7 +197,7 @@ func (suite *BackupDeleteSharePointIntegrationSuite) TestSharePointBackupDeleteC
// "--backup", string(suite.backupOp.Results.BackupID))
// cli.BuildCommandTree(cmd)
// require.Error(t, cmd.ExecuteContext(ctx))
// aw.MustErr(t, cmd.ExecuteContext(ctx))
func (suite *BackupDeleteSharePointIntegrationSuite) TestSharePointBackupDeleteCmd_unknownID() {
t := suite.T()
@ -213,5 +213,5 @@ func (suite *BackupDeleteSharePointIntegrationSuite) TestSharePointBackupDeleteC
cli.BuildCommandTree(cmd)
// unknown backupIDs should error since the modelStore can't find the backup
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}

View File

@ -12,6 +12,7 @@ import (
"github.com/alcionai/corso/src/cli/utils/testdata"
"github.com/alcionai/corso/src/internal/connector"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/selectors"
)
@ -77,23 +78,23 @@ func (suite *SharePointSuite) TestValidateSharePointBackupCreateFlags() {
}{
{
name: "no sites or urls",
expect: assert.Error,
expect: aw.Err,
},
{
name: "sites",
site: []string{"smarf"},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "urls",
weburl: []string{"fnord"},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "both",
site: []string{"smarf"},
weburl: []string{"fnord"},
expect: assert.NoError,
expect: aw.NoErr,
},
}
for _, test := range table {
@ -196,7 +197,7 @@ func (suite *SharePointSuite) TestSharePointBackupCreateSelectors() {
defer flush()
sel, err := sharePointBackupCreateSelectors(ctx, test.site, test.weburl, test.data, gc)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.ElementsMatch(t, test.expect, sel.DiscreteResourceOwners())
})
@ -214,7 +215,7 @@ func (suite *SharePointSuite) TestSharePointBackupDetailsSelectors() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.ElementsMatch(t, test.Expected, output.Entries)
})
}
@ -231,7 +232,7 @@ func (suite *SharePointSuite) TestSharePointBackupDetailsSelectorsBadFormats() {
test.BackupGetter,
"backup-ID",
test.Opts)
assert.Error(t, err)
aw.Err(t, err)
assert.Empty(t, output)
})
}

View File

@ -8,10 +8,10 @@ import (
"github.com/spf13/viper"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/storage"
@ -53,20 +53,20 @@ func (suite *ConfigSuite) TestReadRepoConfigBasic() {
testConfigData := fmt.Sprintf(configFileTemplate, b, tID)
testConfigFilePath := filepath.Join(t.TempDir(), "corso.toml")
err := os.WriteFile(testConfigFilePath, []byte(testConfigData), 0o700)
require.NoError(t, err)
aw.MustNoErr(t, err)
// Configure viper to read test config file
vpr.SetConfigFile(testConfigFilePath)
// Read and validate config
require.NoError(t, vpr.ReadInConfig(), "reading repo config")
aw.MustNoErr(t, vpr.ReadInConfig(), "reading repo config")
s3Cfg, err := s3ConfigsFromViper(vpr)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, b, s3Cfg.Bucket)
m365, err := m365ConfigsFromViper(vpr)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, tID, m365.AzureTenantID)
}
@ -83,22 +83,22 @@ func (suite *ConfigSuite) TestWriteReadConfig() {
// Configure viper to read test config file
testConfigFilePath := filepath.Join(t.TempDir(), "corso.toml")
require.NoError(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
aw.MustNoErr(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
s3Cfg := storage.S3Config{Bucket: bkt, DoNotUseTLS: true, DoNotVerifyTLS: true}
m365 := account.M365Config{AzureTenantID: tid}
require.NoError(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
require.NoError(t, vpr.ReadInConfig(), "reading repo config")
aw.MustNoErr(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
aw.MustNoErr(t, vpr.ReadInConfig(), "reading repo config")
readS3Cfg, err := s3ConfigsFromViper(vpr)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, readS3Cfg.Bucket, s3Cfg.Bucket)
assert.Equal(t, readS3Cfg.DoNotUseTLS, s3Cfg.DoNotUseTLS)
assert.Equal(t, readS3Cfg.DoNotVerifyTLS, s3Cfg.DoNotVerifyTLS)
readM365, err := m365ConfigsFromViper(vpr)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, readM365.AzureTenantID, m365.AzureTenantID)
}
@ -115,13 +115,13 @@ func (suite *ConfigSuite) TestMustMatchConfig() {
// Configure viper to read test config file
testConfigFilePath := filepath.Join(t.TempDir(), "corso.toml")
require.NoError(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
aw.MustNoErr(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
s3Cfg := storage.S3Config{Bucket: bkt}
m365 := account.M365Config{AzureTenantID: tid}
require.NoError(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
require.NoError(t, vpr.ReadInConfig(), "reading repo config")
aw.MustNoErr(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
aw.MustNoErr(t, vpr.ReadInConfig(), "reading repo config")
table := []struct {
name string
@ -134,7 +134,7 @@ func (suite *ConfigSuite) TestMustMatchConfig() {
storage.Bucket: bkt,
account.AzureTenantID: tid,
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "empty values",
@ -142,17 +142,17 @@ func (suite *ConfigSuite) TestMustMatchConfig() {
storage.Bucket: "",
account.AzureTenantID: "",
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "no overrides",
input: map[string]string{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "nil map",
input: nil,
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "no recognized keys",
@ -160,7 +160,7 @@ func (suite *ConfigSuite) TestMustMatchConfig() {
"fnords": "smurfs",
"nonsense": "",
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "mismatch",
@ -168,7 +168,7 @@ func (suite *ConfigSuite) TestMustMatchConfig() {
storage.Bucket: tid,
account.AzureTenantID: bkt,
},
errCheck: assert.Error,
errCheck: aw.Err,
},
}
for _, test := range table {
@ -212,7 +212,7 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount() {
// Configure viper to read test config file
testConfigFilePath := filepath.Join(t.TempDir(), "corso.toml")
require.NoError(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
aw.MustNoErr(t, initWithViper(vpr, testConfigFilePath), "initializing repo config")
s3Cfg := storage.S3Config{
Bucket: bkt,
@ -223,14 +223,14 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount() {
}
m365 := account.M365Config{AzureTenantID: tid}
require.NoError(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
require.NoError(t, vpr.ReadInConfig(), "reading repo config")
aw.MustNoErr(t, writeRepoConfigWithViper(vpr, s3Cfg, m365), "writing repo config")
aw.MustNoErr(t, vpr.ReadInConfig(), "reading repo config")
st, ac, err := getStorageAndAccountWithViper(vpr, true, nil)
require.NoError(t, err, "getting storage and account from config")
aw.MustNoErr(t, err, "getting storage and account from config")
readS3Cfg, err := st.S3Config()
require.NoError(t, err, "reading s3 config from storage")
aw.MustNoErr(t, err, "reading s3 config from storage")
assert.Equal(t, readS3Cfg.Bucket, s3Cfg.Bucket)
assert.Equal(t, readS3Cfg.Endpoint, s3Cfg.Endpoint)
assert.Equal(t, readS3Cfg.Prefix, s3Cfg.Prefix)
@ -238,11 +238,11 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount() {
assert.Equal(t, readS3Cfg.DoNotVerifyTLS, s3Cfg.DoNotVerifyTLS)
common, err := st.CommonConfig()
require.NoError(t, err, "reading common config from storage")
aw.MustNoErr(t, err, "reading common config from storage")
assert.Equal(t, common.CorsoPassphrase, os.Getenv(credentials.CorsoPassphrase))
readM365, err := ac.M365Config()
require.NoError(t, err, "reading m365 config from account")
aw.MustNoErr(t, err, "reading m365 config from account")
assert.Equal(t, readM365.AzureTenantID, m365.AzureTenantID)
assert.Equal(t, readM365.AzureClientID, os.Getenv(credentials.AzureClientID))
assert.Equal(t, readM365.AzureClientSecret, os.Getenv(credentials.AzureClientSecret))
@ -273,10 +273,10 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount_noFileOnlyOverride
}
st, ac, err := getStorageAndAccountWithViper(vpr, false, overrides)
require.NoError(t, err, "getting storage and account from config")
aw.MustNoErr(t, err, "getting storage and account from config")
readS3Cfg, err := st.S3Config()
require.NoError(t, err, "reading s3 config from storage")
aw.MustNoErr(t, err, "reading s3 config from storage")
assert.Equal(t, readS3Cfg.Bucket, bkt)
assert.Equal(t, readS3Cfg.Endpoint, end)
assert.Equal(t, readS3Cfg.Prefix, pfx)
@ -284,11 +284,11 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount_noFileOnlyOverride
assert.True(t, readS3Cfg.DoNotVerifyTLS)
common, err := st.CommonConfig()
require.NoError(t, err, "reading common config from storage")
aw.MustNoErr(t, err, "reading common config from storage")
assert.Equal(t, common.CorsoPassphrase, os.Getenv(credentials.CorsoPassphrase))
readM365, err := ac.M365Config()
require.NoError(t, err, "reading m365 config from account")
aw.MustNoErr(t, err, "reading m365 config from account")
assert.Equal(t, readM365.AzureTenantID, m365.AzureTenantID)
assert.Equal(t, readM365.AzureClientID, os.Getenv(credentials.AzureClientID))
assert.Equal(t, readM365.AzureClientSecret, os.Getenv(credentials.AzureClientSecret))

View File

@ -5,6 +5,7 @@ import (
"context"
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
@ -24,7 +25,7 @@ func (suite *PrintUnitSuite) TestOnly() {
// cannot use tester.NewContext() here: circular imports
//nolint:forbidigo
ctx := SetRootCmd(context.Background(), c)
assert.NoError(t, Only(ctx, nil))
aw.NoErr(t, Only(ctx, nil))
assert.True(t, c.SilenceUsage)
}

View File

@ -3,13 +3,12 @@ package repo_test
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/config"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
@ -55,7 +54,7 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
vpr, configFP := tester.MakeTempTestConfigClone(t, nil)
@ -69,12 +68,12 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd() {
cli.BuildCommandTree(cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
// a second initialization should result in an error
err = cmd.ExecuteContext(ctx)
assert.Error(t, err)
assert.ErrorIs(t, err, repository.ErrorRepoAlreadyExists)
aw.Err(t, err)
aw.ErrIs(t, err, repository.ErrorRepoAlreadyExists)
})
}
}
@ -87,7 +86,7 @@ func (suite *S3IntegrationSuite) TestInitMultipleTimes() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
vpr, configFP := tester.MakeTempTestConfigClone(t, nil)
@ -104,7 +103,7 @@ func (suite *S3IntegrationSuite) TestInitMultipleTimes() {
cli.BuildCommandTree(cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
}
}
@ -116,7 +115,7 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd_missingBucket() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
vpr, configFP := tester.MakeTempTestConfigClone(t, nil)
@ -129,7 +128,7 @@ func (suite *S3IntegrationSuite) TestInitS3Cmd_missingBucket() {
cli.BuildCommandTree(cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}
func (suite *S3IntegrationSuite) TestConnectS3Cmd() {
@ -154,7 +153,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -167,7 +166,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd() {
// init the repo first
_, err = repository.Initialize(ctx, account.Account{}, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
// then test it
cmd := tester.StubRootCmd(
@ -179,7 +178,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd() {
cli.BuildCommandTree(cmd)
// run the command
assert.NoError(t, cmd.ExecuteContext(ctx))
aw.NoErr(t, cmd.ExecuteContext(ctx))
})
}
}
@ -192,7 +191,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadBucket() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
vpr, configFP := tester.MakeTempTestConfigClone(t, nil)
@ -206,7 +205,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadBucket() {
cli.BuildCommandTree(cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}
func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadPrefix() {
@ -217,7 +216,7 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadPrefix() {
st := tester.NewPrefixedS3Storage(t)
cfg, err := st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
vpr, configFP := tester.MakeTempTestConfigClone(t, nil)
@ -231,5 +230,5 @@ func (suite *S3IntegrationSuite) TestConnectS3Cmd_BadPrefix() {
cli.BuildCommandTree(cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
}

View File

@ -14,6 +14,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/exchange"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path"
@ -64,7 +65,7 @@ func (suite *RestoreExchangeIntegrationSuite) SetupSuite() {
suite.st = tester.NewPrefixedS3Storage(t)
cfg, err := suite.st.S3Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
force := map[string]string{
tester.TestCfgAccountProvider: "M365",
@ -78,7 +79,7 @@ func (suite *RestoreExchangeIntegrationSuite) SetupSuite() {
// init the repo first
suite.repo, err = repository.Initialize(ctx, suite.acct, suite.st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.backupOps = make(map[path.CategoryType]operations.BackupOperation)
@ -102,17 +103,17 @@ func (suite *RestoreExchangeIntegrationSuite) SetupSuite() {
sel.Include(scopes)
bop, err := suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, bop.Run(ctx))
require.NoError(t, err)
aw.MustNoErr(t, bop.Run(ctx))
aw.MustNoErr(t, err)
suite.backupOps[set] = bop
// sanity check, ensure we can find the backup and its details immediately
_, err = suite.repo.Backup(ctx, bop.Results.BackupID)
require.NoError(t, err, "retrieving recent backup by ID")
aw.MustNoErr(t, err, "retrieving recent backup by ID")
_, _, errs := suite.repo.BackupDetails(ctx, string(bop.Results.BackupID))
require.NoError(t, errs.Failure(), "retrieving recent backup details by ID")
aw.MustNoErr(t, errs.Failure(), "retrieving recent backup details by ID")
require.Empty(t, errs.Recovered(), "retrieving recent backup details by ID")
}
}
@ -132,7 +133,7 @@ func (suite *RestoreExchangeIntegrationSuite) TestExchangeRestoreCmd() {
cli.BuildCommandTree(cmd)
// run the command
require.NoError(t, cmd.ExecuteContext(ctx))
aw.MustNoErr(t, cmd.ExecuteContext(ctx))
})
}
}
@ -165,7 +166,7 @@ func (suite *RestoreExchangeIntegrationSuite) TestExchangeRestoreCmd_badTimeFlag
cli.BuildCommandTree(cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
})
}
}
@ -196,7 +197,7 @@ func (suite *RestoreExchangeIntegrationSuite) TestExchangeRestoreCmd_badBoolFlag
cli.BuildCommandTree(cmd)
// run the command
require.Error(t, cmd.ExecuteContext(ctx))
aw.MustErr(t, cmd.ExecuteContext(ctx))
})
}
}

View File

@ -8,6 +8,7 @@ import (
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/selectors"
)
@ -30,23 +31,23 @@ func (suite *ExchangeUtilsSuite) TestValidateRestoreFlags() {
name: "with backupid",
backupID: "bid",
opts: utils.ExchangeOpts{},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "no backupid",
opts: utils.ExchangeOpts{},
expect: assert.Error,
expect: aw.Err,
},
{
name: "valid time",
backupID: "bid",
opts: utils.ExchangeOpts{EmailReceivedAfter: common.Now()},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "invalid time",
opts: utils.ExchangeOpts{EmailReceivedAfter: "fnords"},
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {

View File

@ -6,6 +6,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/selectors"
)
@ -25,11 +26,11 @@ func (suite *CliUtilsSuite) TestRequireProps() {
}{
{
props: map[string]string{"exists": "I have seen the fnords!"},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
props: map[string]string{"not-exists": ""},
errCheck: assert.Error,
errCheck: aw.Err,
},
}
for _, test := range table {

View File

@ -8,6 +8,7 @@ import (
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type CommonConfigsSuite struct {
@ -49,9 +50,9 @@ func (suite *CommonConfigsSuite) TestUnionConfigs_string() {
bc stringConfig2
errCheck assert.ErrorAssertionFunc
}{
{"no error", stringConfig{keyExpect, nil}, stringConfig2{keyExpect2, nil}, assert.NoError},
{"tc error", stringConfig{keyExpect, assert.AnError}, stringConfig2{keyExpect2, nil}, assert.Error},
{"fc error", stringConfig{keyExpect, nil}, stringConfig2{keyExpect2, assert.AnError}, assert.Error},
{"no error", stringConfig{keyExpect, nil}, stringConfig2{keyExpect2, nil}, aw.NoErr},
{"tc error", stringConfig{keyExpect, assert.AnError}, stringConfig2{keyExpect2, nil}, aw.Err},
{"fc error", stringConfig{keyExpect, nil}, stringConfig2{keyExpect2, assert.AnError}, aw.Err},
}
for _, test := range table {
suite.Run(test.name, func() {

View File

@ -5,11 +5,11 @@ import (
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type CommonTimeUnitSuite struct {
@ -48,14 +48,14 @@ func (suite *CommonTimeUnitSuite) TestParseTime() {
nowStr := now.Format(time.RFC3339Nano)
result, err := common.ParseTime(nowStr)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, now.UTC(), result)
_, err = common.ParseTime("")
require.Error(t, err)
aw.MustErr(t, err)
_, err = common.ParseTime("flablabls")
require.Error(t, err)
aw.MustErr(t, err)
}
func (suite *CommonTimeUnitSuite) TestExtractTime() {
@ -68,14 +68,14 @@ func (suite *CommonTimeUnitSuite) TestExtractTime() {
c, err := common.ParseTime(ts)
require.NoError(t, err)
aw.MustNoErr(t, err)
return c
}
parseT := func(v string) time.Time {
t, err := time.Parse(time.RFC3339, v)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
return t
}
@ -151,7 +151,7 @@ func (suite *CommonTimeUnitSuite) TestExtractTime() {
t := suite.T()
result, err := common.ExtractTime(test.input)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, test.expect, comparable(t, result, test.clippedFormat))
})
}

View File

@ -6,13 +6,13 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/exchange"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/sharepoint"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -108,7 +108,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestExchangeDataCollection
connector.UpdateStatus,
control.Options{},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Empty(t, excludes)
for range collections {
@ -124,7 +124,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestExchangeDataCollection
for object := range col.Items(ctx, fault.New(true)) {
buf := &bytes.Buffer{}
_, err := buf.ReadFrom(object.ToReader())
assert.NoError(t, err, "received a buf.Read error")
aw.NoErr(t, err, "received a buf.Read error")
}
}
@ -208,7 +208,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestDataCollections_invali
nil,
control.Options{},
fault.New(true))
assert.Error(t, err)
aw.Err(t, err)
assert.Empty(t, collections)
assert.Empty(t, excludes)
})
@ -260,7 +260,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestSharePointDataCollecti
connector,
control.Options{},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
// Not expecting excludes as this isn't an incremental backup.
assert.Empty(t, excludes)
@ -276,7 +276,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestSharePointDataCollecti
for object := range coll.Items(ctx, fault.New(true)) {
buf := &bytes.Buffer{}
_, err := buf.ReadFrom(object.ToReader())
assert.NoError(t, err, "reading item")
aw.NoErr(t, err, "reading item")
}
}
@ -338,7 +338,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
nil,
control.Options{},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Len(t, cols, 1)
// No excludes yet as this isn't an incremental backup.
assert.Empty(t, excludes)
@ -369,7 +369,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
nil,
control.Options{},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Less(t, 0, len(cols))
// No excludes yet as this isn't an incremental backup.
assert.Empty(t, excludes)
@ -381,7 +381,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
t.Log("File: " + item.UUID())
bs, err := io.ReadAll(item.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
t.Log(string(bs))
}
}

View File

@ -10,6 +10,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/graph/betasdk/models"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type BetaUnitSuite struct {
@ -24,14 +25,14 @@ func (suite *BetaUnitSuite) TestBetaService_Adapter() {
t := suite.T()
a := tester.NewMockM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
adpt, err := graph.CreateAdapter(
m365.AzureTenantID,
m365.AzureClientID,
m365.AzureClientSecret,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
service := NewBetaService(adpt)
require.NotNil(t, service)
@ -45,5 +46,5 @@ func (suite *BetaUnitSuite) TestBetaService_Adapter() {
byteArray, err := service.Serialize(testPage)
assert.NotEmpty(t, byteArray)
assert.NoError(t, err)
aw.NoErr(t, err)
}

View File

@ -5,13 +5,13 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -37,7 +37,7 @@ func (suite *ExchangeServiceSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
@ -45,7 +45,7 @@ func (suite *ExchangeServiceSuite) SetupSuite() {
m365.AzureTenantID,
m365.AzureClientID,
m365.AzureClientSecret)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.gs = graph.NewService(adpt)
}
@ -59,22 +59,22 @@ func (suite *ExchangeServiceSuite) TestOptionsForCalendars() {
{
name: "Empty Literal",
params: []string{},
checkError: assert.NoError,
checkError: aw.NoErr,
},
{
name: "Invalid Parameter",
params: []string{"status"},
checkError: assert.Error,
checkError: aw.Err,
},
{
name: "Invalid Parameters",
params: []string{"status", "height", "month"},
checkError: assert.Error,
checkError: aw.Err,
},
{
name: "Valid Parameters",
params: []string{"changeKey", "events", "owner"},
checkError: assert.NoError,
checkError: aw.NoErr,
},
}
for _, test := range tests {
@ -98,19 +98,19 @@ func (suite *ExchangeServiceSuite) TestOptionsForFolders() {
{
name: "Valid Folder Option",
params: []string{"parentFolderId"},
checkError: assert.NoError,
checkError: aw.NoErr,
expected: 2,
},
{
name: "Multiple Folder Options: Valid",
params: []string{"displayName", "isHidden"},
checkError: assert.NoError,
checkError: aw.NoErr,
expected: 3,
},
{
name: "Invalid Folder option param",
params: []string{"status"},
checkError: assert.Error,
checkError: aw.Err,
},
}
for _, test := range tests {
@ -135,19 +135,19 @@ func (suite *ExchangeServiceSuite) TestOptionsForContacts() {
{
name: "Valid Contact Option",
params: []string{"displayName"},
checkError: assert.NoError,
checkError: aw.NoErr,
expected: 2,
},
{
name: "Multiple Contact Options: Valid",
params: []string{"displayName", "parentFolderId"},
checkError: assert.NoError,
checkError: aw.NoErr,
expected: 3,
},
{
name: "Invalid Contact Option param",
params: []string{"status"},
checkError: assert.Error,
checkError: aw.Err,
},
}
for _, test := range tests {
@ -180,7 +180,7 @@ func (suite *ExchangeServiceSuite) TestHasAttachments() {
"This is testing",
)
message, err := support.CreateMessageFromBytes(byteArray)
require.NoError(t, err)
aw.MustNoErr(t, err)
return message.GetBody()
},
},
@ -190,7 +190,7 @@ func (suite *ExchangeServiceSuite) TestHasAttachments() {
getBodyable: func(t *testing.T) models.ItemBodyable {
byteArray := mockconnector.GetMessageWithOneDriveAttachment("Test legacy")
message, err := support.CreateMessageFromBytes(byteArray)
require.NoError(t, err)
aw.MustNoErr(t, err)
return message.GetBody()
},
},

View File

@ -6,12 +6,12 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
)
@ -128,7 +128,7 @@ func (suite *EventsAPIUnitSuite) TestEventInfo() {
event, err = support.CreateEventFromBytes(bytes)
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
return event, &details.ExchangeInfo{
ItemType: details.ExchangeEvent,

View File

@ -12,6 +12,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -78,7 +79,7 @@ var (
displayName: &testName,
parentID: &testParentID,
},
check: assert.Error,
check: aw.Err,
},
{
name: "NilDisplayName",
@ -87,7 +88,7 @@ var (
displayName: nil,
parentID: &testParentID,
},
check: assert.Error,
check: aw.Err,
},
{
name: "EmptyID",
@ -96,7 +97,7 @@ var (
displayName: &testName,
parentID: &testParentID,
},
check: assert.NoError,
check: aw.NoErr,
},
{
name: "EmptyDisplayName",
@ -105,7 +106,7 @@ var (
displayName: &emptyString,
parentID: &testParentID,
},
check: assert.NoError,
check: aw.NoErr,
},
{
name: "AllValues",
@ -114,7 +115,7 @@ var (
displayName: &testName,
parentID: &testParentID,
},
check: assert.NoError,
check: aw.NoErr,
},
}
)
@ -136,7 +137,7 @@ func (suite *FolderCacheUnitSuite) TestCheckRequiredValues() {
displayName: &testName,
parentID: nil,
},
check: assert.Error,
check: aw.Err,
},
{
name: "EmptyParentFolderID",
@ -145,7 +146,7 @@ func (suite *FolderCacheUnitSuite) TestCheckRequiredValues() {
displayName: &testName,
parentID: &emptyString,
},
check: assert.NoError,
check: aw.NoErr,
},
}
@ -174,7 +175,7 @@ func (suite *FolderCacheUnitSuite) TestAddFolder() {
},
nil,
nil),
check: assert.Error,
check: aw.Err,
},
{
name: "NoParentPath",
@ -186,7 +187,7 @@ func (suite *FolderCacheUnitSuite) TestAddFolder() {
},
path.Builder{}.Append("foo"),
path.Builder{}.Append("loc")),
check: assert.NoError,
check: aw.NoErr,
},
{
name: "NoName",
@ -198,7 +199,7 @@ func (suite *FolderCacheUnitSuite) TestAddFolder() {
},
path.Builder{}.Append("foo"),
path.Builder{}.Append("loc")),
check: assert.Error,
check: aw.Err,
},
{
name: "NoID",
@ -210,7 +211,7 @@ func (suite *FolderCacheUnitSuite) TestAddFolder() {
},
path.Builder{}.Append("foo"),
path.Builder{}.Append("loc")),
check: assert.Error,
check: aw.Err,
},
{
name: "NoPath",
@ -222,7 +223,7 @@ func (suite *FolderCacheUnitSuite) TestAddFolder() {
},
nil,
nil),
check: assert.NoError,
check: aw.NoErr,
},
}
@ -341,12 +342,12 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestDepthLimit() {
{
name: "AtLimit",
numContainers: maxIterations,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "OverLimit",
numContainers: maxIterations + 1,
check: assert.Error,
check: aw.Err,
},
}
@ -365,7 +366,7 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestPopulatePaths() {
t := suite.T()
require.NoError(t, suite.fc.populatePaths(ctx, false))
aw.MustNoErr(t, suite.fc.populatePaths(ctx, false))
items := suite.fc.Items()
gotPaths := make([]string, 0, len(items))
@ -389,7 +390,7 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderNoPathsCached
for _, c := range suite.allContainers {
suite.T().Run(*c.GetDisplayName(), func(t *testing.T) {
p, l, err := suite.fc.IDToPath(ctx, c.id, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
})
@ -403,7 +404,7 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderNoPathsCached
for _, c := range suite.containersWithID {
suite.T().Run(*c.GetDisplayName(), func(t *testing.T) {
p, l, err := suite.fcWithID.IDToPath(ctx, c.id, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
})
@ -418,14 +419,14 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderCachesPaths()
c := suite.allContainers[len(suite.allContainers)-1]
p, l, err := suite.fc.IDToPath(ctx, c.id, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
c.parentID = "foo"
p, l, err = suite.fc.IDToPath(ctx, c.id, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
}
@ -438,14 +439,14 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderCachesPaths_u
c := suite.containersWithID[len(suite.containersWithID)-1]
p, l, err := suite.fcWithID.IDToPath(ctx, c.id, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
c.parentID = "foo"
p, l, err = suite.fcWithID.IDToPath(ctx, c.id, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, c.expectedPath, p.String())
assert.Equal(t, c.expectedLocation, l.String())
}
@ -461,7 +462,7 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderErrorsParentN
delete(suite.fc.cache, almostLast.id)
_, _, err := suite.fc.IDToPath(ctx, last.id, false)
assert.Error(t, err)
aw.Err(t, err)
}
func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderErrorsNotFound() {
@ -471,7 +472,7 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestLookupCachedFolderErrorsNotFoun
t := suite.T()
_, _, err := suite.fc.IDToPath(ctx, "foo", false)
assert.Error(t, err)
aw.Err(t, err)
}
func (suite *ConfiguredFolderCacheUnitSuite) TestAddToCache() {
@ -490,12 +491,12 @@ func (suite *ConfiguredFolderCacheUnitSuite) TestAddToCache() {
m.expectedLocation = stdpath.Join(last.expectedPath, m.displayName)
require.Empty(t, suite.fc.DestinationNameToID(dest), "destination not yet added to cache")
require.NoError(t, suite.fc.AddToCache(ctx, m, false))
aw.MustNoErr(t, suite.fc.AddToCache(ctx, m, false))
require.Empty(t, suite.fc.DestinationNameToID(dest),
"destination id from cache, still empty, because this is not a calendar")
p, l, err := suite.fc.IDToPath(ctx, m.id, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, m.expectedPath, p.String())
assert.Equal(t, m.expectedLocation, l.String())
}
@ -525,7 +526,7 @@ func (suite *FolderCacheIntegrationSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
@ -533,11 +534,11 @@ func (suite *FolderCacheIntegrationSuite) SetupSuite() {
m365.AzureTenantID,
m365.AzureClientID,
m365.AzureClientSecret)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.gs = graph.NewService(adpt)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
}
// Testing to ensure that cache system works for in multiple different environments
@ -547,7 +548,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
a := tester.NewM365Account(suite.T())
m365, err := a.M365Config()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
var (
user = tester.M365UserID(suite.T())
@ -573,7 +574,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.EmailCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return pth
},
@ -586,7 +587,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.EmailCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return pth
},
@ -602,7 +603,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.ContactsCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return aPath
},
@ -614,7 +615,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.ContactsCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return aPath
},
@ -631,7 +632,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.EventsCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return aPath
},
@ -643,7 +644,7 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
user,
path.EventsCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return aPath
},
@ -660,12 +661,12 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
folderName,
directoryCaches,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
resolver := directoryCaches[test.category]
_, _, err = resolver.IDToPath(ctx, folderID, test.useIDForPath)
assert.NoError(t, err)
aw.NoErr(t, err)
parentContainer := folderName
if test.useIDForPath {
@ -679,10 +680,10 @@ func (suite *FolderCacheIntegrationSuite) TestCreateContainerDestination() {
parentContainer,
directoryCaches,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
_, _, err = resolver.IDToPath(ctx, secondID, test.useIDForPath)
require.NoError(t, err)
aw.MustNoErr(t, err)
p := stdpath.Join(test.folderPrefix, parentContainer)
_, ok := resolver.PathInCache(p)

View File

@ -14,6 +14,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -50,7 +51,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.DeltaURLsFileName, "delta-link"},
},
expect: map[string]DeltaPath{},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "multiple delta urls",
@ -58,7 +59,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.DeltaURLsFileName, "delta-link"},
{graph.DeltaURLsFileName, "delta-link-2"},
},
expectError: assert.Error,
expectError: aw.Err,
},
{
name: "previous path only",
@ -66,7 +67,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.PreviousPathFileName, "prev-path"},
},
expect: map[string]DeltaPath{},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "multiple previous paths",
@ -74,7 +75,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.PreviousPathFileName, "prev-path"},
{graph.PreviousPathFileName, "prev-path-2"},
},
expectError: assert.Error,
expectError: aw.Err,
},
{
name: "delta urls and previous paths",
@ -88,7 +89,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
path: "prev-path",
},
},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "delta urls and empty previous paths",
@ -97,7 +98,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.PreviousPathFileName, ""},
},
expect: map[string]DeltaPath{},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "empty delta urls and previous paths",
@ -106,7 +107,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
{graph.PreviousPathFileName, "prev-path"},
},
expect: map[string]DeltaPath{},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "delta urls with special chars",
@ -120,7 +121,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
path: "prev-path",
},
},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "delta urls with escaped chars",
@ -134,7 +135,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
path: "prev-path",
},
},
expectError: assert.NoError,
expectError: aw.NoErr,
},
{
name: "delta urls with newline char runes",
@ -151,7 +152,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
path: "prev-path",
},
},
expectError: assert.NoError,
expectError: aw.NoErr,
},
}
for _, test := range table {
@ -174,7 +175,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
entries,
func(cos *support.ConnectorOperationStatus) {},
)
require.NoError(t, err)
aw.MustNoErr(t, err)
cdps, err := parseMetadataCollections(ctx, []data.RestoreCollection{
data.NotFoundRestoreCollection{Collection: coll},
@ -239,7 +240,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailFetch() {
acct, err = tester.NewM365Account(suite.T()).M365Config()
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
tests := []struct {
name string
@ -269,7 +270,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailFetch() {
control.Options{},
func(status *support.ConnectorOperationStatus) {},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
for _, c := range collections {
if c.FullPath().Service() == path.ExchangeMetadataService {
@ -297,7 +298,7 @@ func (suite *DataCollectionsIntegrationSuite) TestDelta() {
acct, err = tester.NewM365Account(suite.T()).M365Config()
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
tests := []struct {
name string
@ -337,7 +338,7 @@ func (suite *DataCollectionsIntegrationSuite) TestDelta() {
control.Options{},
func(status *support.ConnectorOperationStatus) {},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Less(t, 1, len(collections), "retrieved metadata and data collections")
var metadata data.BackupCollection
@ -353,7 +354,7 @@ func (suite *DataCollectionsIntegrationSuite) TestDelta() {
cdps, err := parseMetadataCollections(ctx, []data.RestoreCollection{
data.NotFoundRestoreCollection{Collection: metadata},
}, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
dps := cdps[test.scope.Category().PathType()]
@ -368,7 +369,7 @@ func (suite *DataCollectionsIntegrationSuite) TestDelta() {
control.Options{},
func(status *support.ConnectorOperationStatus) {},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
// TODO(keepers): this isn't a very useful test at the moment. It needs to
// investigate the items in the original and delta collections to at least
@ -400,7 +401,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailSerializationRegression()
)
acct, err := tester.NewM365Account(t).M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
sel := selectors.NewExchangeBackup(users)
sel.Include(sel.MailFolders([]string{DefaultMailFolder}, selectors.PrefixMatch()))
@ -414,7 +415,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailSerializationRegression()
control.Options{},
newStatusUpdater(t, &wg),
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
wg.Add(len(collections))
@ -428,7 +429,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailSerializationRegression()
buf := &bytes.Buffer{}
read, err := buf.ReadFrom(stream.ToReader())
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotZero(t, read)
if isMetadata {
@ -437,7 +438,7 @@ func (suite *DataCollectionsIntegrationSuite) TestMailSerializationRegression()
message, err := support.CreateMessageFromBytes(buf.Bytes())
assert.NotNil(t, message)
assert.NoError(t, err)
aw.NoErr(t, err)
}
})
}
@ -453,7 +454,7 @@ func (suite *DataCollectionsIntegrationSuite) TestContactSerializationRegression
defer flush()
acct, err := tester.NewM365Account(suite.T()).M365Config()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
users := []string{suite.user}
@ -482,7 +483,7 @@ func (suite *DataCollectionsIntegrationSuite) TestContactSerializationRegression
control.Options{},
newStatusUpdater(t, &wg),
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
wg.Add(len(edcs))
@ -496,7 +497,7 @@ func (suite *DataCollectionsIntegrationSuite) TestContactSerializationRegression
for stream := range edc.Items(ctx, fault.New(true)) {
buf := &bytes.Buffer{}
read, err := buf.ReadFrom(stream.ToReader())
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotZero(t, read)
if isMetadata {
@ -505,7 +506,7 @@ func (suite *DataCollectionsIntegrationSuite) TestContactSerializationRegression
contact, err := support.CreateContactFromBytes(buf.Bytes())
assert.NotNil(t, contact)
assert.NoError(t, err, "error on converting contact bytes: "+buf.String())
aw.NoErr(t, err, "error on converting contact bytes: "+buf.String())
count++
}
@ -529,12 +530,12 @@ func (suite *DataCollectionsIntegrationSuite) TestEventsSerializationRegression(
defer flush()
acct, err := tester.NewM365Account(suite.T()).M365Config()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
users := []string{suite.user}
ac, err := api.NewClient(acct)
require.NoError(suite.T(), err, "creating client")
aw.MustNoErr(suite.T(), err, "creating client")
var (
calID string
@ -553,7 +554,7 @@ func (suite *DataCollectionsIntegrationSuite) TestEventsSerializationRegression(
return nil
}
require.NoError(suite.T(), ac.Events().EnumerateContainers(ctx, suite.user, DefaultCalendar, fn, fault.New(true)))
aw.MustNoErr(suite.T(), ac.Events().EnumerateContainers(ctx, suite.user, DefaultCalendar, fn, fault.New(true)))
tests := []struct {
name, expected string
@ -590,7 +591,7 @@ func (suite *DataCollectionsIntegrationSuite) TestEventsSerializationRegression(
control.Options{},
newStatusUpdater(t, &wg),
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.Len(t, collections, 2)
wg.Add(len(collections))
@ -609,7 +610,7 @@ func (suite *DataCollectionsIntegrationSuite) TestEventsSerializationRegression(
buf := &bytes.Buffer{}
read, err := buf.ReadFrom(item.ToReader())
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotZero(t, read)
if isMetadata {
@ -618,7 +619,7 @@ func (suite *DataCollectionsIntegrationSuite) TestEventsSerializationRegression(
event, err := support.CreateEventFromBytes(buf.Bytes())
assert.NotNil(t, event)
assert.NoError(t, err, "creating event from bytes: "+buf.String())
aw.NoErr(t, err, "creating event from bytes: "+buf.String())
}
}

View File

@ -7,12 +7,12 @@ import (
"github.com/microsoft/kiota-abstractions-go/serialization"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -91,7 +91,7 @@ func (suite *ExchangeDataCollectionSuite) TestExchangeData_FullPath() {
path.EmailCategory,
false,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
edc := Collection{
user: user,
@ -113,7 +113,7 @@ func (suite *ExchangeDataCollectionSuite) TestExchangeDataCollection_NewExchange
path.EmailCategory,
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
edc := Collection{
user: name,
@ -127,15 +127,15 @@ func (suite *ExchangeDataCollectionSuite) TestNewCollection_state() {
fooP, err := path.Builder{}.
Append("foo").
ToDataLayerExchangePathForCategory("t", "u", path.EmailCategory, false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
barP, err := path.Builder{}.
Append("bar").
ToDataLayerExchangePathForCategory("t", "u", path.EmailCategory, false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
locP, err := path.Builder{}.
Append("human-readable").
ToDataLayerExchangePathForCategory("t", "u", path.EmailCategory, false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string
@ -198,7 +198,7 @@ func (suite *ExchangeDataCollectionSuite) TestGetItemWithRetries() {
name: "happy",
items: &mockItemer{},
expectErr: func(t *testing.T, err error) {
assert.NoError(t, err)
aw.NoErr(t, err)
},
expectGetCalls: 1,
},
@ -206,7 +206,7 @@ func (suite *ExchangeDataCollectionSuite) TestGetItemWithRetries() {
name: "an error",
items: &mockItemer{getErr: assert.AnError},
expectErr: func(t *testing.T, err error) {
assert.Error(t, err)
aw.Err(t, err)
},
expectGetCalls: 3,
},

View File

@ -4,12 +4,12 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/exchange/api"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -36,7 +36,7 @@ func (suite *CacheResolverSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
}
@ -46,10 +46,10 @@ func (suite *CacheResolverSuite) TestPopulate() {
defer flush()
ac, err := api.NewClient(suite.credentials)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
cal, err := ac.Events().GetContainerByID(ctx, tester.M365UserID(suite.T()), DefaultCalendar)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
eventFunc := func(t *testing.T) graph.ContainerResolver {
return &eventCalendarCache{
@ -120,7 +120,7 @@ func (suite *CacheResolverSuite) TestPopulate() {
for _, test := range tests {
suite.T().Run(test.name, func(t *testing.T) {
resolver := test.resolverFunc(t)
require.NoError(t, resolver.Populate(ctx, fault.New(true), test.root, test.basePath))
aw.MustNoErr(t, resolver.Populate(ctx, fault.New(true), test.root, test.basePath))
_, isFound := resolver.PathInCache(test.folderInCache)
test.canFind(t, isFound)

View File

@ -4,13 +4,13 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type ExchangeIteratorSuite struct {
@ -31,7 +31,7 @@ func (suite *ExchangeIteratorSuite) TestDisplayable() {
t := suite.T()
bytes := mockconnector.GetMockContactBytes("Displayable")
contact, err := support.CreateContactFromBytes(bytes)
require.NoError(t, err)
aw.MustNoErr(t, err)
aDisplayable, ok := contact.(graph.Displayable)
assert.True(t, ok)
@ -43,7 +43,7 @@ func (suite *ExchangeIteratorSuite) TestDescendable() {
t := suite.T()
bytes := mockconnector.GetMockMessageBytes("Descendable")
message, err := support.CreateMessageFromBytes(bytes)
require.NoError(t, err)
aw.MustNoErr(t, err)
aDescendable, ok := message.(graph.Descendable)
assert.True(t, ok)

View File

@ -5,11 +5,11 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/exchange/api"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -48,7 +48,7 @@ func (suite *MailFolderCacheIntegrationSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
}
@ -83,7 +83,7 @@ func (suite *MailFolderCacheIntegrationSuite) TestDeltaFetch() {
for _, test := range tests {
suite.T().Run(test.name, func(t *testing.T) {
ac, err := api.NewClient(suite.credentials)
require.NoError(t, err)
aw.MustNoErr(t, err)
acm := ac.Mail()
@ -93,10 +93,10 @@ func (suite *MailFolderCacheIntegrationSuite) TestDeltaFetch() {
getter: acm,
}
require.NoError(t, mfc.Populate(ctx, fault.New(true), test.root, test.path...))
aw.MustNoErr(t, mfc.Populate(ctx, fault.New(true), test.root, test.path...))
p, l, err := mfc.IDToPath(ctx, testFolderID, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
t.Logf("Path: %s\n", p.String())
t.Logf("Location: %s\n", l.String())

View File

@ -6,7 +6,6 @@ import (
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/common"
@ -14,6 +13,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -42,18 +42,18 @@ func (suite *ExchangeRestoreSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
suite.ac, err = api.NewClient(m365)
require.NoError(t, err)
aw.MustNoErr(t, err)
adpt, err := graph.CreateAdapter(m365.AzureTenantID, m365.AzureClientID, m365.AzureClientSecret)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.gs = graph.NewService(adpt)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
}
// TestRestoreContact ensures contact object can be created, placed into
@ -70,14 +70,14 @@ func (suite *ExchangeRestoreSuite) TestRestoreContact() {
)
aFolder, err := suite.ac.Contacts().CreateContactFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
folderID := *aFolder.GetId()
defer func() {
// Remove the folder containing contact prior to exiting test
err = suite.ac.Contacts().DeleteContainer(ctx, userID, folderID)
assert.NoError(t, err)
aw.NoErr(t, err)
}()
info, err := RestoreExchangeContact(
@ -87,7 +87,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreContact() {
control.Copy,
folderID,
userID)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, info, "contact item info")
}
@ -104,14 +104,14 @@ func (suite *ExchangeRestoreSuite) TestRestoreEvent() {
)
calendar, err := suite.ac.Events().CreateCalendar(ctx, userID, name)
require.NoError(t, err)
aw.MustNoErr(t, err)
calendarID := *calendar.GetId()
defer func() {
// Removes calendar containing events created during the test
err = suite.ac.Events().DeleteContainer(ctx, userID, calendarID)
assert.NoError(t, err)
aw.NoErr(t, err)
}()
info, err := RestoreExchangeEvent(ctx,
@ -121,7 +121,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreEvent() {
calendarID,
userID,
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, info, "event item info")
}
@ -134,10 +134,10 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
t := suite.T()
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
service, err := createService(m365)
require.NoError(t, err)
aw.MustNoErr(t, err)
deleters := map[path.CategoryType]containerDeleter{
path.EmailCategory: suite.ac.Mail(),
@ -160,7 +160,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailObject: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -172,7 +172,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailwithAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -184,7 +184,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreEventItemAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -196,7 +196,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailItemAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -211,7 +211,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailBasicItemAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -226,7 +226,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "ItemMailAttachmentwAttachment " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -241,7 +241,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "ItemMailAttachment_Contact " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -253,7 +253,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreNestedEventItemAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -265,7 +265,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailwithLargeAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -277,7 +277,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailwithAttachments: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -289,7 +289,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreMailwithReferenceAttachment: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Mail().CreateMailFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -302,7 +302,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
folderName := "TestRestoreContactObject: " + common.FormatSimpleDateTime(now)
folder, err := suite.ac.Contacts().CreateContactFolder(ctx, userID, folderName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *folder.GetId()
},
@ -314,7 +314,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
calendarName := "TestRestoreEventObject: " + common.FormatSimpleDateTime(now)
calendar, err := suite.ac.Events().CreateCalendar(ctx, userID, calendarName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *calendar.GetId()
},
@ -326,7 +326,7 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination: func(t *testing.T, ctx context.Context) string {
calendarName := "TestRestoreEventObject_" + common.FormatSimpleDateTime(now)
calendar, err := suite.ac.Events().CreateCalendar(ctx, userID, calendarName)
require.NoError(t, err)
aw.MustNoErr(t, err)
return *calendar.GetId()
},
@ -348,10 +348,10 @@ func (suite *ExchangeRestoreSuite) TestRestoreExchangeObject() {
destination,
userID,
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, info, "item info was not populated")
assert.NotNil(t, deleters)
assert.NoError(t, deleters[test.category].DeleteContainer(ctx, userID, destination))
aw.NoErr(t, deleters[test.category].DeleteContainer(ctx, userID, destination))
})
}
}

View File

@ -14,6 +14,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -109,7 +110,7 @@ func TestServiceIteratorsSuite(t *testing.T) {
func (suite *ServiceIteratorsSuite) SetupSuite() {
a := tester.NewMockM365Account(suite.T())
m365, err := a.M365Config()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.creds = m365
}
@ -171,7 +172,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 1,
expectMetadataColls: 1,
},
@ -183,7 +184,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1, container2),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 2,
expectMetadataColls: 1,
},
@ -195,7 +196,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1, container2),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 2,
expectMetadataColls: 1,
},
@ -207,7 +208,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1, container2),
scope: selectors.NewExchangeBackup(nil).MailFolders(selectors.None())[0],
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 0,
expectMetadataColls: 1,
},
@ -218,7 +219,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 1,
expectMetadataColls: 1,
expectDoNotMergeColls: 1,
@ -230,7 +231,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 0,
expectMetadataColls: 1,
},
@ -242,7 +243,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1, container2),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 2,
expectMetadataColls: 1,
expectDoNotMergeColls: 1,
@ -255,7 +256,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
},
resolver: newMockResolver(container1, container2),
scope: allScope,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 1,
expectMetadataColls: 1,
},
@ -268,7 +269,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
resolver: newMockResolver(container1, container2),
scope: allScope,
failFast: true,
expectErr: assert.NoError,
expectErr: aw.NoErr,
expectNewColls: 2,
expectMetadataColls: 1,
expectDoNotMergeColls: 1,
@ -282,7 +283,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections() {
resolver: newMockResolver(container1, container2),
scope: allScope,
failFast: true,
expectErr: assert.Error,
expectErr: aw.Err,
expectNewColls: 0,
expectMetadataColls: 0,
},
@ -458,7 +459,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections_repea
dps,
control.Options{FailFast: true},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
// collection assertions
@ -533,7 +534,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections_incre
p, err := path.Builder{}.
Append(at...).
ToDataLayerExchangePathForCategory(tenantID, userID, cat, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -810,7 +811,7 @@ func (suite *ServiceIteratorsSuite) TestFilterContainersAndFillCollections_incre
test.dps,
control.Options{},
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
metadatas := 0
for _, c := range collections {

View File

@ -9,6 +9,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -31,7 +32,7 @@ func (suite *BetaClientSuite) SetupSuite() {
t := suite.T()
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
}
@ -44,7 +45,7 @@ func (suite *BetaClientSuite) TestCreateBetaClient() {
suite.credentials.AzureClientSecret,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
client := NewBetaClient(adpt)
assert.NotNil(t, client)
@ -64,7 +65,7 @@ func (suite *BetaClientSuite) TestBasicClientGetFunctionality() {
suite.credentials.AzureClientSecret,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
client := NewBetaClient(adpt)
require.NotNil(t, client)
@ -73,7 +74,7 @@ func (suite *BetaClientSuite) TestBasicClientGetFunctionality() {
collection, err := client.SitesById(siteID).Pages().Get(ctx, nil)
// Ensures that the client is able to receive data from beta
// Not Registered Error: content type application/json does not have a factory registered to be parsed
require.NoError(t, err)
aw.MustNoErr(t, err)
for _, page := range collection.GetValue() {
assert.NotNil(t, page, "betasdk call for page does not return value.")

View File

@ -12,6 +12,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
)
@ -35,7 +36,7 @@ func (suite *MetadataCollectionUnitSuite) TestFullPath() {
path.EmailCategory,
false,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
c := NewMetadataCollection(p, nil, nil)
@ -78,7 +79,7 @@ func (suite *MetadataCollectionUnitSuite) TestItems() {
path.EmailCategory,
false,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
c := NewMetadataCollection(
p,
@ -96,7 +97,7 @@ func (suite *MetadataCollectionUnitSuite) TestItems() {
gotNames = append(gotNames, s.UUID())
buf, err := io.ReadAll(s.ToReader())
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
continue
}
@ -125,7 +126,7 @@ func (suite *MetadataCollectionUnitSuite) TestMakeMetadataCollection() {
cat: path.EmailCategory,
metadata: NewMetadataEntry("", nil),
collectionCheck: assert.Nil,
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "Tokens",
@ -138,7 +139,7 @@ func (suite *MetadataCollectionUnitSuite) TestMakeMetadataCollection() {
"hola": "mundo",
}),
collectionCheck: assert.NotNil,
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "BadCategory",
@ -151,7 +152,7 @@ func (suite *MetadataCollectionUnitSuite) TestMakeMetadataCollection() {
"hola": "mundo",
}),
collectionCheck: assert.Nil,
errCheck: assert.Error,
errCheck: aw.Err,
},
}
@ -187,7 +188,7 @@ func (suite *MetadataCollectionUnitSuite) TestMakeMetadataCollection() {
itemCount++
err := decoder.Decode(&gotMap)
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
continue
}

View File

@ -7,10 +7,10 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -27,7 +27,7 @@ func (suite *GraphUnitSuite) SetupSuite() {
t := suite.T()
a := tester.NewMockM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.credentials = m365
}
@ -39,7 +39,7 @@ func (suite *GraphUnitSuite) TestCreateAdapter() {
suite.credentials.AzureClientID,
suite.credentials.AzureClientSecret)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, adpt)
}
@ -79,7 +79,7 @@ func (suite *GraphUnitSuite) TestSerializationEndPoint() {
suite.credentials.AzureTenantID,
suite.credentials.AzureClientID,
suite.credentials.AzureClientSecret)
require.NoError(t, err)
aw.MustNoErr(t, err)
serv := NewService(adpt)
email := models.NewMessage()
@ -87,7 +87,7 @@ func (suite *GraphUnitSuite) TestSerializationEndPoint() {
email.SetSubject(&subject)
byteArray, err := serv.Serialize(email)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, byteArray)
t.Log(string(byteArray))
}

View File

@ -5,12 +5,12 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/fault"
@ -53,7 +53,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestBadConnection() {
AzureTenantID: "data",
},
)
require.NoError(t, err)
aw.MustNoErr(t, err)
return a
},
},
@ -139,14 +139,14 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs() {
}{
{
name: "No scopes",
checkError: assert.Error,
checkError: aw.Err,
getSelector: func(t *testing.T) selectors.Selector {
return selectors.NewExchangeBackup(nil).Selector
},
},
{
name: "Valid Single User",
checkError: assert.NoError,
checkError: aw.NoErr,
getSelector: func(t *testing.T) selectors.Selector {
sel := selectors.NewExchangeBackup([]string{"bobKelso@someHospital.org"})
sel.Include(sel.MailFolders(selectors.Any()))
@ -155,7 +155,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs() {
},
{
name: "Partial invalid user",
checkError: assert.Error,
checkError: aw.Err,
getSelector: func(t *testing.T) selectors.Selector {
sel := selectors.NewExchangeBackup([]string{"bobkelso@someHospital.org", "janitor@someHospital.org"})
sel.Include(sel.MailFolders(selectors.Any()))
@ -165,7 +165,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs() {
},
{
name: "Invalid discrete owner",
checkError: assert.Error,
checkError: aw.Err,
getSelector: func(t *testing.T) selectors.Selector {
sel := selectors.NewOneDriveBackup([]string{"janitor@someHospital.org"})
sel.Include(sel.AllData())
@ -195,7 +195,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs_allServices
}{
{
name: "Valid User",
checkError: assert.NoError,
checkError: aw.NoErr,
excludes: func(t *testing.T) selectors.Selector {
sel := selectors.NewOneDriveBackup([]string{"elliotReid@someHospital.org", "foo@SomeCompany.org"})
sel.Exclude(sel.Folders(selectors.Any()))
@ -217,7 +217,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs_allServices
},
{
name: "Invalid User",
checkError: assert.Error,
checkError: aw.Err,
excludes: func(t *testing.T) selectors.Selector {
sel := selectors.NewOneDriveBackup([]string{"foo@SomeCompany.org"})
sel.Exclude(sel.Folders(selectors.Any()))
@ -236,7 +236,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs_allServices
},
{
name: "valid sites",
checkError: assert.NoError,
checkError: aw.NoErr,
excludes: func(t *testing.T) selectors.Selector {
sel := selectors.NewSharePointBackup([]string{"abc.site.foo", "bar.site.baz"})
sel.DiscreteOwner = "abc.site.foo"
@ -258,7 +258,7 @@ func (suite *DisconnectedGraphConnectorSuite) TestVerifyBackupInputs_allServices
},
{
name: "invalid sites",
checkError: assert.Error,
checkError: aw.Err,
excludes: func(t *testing.T) selectors.Selector {
sel := selectors.NewSharePointBackup([]string{"fnords.smarfs.brawnhilda"})
sel.Exclude(sel.AllData())

View File

@ -22,6 +22,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -58,7 +59,7 @@ func mustToDataLayerPath(
err = errors.Errorf("bad service type %s", service.String())
}
require.NoError(t, err)
aw.MustNoErr(t, err)
return res
}
@ -600,12 +601,12 @@ func compareExchangeEmail(
item data.Stream,
) {
itemData, err := io.ReadAll(item.ToReader())
if !assert.NoError(t, err, "reading collection item: %s", item.UUID()) {
if !aw.NoErr(t, err, "reading collection item: %s", item.UUID()) {
return
}
itemMessage, err := support.CreateMessageFromBytes(itemData)
if !assert.NoError(t, err, "deserializing backed up message") {
if !aw.NoErr(t, err, "deserializing backed up message") {
return
}
@ -615,7 +616,7 @@ func compareExchangeEmail(
}
expectedMessage, err := support.CreateMessageFromBytes(expectedBytes)
assert.NoError(t, err, "deserializing source message")
aw.NoErr(t, err, "deserializing source message")
checkMessage(t, expectedMessage, itemMessage)
}
@ -626,12 +627,12 @@ func compareExchangeContact(
item data.Stream,
) {
itemData, err := io.ReadAll(item.ToReader())
if !assert.NoError(t, err, "reading collection item: %s", item.UUID()) {
if !aw.NoErr(t, err, "reading collection item: %s", item.UUID()) {
return
}
itemContact, err := support.CreateContactFromBytes(itemData)
if !assert.NoError(t, err, "deserializing backed up contact") {
if !aw.NoErr(t, err, "deserializing backed up contact") {
return
}
@ -641,7 +642,7 @@ func compareExchangeContact(
}
expectedContact, err := support.CreateContactFromBytes(expectedBytes)
assert.NoError(t, err, "deserializing source contact")
aw.NoErr(t, err, "deserializing source contact")
checkContact(t, expectedContact, itemContact)
}
@ -652,12 +653,12 @@ func compareExchangeEvent(
item data.Stream,
) {
itemData, err := io.ReadAll(item.ToReader())
if !assert.NoError(t, err, "reading collection item: %s", item.UUID()) {
if !aw.NoErr(t, err, "reading collection item: %s", item.UUID()) {
return
}
itemEvent, err := support.CreateEventFromBytes(itemData)
if !assert.NoError(t, err, "deserializing backed up contact") {
if !aw.NoErr(t, err, "deserializing backed up contact") {
return
}
@ -667,7 +668,7 @@ func compareExchangeEvent(
}
expectedEvent, err := support.CreateEventFromBytes(expectedBytes)
assert.NoError(t, err, "deserializing source contact")
aw.NoErr(t, err, "deserializing source contact")
checkEvent(t, expectedEvent, itemEvent)
}
@ -715,7 +716,7 @@ func compareOneDriveItem(
}
buf, err := io.ReadAll(item.ToReader())
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
return
}
@ -1108,7 +1109,7 @@ func loadConnector(ctx context.Context, t *testing.T, itemClient *http.Client, r
a := tester.NewM365Account(t)
connector, err := NewGraphConnector(ctx, itemClient, a, r, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
return connector
}

View File

@ -16,6 +16,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/control"
@ -125,7 +126,7 @@ func (suite *GraphConnectorUnitSuite) TestUnionSiteIDsAndWebURLs() {
defer flush()
result, err := gc.UnionSiteIDsAndWebURLs(ctx, test.ids, test.urls, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.ElementsMatch(t, test.expect, result)
})
}
@ -180,7 +181,7 @@ func (suite *GraphConnectorIntegrationSuite) TestSetTenantUsers() {
defer flush()
owners, err := api.NewClient(suite.connector.credentials)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
newConnector.Owners = owners
suite.Empty(len(newConnector.Users))
@ -207,13 +208,13 @@ func (suite *GraphConnectorIntegrationSuite) TestSetTenantSites() {
t := suite.T()
service, err := newConnector.createService()
require.NoError(t, err)
aw.MustNoErr(t, err)
newConnector.Service = service
assert.Equal(t, 0, len(newConnector.Sites))
err = newConnector.setTenantSites(ctx, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Less(t, 0, len(newConnector.Sites))
for _, site := range newConnector.Sites {
@ -246,7 +247,7 @@ func (suite *GraphConnectorIntegrationSuite) TestRestoreFailsBadService() {
},
nil,
fault.New(true))
assert.Error(t, err)
aw.Err(t, err)
assert.NotNil(t, deets)
status := suite.connector.AwaitStatus()
@ -323,7 +324,7 @@ func (suite *GraphConnectorIntegrationSuite) TestEmptyCollections() {
},
test.col,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.NotNil(t, deets)
stats := suite.connector.AwaitStatus()
@ -351,7 +352,7 @@ func mustGetDefaultDriveID(
err = graph.Wrap(ctx, err, "retrieving drive")
}
require.NoError(t, err)
aw.MustNoErr(t, err)
id := ptr.Val(d.GetId())
require.NotEmpty(t, id)
@ -421,7 +422,7 @@ func runRestore(
config.opts,
collections,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.NotNil(t, deets)
status := restoreGC.AwaitStatus()
@ -478,7 +479,7 @@ func runBackupAndCompare(
ToggleFeatures: control.Toggles{EnablePermissionsBackup: true},
},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
// No excludes yet because this isn't an incremental backup.
assert.Empty(t, excludes)
@ -952,7 +953,7 @@ func (suite *GraphConnectorIntegrationSuite) TestMultiFolderBackupDifferentNames
},
collections,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, deets)
status := restoreGC.AwaitStatus()
@ -981,7 +982,7 @@ func (suite *GraphConnectorIntegrationSuite) TestMultiFolderBackupDifferentNames
ToggleFeatures: control.Toggles{EnablePermissionsBackup: true},
},
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
// No excludes yet because this isn't an incremental backup.
assert.Empty(t, excludes)

View File

@ -15,6 +15,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -35,7 +36,7 @@ func (suite *MockExchangeCollectionSuite) TestMockExchangeCollection() {
for item := range mdc.Items(ctx, fault.New(true)) {
_, err := io.ReadAll(item.ToReader())
assert.NoError(suite.T(), err)
aw.NoErr(suite.T(), err)
messagesRead++
}
@ -52,7 +53,7 @@ func (suite *MockExchangeCollectionSuite) TestMockExchangeCollectionItemSize() {
for item := range mdc.Items(ctx, fault.New(true)) {
buf, err := io.ReadAll(item.ToReader())
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Implements(t, (*data.StreamSize)(nil), item)
s := item.(data.StreamSize)
@ -72,11 +73,11 @@ func (suite *MockExchangeCollectionSuite) TestMockExchangeCollection_NewExchange
for stream := range mdc.Items(ctx, fault.New(true)) {
_, err := buf.ReadFrom(stream.ToReader())
assert.NoError(t, err)
aw.NoErr(t, err)
byteArray := buf.Bytes()
something, err := support.CreateFromBytes(byteArray, models.CreateMessageFromDiscriminatorValue)
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotNil(t, something)
}
}
@ -104,7 +105,7 @@ func (suite *MockExchangeDataSuite) TestMockExchangeData() {
ID: id,
Reader: io.NopCloser(bytes.NewReader(itemData)),
},
check: require.NoError,
check: aw.MustNoErr,
},
{
name: "Error",
@ -112,7 +113,7 @@ func (suite *MockExchangeDataSuite) TestMockExchangeData() {
ID: id,
ReadErr: assert.AnError,
},
check: require.Error,
check: aw.MustErr,
},
}
@ -192,10 +193,10 @@ func (suite *MockExchangeDataSuite) TestMockByteHydration() {
temp := mockconnector.GetMockList(subject, "Artist", emptyMap)
writer := kioser.NewJsonSerializationWriter()
err := writer.WriteObjectValue("", temp)
require.NoError(t, err)
aw.MustNoErr(t, err)
bytes, err := writer.GetSerializedContent()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
_, err = support.CreateListFromBytes(bytes)
@ -206,7 +207,7 @@ func (suite *MockExchangeDataSuite) TestMockByteHydration() {
name: "SharePoint: List 6 Items",
transformation: func(t *testing.T) error {
bytes, err := mockconnector.GetMockListBytes(subject)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
_, err = support.CreateListFromBytes(bytes)
return err
},
@ -225,7 +226,7 @@ func (suite *MockExchangeDataSuite) TestMockByteHydration() {
for _, test := range tests {
suite.T().Run(test.name, func(t *testing.T) {
err := test.transformation(t)
assert.NoError(t, err)
aw.NoErr(t, err)
})
}
}

View File

@ -8,9 +8,9 @@ import (
kw "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
)
@ -159,7 +159,7 @@ func GetMockListBytes(title string) ([]byte, error) {
// of the Mocked SharePoint List
func GetMockListStream(t *testing.T, title string, numOfItems int) *MockListData {
byteArray, err := GetMockListBytes(title)
require.NoError(t, err)
aw.MustNoErr(t, err)
listData := &MockListData{
ID: title,

View File

@ -9,9 +9,9 @@ import (
js "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/pkg/errors"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester/aw"
)
//nolint:lll
@ -693,10 +693,10 @@ func GetMockMessageWithNestedItemAttachmentEvent(subject string) []byte {
func GetMockMessageWithNestedItemAttachmentMail(t *testing.T, nested []byte, subject string) []byte {
base := GetMockMessageBytes(subject)
message, err := hydrateMessage(base)
require.NoError(t, err)
aw.MustNoErr(t, err)
nestedMessage, err := hydrateMessage(nested)
require.NoError(t, err)
aw.MustNoErr(t, err)
iaNode := models.NewItemAttachment()
attachmentSize := int32(len(nested))
@ -713,13 +713,13 @@ func GetMockMessageWithNestedItemAttachmentMail(t *testing.T, nested []byte, sub
func GetMockMessageWithNestedItemAttachmentContact(t *testing.T, nested []byte, subject string) []byte {
base := GetMockMessageBytes(subject)
message, err := hydrateMessage(base)
require.NoError(t, err)
aw.MustNoErr(t, err)
parseNode, err := js.NewJsonParseNodeFactory().GetRootParseNode("application/json", nested)
require.NoError(t, err)
aw.MustNoErr(t, err)
anObject, err := parseNode.GetObjectValue(models.CreateContactFromDiscriminatorValue)
require.NoError(t, err)
aw.MustNoErr(t, err)
contact := anObject.(models.Contactable)
internalName := "Nested Contact"
@ -736,10 +736,10 @@ func GetMockMessageWithNestedItemAttachmentContact(t *testing.T, nested []byte,
func serialize(t *testing.T, item absser.Parsable) []byte {
wtr := js.NewJsonSerializationWriter()
err := wtr.WriteObjectValue("", item)
require.NoError(t, err)
aw.MustNoErr(t, err)
byteArray, err := wtr.GetSerializedContent()
require.NoError(t, err)
aw.MustNoErr(t, err)
return byteArray
}

View File

@ -21,6 +21,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -162,9 +163,9 @@ func (suite *CollectionUnitTestSuite) TestCollection() {
)
folderPath, err := GetCanonicalPath("drive/driveID1/root:/dir1/dir2/dir3", "tenant", "owner", test.source)
require.NoError(t, err)
aw.MustNoErr(t, err)
driveFolderPath, err := path.GetDriveFolderPath(folderPath)
require.NoError(t, err)
aw.MustNoErr(t, err)
coll := NewCollection(
graph.HTTPClient(graph.NoTimeout()),
@ -240,7 +241,7 @@ func (suite *CollectionUnitTestSuite) TestCollection() {
assert.Equal(t, now, mt.ModTime())
readData, err := io.ReadAll(readItem.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
name, parentPath := test.infoFrom(t, readItemInfo.Info())
@ -254,7 +255,7 @@ func (suite *CollectionUnitTestSuite) TestCollection() {
assert.Equal(t, testItemName+MetaFileSuffix, readItemMeta.UUID())
readMetaData, err := io.ReadAll(readItemMeta.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
tm, err := json.Marshal(testItemMeta)
if err != nil {
@ -301,7 +302,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionReadError() {
wg.Add(1)
folderPath, err := GetCanonicalPath("drive/driveID1/root:/folderPath", "a-tenant", "a-user", test.source)
require.NoError(t, err)
aw.MustNoErr(t, err)
coll := NewCollection(
graph.HTTPClient(graph.NoTimeout()),
@ -343,7 +344,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionReadError() {
assert.True(t, ok)
_, err = io.ReadAll(collItem.ToReader())
assert.Error(t, err)
aw.Err(t, err)
wg.Wait()
@ -380,7 +381,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionDisablePermissionsBackup() {
wg.Add(1)
folderPath, err := GetCanonicalPath("drive/driveID1/root:/folderPath", "a-tenant", "a-user", test.source)
require.NoError(t, err)
aw.MustNoErr(t, err)
coll := NewCollection(
graph.HTTPClient(graph.NoTimeout()),
@ -435,7 +436,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionDisablePermissionsBackup() {
for _, i := range readItems {
if strings.HasSuffix(i.UUID(), MetaFileSuffix) {
content, err := io.ReadAll(i.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
require.Equal(t, content, []byte("{}"))
}
}
@ -471,7 +472,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionPermissionBackupLatestModTim
wg.Add(1)
folderPath, err := GetCanonicalPath("drive/driveID1/root:/folderPath", "a-tenant", "a-user", test.source)
require.NoError(t, err)
aw.MustNoErr(t, err)
coll := NewCollection(
graph.HTTPClient(graph.NoTimeout()),
@ -526,7 +527,7 @@ func (suite *CollectionUnitTestSuite) TestCollectionPermissionBackupLatestModTim
for _, i := range readItems {
if strings.HasSuffix(i.UUID(), MetaFileSuffix) {
content, err := io.ReadAll(i.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
require.Equal(t, content, []byte("{}"))
im, ok := i.(data.StreamModTime)
require.Equal(t, ok, true, "modtime interface")

View File

@ -19,6 +19,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -49,11 +50,11 @@ func getExpectedStatePathGenerator(
} else {
require.Len(t, pths, 2, "invalid number of paths to getExpectedStatePathGenerator")
p2, err = GetCanonicalPath(base+pths[1], tenant, user, OneDriveSource)
require.NoError(t, err)
aw.MustNoErr(t, err)
}
p1, err = GetCanonicalPath(base+pths[0], tenant, user, OneDriveSource)
require.NoError(t, err)
aw.MustNoErr(t, err)
switch state {
case data.NewState:
@ -81,7 +82,7 @@ func getExpectedPathGenerator(t *testing.T,
) func(string) string {
return func(path string) string {
p, err := GetCanonicalPath(base+path, tenant, user, OneDriveSource)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p.String()
}
@ -110,20 +111,20 @@ func (suite *OneDriveCollectionsSuite) TestGetCanonicalPath() {
source: OneDriveSource,
dir: []string{"onedrive"},
expect: "tenant/onedrive/resourceOwner/files/onedrive",
expectErr: assert.NoError,
expectErr: aw.NoErr,
},
{
name: "sharepoint",
source: SharePointSource,
dir: []string{"sharepoint"},
expect: "tenant/sharepoint/resourceOwner/libraries/sharepoint",
expectErr: assert.NoError,
expectErr: aw.NoErr,
},
{
name: "unknown",
source: unknownDriveSource,
dir: []string{"unknown"},
expectErr: assert.Error,
expectErr: aw.Err,
},
}
for _, test := range table {
@ -174,7 +175,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.Error,
expect: aw.Err,
expectedMetadataPaths: map[string]string{
"root": expectedPath(""),
},
@ -188,7 +189,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
},
@ -209,7 +210,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
},
@ -229,7 +230,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
},
@ -253,7 +254,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.NewState, folder),
@ -284,7 +285,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: (&selectors.OneDriveBackup{}).Folders([]string{"folder"})[0],
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"folder": expectedStatePath(data.NewState, folder),
"subfolder": expectedStatePath(data.NewState, folderSub),
@ -318,7 +319,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
inputFolderMap: map[string]string{},
scope: (&selectors.OneDriveBackup{}).
Folders([]string{"/folder/subfolder"}, selectors.PrefixMatch())[0],
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"subfolder": expectedStatePath(data.NewState, folderSub),
"folder2": expectedStatePath(data.NewState, folderSub+folder),
@ -346,7 +347,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: (&selectors.OneDriveBackup{}).Folders([]string{"folder/subfolder"})[0],
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"subfolder": expectedStatePath(data.NewState, folderSub),
},
@ -370,7 +371,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.NotMovedState, "/folder"),
@ -396,7 +397,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/a-folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.MovedState, "/folder", "/a-folder"),
@ -422,7 +423,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"folder": expectedPath("/folder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.NotMovedState, "/folder"),
@ -446,7 +447,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.NewState, "/folder2"),
@ -469,7 +470,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
},
inputFolderMap: map[string]string{},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.NewState, "/folder"),
@ -495,7 +496,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/a-folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.MovedState, "/folder", "/a-folder"),
@ -523,7 +524,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/a-folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.MovedState, "/folder", "/a-folder"),
@ -562,7 +563,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/a-folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.MovedState, "/folder", "/a-folder"),
@ -593,7 +594,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"package": expectedPath("/package"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"folder": expectedStatePath(data.DeletedState, folder),
"package": expectedStatePath(data.DeletedState, pkg),
@ -616,7 +617,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"root": expectedPath(""),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{},
expectedItemCount: 0,
expectedFileCount: 0,
@ -639,7 +640,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"subfolder": expectedPath("/folder/subfolder"),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: map[string]statePath{
"root": expectedStatePath(data.NotMovedState, ""),
"folder": expectedStatePath(data.DeletedState, folder),
@ -663,7 +664,7 @@ func (suite *OneDriveCollectionsSuite) TestUpdateCollections() {
"root": expectedPath(""),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedItemCount: 1,
expectedFileCount: 1,
expectedContainerCount: 0,
@ -772,7 +773,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
folderID1: path1,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "MissingPaths",
@ -788,7 +789,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: map[string]string{},
expectedPaths: map[string]map[string]string{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "MissingDeltas",
@ -808,7 +809,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: map[string]string{},
expectedPaths: map[string]map[string]string{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
// An empty path map but valid delta results in metadata being returned
@ -833,7 +834,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: map[string]string{driveID1: deltaURL1},
expectedPaths: map[string]map[string]string{driveID1: {}},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
// An empty delta map but valid path results in no metadata for that drive
@ -862,7 +863,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: map[string]string{},
expectedPaths: map[string]map[string]string{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "SuccessTwoDrivesTwoCollections",
@ -912,7 +913,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
folderID2: path2,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
// Bad formats are logged but skip adding entries to the maps and don't
@ -930,7 +931,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: map[string]string{},
expectedPaths: map[string]map[string]string{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
// Unexpected files are logged and skipped. They don't cause an error to
@ -966,7 +967,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
folderID1: path1,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "DriveAlreadyFound_Paths",
@ -1002,7 +1003,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: nil,
expectedPaths: nil,
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "DriveAlreadyFound_Deltas",
@ -1034,7 +1035,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
},
expectedDeltas: nil,
expectedPaths: nil,
errCheck: assert.Error,
errCheck: aw.Err,
},
}
@ -1054,7 +1055,7 @@ func (suite *OneDriveCollectionsSuite) TestDeserializeMetadata() {
c(),
func(*support.ConnectorOperationStatus) {},
)
require.NoError(t, err)
aw.MustNoErr(t, err)
cols = append(cols, data.NotFoundRestoreCollection{Collection: mc})
}
@ -1138,7 +1139,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
path.FilesCategory,
false,
)
require.NoError(suite.T(), err, "making metadata path")
aw.MustNoErr(suite.T(), err, "making metadata path")
empty := ""
next := "next"
@ -1195,7 +1196,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {"root": rootFolderPath1},
},
@ -1224,7 +1225,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {"root": expectedPath1("")},
},
@ -1254,7 +1255,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
},
@ -1288,7 +1289,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
},
@ -1323,7 +1324,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
},
@ -1370,7 +1371,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
driveID2: {},
@ -1407,7 +1408,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
},
@ -1433,7 +1434,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedCollections: map[string]map[data.CollectionState][]string{
expectedPath1(""): {data.NotMovedState: {"file"}},
},
@ -1473,7 +1474,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedCollections: map[string]map[data.CollectionState][]string{
expectedPath1(""): {data.NotMovedState: {"file", "folder"}},
expectedPath1("/folder"): {data.NewState: {"file"}},
@ -1512,7 +1513,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
prevFolderPaths: map[string]map[string]string{
driveID1: {},
},
@ -1595,7 +1596,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
},
func(*support.ConnectorOperationStatus) {},
)
assert.NoError(t, err, "creating metadata collection")
aw.NoErr(t, err, "creating metadata collection")
prevMetadata := []data.RestoreCollection{data.NotFoundRestoreCollection{Collection: mc}}
cols, delList, err := c.Get(ctx, prevMetadata, fault.New(true))
@ -1614,7 +1615,7 @@ func (suite *OneDriveCollectionsSuite) TestGet() {
data.NotFoundRestoreCollection{Collection: baseCol},
},
fault.New(true))
if !assert.NoError(t, err, "deserializing metadata") {
if !aw.NoErr(t, err, "deserializing metadata") {
continue
}
@ -1823,7 +1824,7 @@ func (suite *OneDriveCollectionsSuite) TestCollectItems() {
test.prevDelta,
fault.New(true))
require.ErrorIs(suite.T(), err, test.err, "delta fetch err")
aw.MustErrIs(suite.T(), err, test.err, "delta fetch err")
require.Equal(suite.T(), test.deltaURL, delta.URL, "delta url")
require.Equal(suite.T(), !test.prevDeltaSuccess, delta.Reset, "delta reset")
})

View File

@ -16,6 +16,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/graph/api"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
@ -133,7 +134,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: false,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: resultDrives,
},
{
@ -146,7 +147,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: false,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: resultDrives,
},
{
@ -164,7 +165,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: false,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: resultDrives,
},
{
@ -182,7 +183,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: false,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: resultDrives,
},
{
@ -200,7 +201,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: true,
expectedErr: assert.Error,
expectedErr: aw.Err,
expectedResults: nil,
},
{
@ -213,7 +214,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: true,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: nil,
},
{
@ -226,7 +227,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: true,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: nil,
},
{
@ -249,7 +250,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: true,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
expectedResults: resultDrives,
},
{
@ -272,7 +273,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
},
},
retry: false,
expectedErr: assert.Error,
expectedErr: aw.Err,
expectedResults: nil,
},
{
@ -288,7 +289,7 @@ func (suite *OneDriveUnitSuite) TestDrives() {
tooManyRetries...,
),
retry: true,
expectedErr: assert.Error,
expectedErr: aw.Err,
expectedResults: nil,
},
}
@ -340,10 +341,10 @@ func (suite *OneDriveSuite) TestCreateGetDeleteFolder() {
gs := loadTestService(t)
pager, err := PagerForSource(OneDriveSource, gs, suite.userID, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
drives, err := drives(ctx, pager, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotEmpty(t, drives)
// TODO: Verify the intended drive
@ -359,7 +360,7 @@ func (suite *OneDriveSuite) TestCreateGetDeleteFolder() {
}()
folderID, err := CreateRestoreFolders(ctx, gs, driveID, folderElements)
require.NoError(t, err)
aw.MustNoErr(t, err)
folderIDs = append(folderIDs, folderID)
@ -367,7 +368,7 @@ func (suite *OneDriveSuite) TestCreateGetDeleteFolder() {
folderElements = append(folderElements, folderName2)
folderID, err = CreateRestoreFolders(ctx, gs, driveID, folderElements)
require.NoError(t, err)
aw.MustNoErr(t, err)
folderIDs = append(folderIDs, folderID)
@ -388,10 +389,10 @@ func (suite *OneDriveSuite) TestCreateGetDeleteFolder() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
pager, err := PagerForSource(OneDriveSource, gs, suite.userID, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
allFolders, err := GetAllFolders(ctx, gs, pager, test.prefix, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
foundFolderIDs := []string{}
@ -426,7 +427,7 @@ func (suite *OneDriveSuite) TestOneDriveNewCollections() {
defer flush()
creds, err := tester.NewM365Account(suite.T()).M365Config()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
tests := []struct {
name, user string
@ -457,7 +458,7 @@ func (suite *OneDriveSuite) TestOneDriveNewCollections() {
service.updateStatus,
control.Options{ToggleFeatures: control.Toggles{EnablePermissionsBackup: true}},
).Get(ctx, nil, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
// Don't expect excludes as this isn't an incremental backup.
assert.Empty(t, excludes)

View File

@ -15,6 +15,7 @@ import (
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -56,10 +57,10 @@ func (suite *ItemIntegrationSuite) SetupSuite() {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
adapter, err := graph.CreateAdapter(m365.AzureTenantID, m365.AzureClientID, m365.AzureClientSecret)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.client = msgraphsdk.NewGraphServiceClient(adapter)
suite.adapter = adapter
@ -68,7 +69,7 @@ func (suite *ItemIntegrationSuite) SetupSuite() {
// and guarateed drive read-write access)
// suite.site = tester.M365SiteID(t)
// spDrives, err := drives(ctx, suite, suite.site, SharePointSource)
// require.NoError(t, err)
// aw.MustNoErr(t, err)
// // Test Requirement 1: Need a drive
// require.Greaterf(t, len(spDrives), 0, "site %s does not have a drive", suite.site)
@ -78,10 +79,10 @@ func (suite *ItemIntegrationSuite) SetupSuite() {
suite.user = tester.SecondaryM365UserID(t)
pager, err := PagerForSource(OneDriveSource, suite, suite.user, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
odDrives, err := drives(ctx, pager, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
// Test Requirement 1: Need a drive
require.Greaterf(t, len(odDrives), 0, "user %s does not have a drive", suite.user)
@ -132,7 +133,7 @@ func (suite *ItemIntegrationSuite) TestItemReader_oneDrive() {
map[string]string{},
"",
fault.New(true))
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
// Test Requirement 2: Need a file
require.NotEmpty(
@ -146,12 +147,12 @@ func (suite *ItemIntegrationSuite) TestItemReader_oneDrive() {
// Read data for the file
itemInfo, itemData, err := oneDriveItemReader(ctx, graph.HTTPClient(graph.NoTimeout()), driveItem)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.NotNil(suite.T(), itemInfo.OneDrive)
require.NotEmpty(suite.T(), itemInfo.OneDrive.ItemName)
size, err := io.Copy(io.Discard, itemData)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.NotZero(suite.T(), size)
require.Equal(suite.T(), size, itemInfo.OneDrive.Size)
suite.T().Logf("Read %d bytes from file %s.", size, itemInfo.OneDrive.ItemName)
@ -180,17 +181,17 @@ func (suite *ItemIntegrationSuite) TestItemWriter() {
defer flush()
root, err := suite.Client().DrivesById(test.driveID).Root().Get(ctx, nil)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
// Test Requirement 2: "Test Folder" should exist
folder, err := getFolder(ctx, suite, test.driveID, *root.GetId(), "Test Folder")
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
newFolderName := "testfolder_" + common.FormatNow(common.SimpleTimeTesting)
suite.T().Logf("Test will create folder %s", newFolderName)
newFolder, err := createItem(ctx, suite, test.driveID, *folder.GetId(), newItem(newFolderName, true))
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.NotNil(suite.T(), newFolder.GetId())
@ -198,20 +199,20 @@ func (suite *ItemIntegrationSuite) TestItemWriter() {
suite.T().Logf("Test will create item %s", newItemName)
newItem, err := createItem(ctx, suite, test.driveID, *newFolder.GetId(), newItem(newItemName, false))
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.NotNil(suite.T(), newItem.GetId())
// HACK: Leveraging this to test getFolder behavior for a file. `getFolder()` on the
// newly created item should fail because it's a file not a folder
_, err = getFolder(ctx, suite, test.driveID, *newFolder.GetId(), newItemName)
require.ErrorIs(suite.T(), err, errFolderNotFound)
aw.MustErrIs(suite.T(), err, errFolderNotFound)
// Initialize a 100KB mockDataProvider
td, writeSize := mockDataReader(int64(100 * 1024))
w, err := driveItemWriter(ctx, suite, test.driveID, *newItem.GetId(), writeSize)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
// Using a 32 KB buffer for the copy allows us to validate the
// multi-part upload. `io.CopyBuffer` will only write 32 KB at
@ -219,7 +220,7 @@ func (suite *ItemIntegrationSuite) TestItemWriter() {
copyBuffer := make([]byte, 32*1024)
size, err := io.CopyBuffer(w, td, copyBuffer)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.Equal(suite.T(), writeSize, size)
})
@ -251,15 +252,15 @@ func (suite *ItemIntegrationSuite) TestDriveGetFolder() {
defer flush()
root, err := suite.Client().DrivesById(test.driveID).Root().Get(ctx, nil)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
// Lookup a folder that doesn't exist
_, err = getFolder(ctx, suite, test.driveID, *root.GetId(), "FolderDoesNotExist")
require.ErrorIs(suite.T(), err, errFolderNotFound)
aw.MustErrIs(suite.T(), err, errFolderNotFound)
// Lookup a folder that does exist
_, err = getFolder(ctx, suite, test.driveID, *root.GetId(), "")
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
})
}
}

View File

@ -4,11 +4,11 @@ import (
"testing"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -68,10 +68,10 @@ func (ods *oneDriveService) updateStatus(status *support.ConnectorOperationStatu
func loadTestService(t *testing.T) *oneDriveService {
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
service, err := NewOneDriveService(m365)
require.NoError(t, err)
aw.MustNoErr(t, err)
return service
}

View File

@ -3,10 +3,9 @@ package api_test
import (
"testing"
"github.com/stretchr/testify/require"
discover "github.com/alcionai/corso/src/internal/connector/discovery/api"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -16,7 +15,7 @@ func createTestBetaService(t *testing.T, credentials account.M365Config) *discov
credentials.AzureClientID,
credentials.AzureClientSecret,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
return discover.NewBetaService(adapter)
}

View File

@ -15,6 +15,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/sharepoint"
"github.com/alcionai/corso/src/internal/connector/sharepoint/api"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -33,7 +34,7 @@ func (suite *SharePointPageSuite) SetupSuite() {
suite.siteID = tester.M365SiteID(t)
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.creds = m365
suite.service = createTestBetaService(t, suite.creds)
@ -53,7 +54,7 @@ func (suite *SharePointPageSuite) TestFetchPages() {
t := suite.T()
pgs, err := api.FetchPages(ctx, suite.service, suite.siteID)
assert.NoError(t, err)
aw.NoErr(t, err)
require.NotNil(t, pgs)
assert.NotZero(t, len(pgs))
@ -68,12 +69,12 @@ func (suite *SharePointPageSuite) TestGetSitePages() {
t := suite.T()
tuples, err := api.FetchPages(ctx, suite.service, suite.siteID)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, tuples)
jobs := []string{tuples[0].ID}
pages, err := api.GetSitePages(ctx, suite.service, suite.siteID, jobs, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotEmpty(t, pages)
}
@ -103,11 +104,11 @@ func (suite *SharePointPageSuite) TestRestoreSinglePage() {
destName,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, info)
// Clean Up
pageID := info.SharePoint.ParentPath
err = api.DeleteSitePage(ctx, suite.service, suite.siteID, pageID)
assert.NoError(t, err)
aw.NoErr(t, err)
}

View File

@ -18,6 +18,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
@ -37,7 +38,7 @@ func (suite *SharePointCollectionSuite) SetupSuite() {
suite.siteID = tester.M365SiteID(t)
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.creds = m365
}
@ -61,7 +62,7 @@ func (suite *SharePointCollectionSuite) TestCollection_Item_Read() {
data: io.NopCloser(bytes.NewReader(m)),
}
readData, err := io.ReadAll(sc.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, name, sc.id)
assert.Equal(t, readData, m)
@ -91,7 +92,7 @@ func (suite *SharePointCollectionSuite) TestCollection_Items() {
user,
path.ListsCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return dir
},
@ -101,10 +102,10 @@ func (suite *SharePointCollectionSuite) TestCollection_Items() {
listing.SetDisplayName(&name)
err := ow.WriteObjectValue("", listing)
require.NoError(t, err)
aw.MustNoErr(t, err)
byteArray, err := ow.GetSerializedContent()
require.NoError(t, err)
aw.MustNoErr(t, err)
data := &Item{
id: name,
@ -126,14 +127,14 @@ func (suite *SharePointCollectionSuite) TestCollection_Items() {
user,
path.PagesCategory,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return dir
},
getItem: func(t *testing.T, itemName string) *Item {
byteArray := mockconnector.GetMockPage(itemName)
page, err := support.CreatePageFromBytes(byteArray)
require.NoError(t, err)
aw.MustNoErr(t, err)
data := &Item{
id: itemName,
@ -183,7 +184,7 @@ func (suite *SharePointCollectionSuite) TestListCollection_Restore() {
testName := "MockListing"
listing.SetDisplayName(&testName)
byteArray, err := service.Serialize(listing)
require.NoError(t, err)
aw.MustNoErr(t, err)
listData := &Item{
id: testName,
@ -194,7 +195,7 @@ func (suite *SharePointCollectionSuite) TestListCollection_Restore() {
destName := "Corso_Restore_" + common.FormatNow(common.SimpleTimeTesting)
deets, err := restoreListItem(ctx, service, listData, suite.siteID, destName)
assert.NoError(t, err)
aw.NoErr(t, err)
t.Logf("List created: %s\n", deets.SharePoint.ItemName)
// Clean-Up
@ -206,7 +207,7 @@ func (suite *SharePointCollectionSuite) TestListCollection_Restore() {
for {
resp, err := builder.Get(ctx, nil)
assert.NoError(t, err, "getting site lists")
aw.NoErr(t, err, "getting site lists")
for _, temp := range resp.GetValue() {
if *temp.GetDisplayName() == deets.SharePoint.ItemName {
@ -227,7 +228,7 @@ func (suite *SharePointCollectionSuite) TestListCollection_Restore() {
if isFound {
err := DeleteList(ctx, service, suite.siteID, deleteID)
assert.NoError(t, err)
aw.NoErr(t, err)
}
}
@ -242,17 +243,17 @@ func (suite *SharePointCollectionSuite) TestRestoreLocation() {
service := createTestService(t, suite.creds)
rootFolder := "General_" + common.FormatNow(common.SimpleTimeTesting)
folderID, err := createRestoreFolders(ctx, service, suite.siteID, []string{rootFolder})
assert.NoError(t, err)
aw.NoErr(t, err)
t.Log("FolderID: " + folderID)
_, err = createRestoreFolders(ctx, service, suite.siteID, []string{rootFolder, "Tsao"})
assert.NoError(t, err)
aw.NoErr(t, err)
// CleanUp
siteDrive, err := service.Client().SitesById(suite.siteID).Drive().Get(ctx, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
driveID := *siteDrive.GetId()
err = onedrive.DeleteItem(ctx, service, driveID, folderID)
assert.NoError(t, err)
aw.NoErr(t, err)
}

View File

@ -5,12 +5,12 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/onedrive"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/selectors"
@ -74,7 +74,7 @@ func (suite *SharePointLibrariesSuite) TestUpdateCollections() {
driveItem("file", testBaseDrivePath, "root", true),
},
scope: anyFolder,
expect: assert.NoError,
expect: aw.NoErr,
expectedCollectionIDs: []string{"root"},
expectedCollectionPaths: expectedPathAsSlice(
suite.T(),
@ -169,7 +169,7 @@ func (suite *SharePointPagesSuite) TestCollectPages() {
siteID := tester.M365SiteID(t)
a := tester.NewM365Account(t)
account, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
col, err := collectPages(
ctx,
@ -179,6 +179,6 @@ func (suite *SharePointPagesSuite) TestCollectPages() {
&MockGraphService{},
control.Defaults(),
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.NotEmpty(t, col)
}

View File

@ -4,11 +4,11 @@ import (
"testing"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/connector/graph"
"github.com/alcionai/corso/src/internal/connector/onedrive"
"github.com/alcionai/corso/src/internal/connector/support"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -52,7 +52,7 @@ func createTestService(t *testing.T, credentials account.M365Config) *graph.Serv
credentials.AzureClientID,
credentials.AzureClientSecret,
)
require.NoError(t, err, "creating microsoft graph service for exchange")
aw.MustNoErr(t, err, "creating microsoft graph service for exchange")
return graph.NewService(adapter)
}
@ -62,7 +62,7 @@ func expectedPathAsSlice(t *testing.T, tenant, user string, rest ...string) []st
for _, r := range rest {
p, err := onedrive.GetCanonicalPath(r, tenant, user, onedrive.SharePointSource)
require.NoError(t, err)
aw.MustNoErr(t, err)
res = append(res, p.String())
}

View File

@ -4,10 +4,10 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -21,7 +21,7 @@ func (suite *SharePointSuite) SetupSuite() {
t := suite.T()
a := tester.NewM365Account(t)
m365, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.creds = m365
}
@ -52,11 +52,11 @@ func (suite *SharePointSuite) TestLoadList() {
t := suite.T()
service := createTestService(t, suite.creds)
tuples, err := preFetchLists(ctx, service, "root")
require.NoError(t, err)
aw.MustNoErr(t, err)
job := []string{tuples[0].id}
lists, err := loadSiteLists(ctx, service, "root", job, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Greater(t, len(lists), 0)
t.Logf("Length: %d\n", len(lists))
}

View File

@ -6,11 +6,11 @@ import (
kioser "github.com/microsoft/kiota-serialization-json-go"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
bmodels "github.com/alcionai/corso/src/internal/connector/graph/betasdk/models"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type DataSupportSuite struct {
@ -38,13 +38,13 @@ func (suite *DataSupportSuite) TestCreateMessageFromBytes() {
{
name: "Empty Bytes",
byteArray: make([]byte, 0),
checkError: assert.Error,
checkError: aw.Err,
checkObject: assert.Nil,
},
{
name: "aMessage bytes",
byteArray: mockconnector.GetMockMessageBytes("m365 mail support test"),
checkError: assert.NoError,
checkError: aw.NoErr,
checkObject: assert.NotNil,
},
}
@ -69,19 +69,19 @@ func (suite *DataSupportSuite) TestCreateContactFromBytes() {
{
name: empty,
byteArray: make([]byte, 0),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: invalid,
byteArray: []byte("A random sentence doesn't make an object"),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: "Valid Contact",
byteArray: mockconnector.GetMockContactBytes("Support Test"),
checkError: assert.NoError,
checkError: aw.NoErr,
isNil: assert.NotNil,
},
}
@ -104,19 +104,19 @@ func (suite *DataSupportSuite) TestCreateEventFromBytes() {
{
name: empty,
byteArray: make([]byte, 0),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: invalid,
byteArray: []byte("Invalid byte stream \"subject:\" Not going to work"),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: "Valid Event",
byteArray: mockconnector.GetDefaultMockEventBytes("Event Test"),
checkError: assert.NoError,
checkError: aw.NoErr,
isNil: assert.NotNil,
},
}
@ -131,7 +131,7 @@ func (suite *DataSupportSuite) TestCreateEventFromBytes() {
func (suite *DataSupportSuite) TestCreateListFromBytes() {
listBytes, err := mockconnector.GetMockListBytes("DataSupportSuite")
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
tests := []struct {
name string
@ -142,19 +142,19 @@ func (suite *DataSupportSuite) TestCreateListFromBytes() {
{
name: empty,
byteArray: make([]byte, 0),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: invalid,
byteArray: []byte("Invalid byte stream \"subject:\" Not going to work"),
checkError: assert.Error,
checkError: aw.Err,
isNil: assert.Nil,
},
{
name: "Valid List",
byteArray: listBytes,
checkError: assert.NoError,
checkError: aw.NoErr,
isNil: assert.NotNil,
},
}
@ -177,7 +177,7 @@ func (suite *DataSupportSuite) TestCreatePageFromBytes() {
}{
{
empty,
assert.Error,
aw.Err,
assert.Nil,
func(t *testing.T) []byte {
return make([]byte, 0)
@ -185,7 +185,7 @@ func (suite *DataSupportSuite) TestCreatePageFromBytes() {
},
{
invalid,
assert.Error,
aw.Err,
assert.Nil,
func(t *testing.T) []byte {
return []byte("snarf")
@ -193,7 +193,7 @@ func (suite *DataSupportSuite) TestCreatePageFromBytes() {
},
{
"Valid Page",
assert.NoError,
aw.NoErr,
assert.NotNil,
func(t *testing.T) []byte {
pg := bmodels.NewSitePage()
@ -204,10 +204,10 @@ func (suite *DataSupportSuite) TestCreatePageFromBytes() {
writer := kioser.NewJsonSerializationWriter()
err := pg.Serialize(writer)
require.NoError(t, err)
aw.MustNoErr(t, err)
byteArray, err := writer.GetSerializedContent()
require.NoError(t, err)
aw.MustNoErr(t, err)
return byteArray
},
@ -239,7 +239,7 @@ func (suite *DataSupportSuite) TestHasAttachments() {
"This is testing",
)
message, err := CreateMessageFromBytes(byteArray)
require.NoError(t, err)
aw.MustNoErr(t, err)
return message.GetBody()
},
},
@ -249,7 +249,7 @@ func (suite *DataSupportSuite) TestHasAttachments() {
getBodyable: func(t *testing.T) models.ItemBodyable {
byteArray := mockconnector.GetMessageWithOneDriveAttachment("Test legacy")
message, err := CreateMessageFromBytes(byteArray)
require.NoError(t, err)
aw.MustNoErr(t, err)
return message.GetBody()
},
},

View File

@ -5,10 +5,10 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type SupportTestSuite struct {
@ -22,7 +22,7 @@ func TestSupportTestSuite(t *testing.T) {
func (suite *SupportTestSuite) TestToMessage() {
bytes := mockconnector.GetMockMessageBytes("m365 mail support test")
message, err := CreateMessageFromBytes(bytes)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
clone := ToMessage(message)
suite.Equal(message.GetBccRecipients(), clone.GetBccRecipients())
@ -36,7 +36,7 @@ func (suite *SupportTestSuite) TestToEventSimplified() {
t := suite.T()
bytes := mockconnector.GetMockEventWithAttendeesBytes("M365 Event Support Test")
event, err := CreateEventFromBytes(bytes)
require.NoError(t, err)
aw.MustNoErr(t, err)
attendees := event.GetAttendees()
newEvent := ToEventSimplified(event)

View File

@ -10,6 +10,7 @@ import (
"strconv"
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
@ -44,11 +45,11 @@ func (suite *UploadSessionSuite) TestWriter() {
// Extract the Content-Range components
matches := contentRangeRegex.FindStringSubmatch(r.Header[contentRangeHeaderKey][0])
rangeStart, err := strconv.Atoi(matches[contentRangeRegex.SubexpIndex("rangestart")])
assert.NoError(t, err)
aw.NoErr(t, err)
rangeEnd, err := strconv.Atoi(matches[contentRangeRegex.SubexpIndex("rangeend")])
assert.NoError(t, err)
aw.NoErr(t, err)
length, err := strconv.Atoi(matches[contentRangeRegex.SubexpIndex("length")])
assert.NoError(t, err)
aw.NoErr(t, err)
// Validate total size and range start/end
assert.Equal(t, int(writeSize), length)
@ -70,7 +71,7 @@ func (suite *UploadSessionSuite) TestWriter() {
copyBuffer := make([]byte, 32*1024)
size, err := io.CopyBuffer(writer, td, copyBuffer)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.Equal(suite.T(), writeSize, size)
}

View File

@ -4,9 +4,9 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/path"
)
@ -22,11 +22,11 @@ func (suite *DataCollectionSuite) TestStateOf() {
fooP, err := path.Builder{}.
Append("foo").
ToDataLayerExchangePathForCategory("t", "u", path.EmailCategory, false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
barP, err := path.Builder{}.
Append("bar").
ToDataLayerExchangePathForCategory("t", "u", path.EmailCategory, false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string

View File

@ -8,6 +8,7 @@ import (
"github.com/alcionai/corso/src/internal/events"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/credentials"
@ -36,7 +37,7 @@ func (suite *EventsIntegrationSuite) TestNewBus() {
Prefix: "prfx",
},
)
require.NoError(t, err)
aw.MustNoErr(t, err)
a, err := account.NewAccount(
account.ProviderM365,
@ -48,15 +49,15 @@ func (suite *EventsIntegrationSuite) TestNewBus() {
AzureTenantID: "tid",
},
)
require.NoError(t, err)
aw.MustNoErr(t, err)
b, err := events.NewBus(ctx, s, a.ID(), control.Options{})
require.NotEmpty(t, b)
require.NoError(t, err)
require.NoError(t, b.Close())
aw.MustNoErr(t, err)
aw.MustNoErr(t, b.Close())
b2, err := events.NewBus(ctx, s, a.ID(), control.Options{DisableMetrics: true})
require.Empty(t, b2)
require.NoError(t, err)
require.NoError(t, b2.Close())
aw.MustNoErr(t, err)
aw.MustNoErr(t, b2.Close())
}

View File

@ -13,6 +13,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/storage"
)
@ -76,13 +77,13 @@ func (suite *WrapperIntegrationSuite) TestRepoExistsError() {
st := tester.NewPrefixedS3Storage(t)
k := NewConn(st)
require.NoError(t, k.Initialize(ctx))
aw.MustNoErr(t, k.Initialize(ctx))
require.NoError(t, k.Close(ctx))
aw.MustNoErr(t, k.Close(ctx))
err := k.Initialize(ctx)
assert.Error(t, err)
assert.ErrorIs(t, err, ErrorRepoAlreadyExists)
aw.Err(t, err)
aw.ErrIs(t, err, ErrorRepoAlreadyExists)
}
func (suite *WrapperIntegrationSuite) TestBadProviderErrors() {
@ -95,7 +96,7 @@ func (suite *WrapperIntegrationSuite) TestBadProviderErrors() {
st.Provider = storage.ProviderUnknown
k := NewConn(st)
assert.Error(t, k.Initialize(ctx))
aw.Err(t, k.Initialize(ctx))
}
func (suite *WrapperIntegrationSuite) TestConnectWithoutInitErrors() {
@ -106,7 +107,7 @@ func (suite *WrapperIntegrationSuite) TestConnectWithoutInitErrors() {
st := tester.NewPrefixedS3Storage(t)
k := NewConn(st)
assert.Error(t, k.Connect(ctx))
aw.Err(t, k.Connect(ctx))
}
func (suite *WrapperIntegrationSuite) TestCloseTwiceDoesNotCrash() {
@ -116,10 +117,10 @@ func (suite *WrapperIntegrationSuite) TestCloseTwiceDoesNotCrash() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
assert.NoError(t, k.Close(ctx))
aw.MustNoErr(t, err)
aw.NoErr(t, k.Close(ctx))
assert.Nil(t, k.Repository)
assert.NoError(t, k.Close(ctx))
aw.NoErr(t, k.Close(ctx))
}
func (suite *WrapperIntegrationSuite) TestCloseAfterWrap() {
@ -129,17 +130,17 @@ func (suite *WrapperIntegrationSuite) TestCloseAfterWrap() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NoError(t, k.wrap())
aw.MustNoErr(t, k.wrap())
assert.Equal(t, 2, k.refCount)
require.NoError(t, k.Close(ctx))
aw.MustNoErr(t, k.Close(ctx))
assert.NotNil(t, k.Repository)
assert.Equal(t, 1, k.refCount)
require.NoError(t, k.Close(ctx))
aw.MustNoErr(t, k.Close(ctx))
assert.Nil(t, k.Repository)
assert.Equal(t, 0, k.refCount)
}
@ -151,10 +152,10 @@ func (suite *WrapperIntegrationSuite) TestOpenAfterClose() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.NoError(t, k.Close(ctx))
assert.Error(t, k.wrap())
aw.NoErr(t, k.Close(ctx))
aw.Err(t, k.wrap())
}
func (suite *WrapperIntegrationSuite) TestBadCompressorType() {
@ -164,13 +165,13 @@ func (suite *WrapperIntegrationSuite) TestBadCompressorType() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
defer func() {
assert.NoError(t, k.Close(ctx))
aw.NoErr(t, k.Close(ctx))
}()
assert.Error(t, k.Compression(ctx, "not-a-compressor"))
aw.Err(t, k.Compression(ctx, "not-a-compressor"))
}
func (suite *WrapperIntegrationSuite) TestGetPolicyOrDefault_GetsDefault() {
@ -180,10 +181,10 @@ func (suite *WrapperIntegrationSuite) TestGetPolicyOrDefault_GetsDefault() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
defer func() {
assert.NoError(t, k.Close(ctx))
aw.NoErr(t, k.Close(ctx))
}()
si := snapshot.SourceInfo{
@ -193,7 +194,7 @@ func (suite *WrapperIntegrationSuite) TestGetPolicyOrDefault_GetsDefault() {
}
p, err := k.getPolicyOrEmpty(ctx, si)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, policy.Policy{}, *p)
}
@ -206,17 +207,17 @@ func (suite *WrapperIntegrationSuite) TestSetCompressor() {
compressor := "pgzip"
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
defer func() {
assert.NoError(t, k.Close(ctx))
aw.NoErr(t, k.Close(ctx))
}()
assert.NoError(t, k.Compression(ctx, compressor))
aw.NoErr(t, k.Compression(ctx, compressor))
// Check the policy was actually created and has the right compressor.
p, err := k.getPolicyOrEmpty(ctx, policy.GlobalPolicySourceInfo)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, compressor, string(p.CompressionPolicy.CompressorName))
@ -229,7 +230,7 @@ func (suite *WrapperIntegrationSuite) TestSetCompressor() {
}
policyTree, err := policy.TreeForSource(ctx, k, si)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(
t,
@ -300,25 +301,25 @@ func (suite *WrapperIntegrationSuite) TestConfigDefaultsSetOnInitAndConnect() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
p, err := k.getPolicyOrEmpty(ctx, policy.GlobalPolicySourceInfo)
require.NoError(t, err)
aw.MustNoErr(t, err)
test.checkFunc(t, p)
require.NoError(t, test.mutator(ctx, p))
require.NoError(t, k.writeGlobalPolicy(ctx, "TestDefaultPolicyConfigSet", p))
require.NoError(t, k.Close(ctx))
aw.MustNoErr(t, test.mutator(ctx, p))
aw.MustNoErr(t, k.writeGlobalPolicy(ctx, "TestDefaultPolicyConfigSet", p))
aw.MustNoErr(t, k.Close(ctx))
require.NoError(t, k.Connect(ctx))
aw.MustNoErr(t, k.Connect(ctx))
defer func() {
assert.NoError(t, k.Close(ctx))
aw.NoErr(t, k.Close(ctx))
}()
p, err = k.getPolicyOrEmpty(ctx, policy.GlobalPolicySourceInfo)
require.NoError(t, err)
aw.MustNoErr(t, err)
test.checkFunc(t, p)
})
@ -332,10 +333,10 @@ func (suite *WrapperIntegrationSuite) TestInitAndConnWithTempDirectory() {
t := suite.T()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
require.NoError(t, k.Close(ctx))
aw.MustNoErr(t, err)
aw.MustNoErr(t, k.Close(ctx))
// Re-open with Connect.
require.NoError(t, k.Connect(ctx))
assert.NoError(t, k.Close(ctx))
aw.MustNoErr(t, k.Connect(ctx))
aw.NoErr(t, k.Close(ctx))
}

View File

@ -16,6 +16,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
)
@ -41,7 +42,7 @@ func (suite *KopiaDataCollectionUnitSuite) TestReturnsPath() {
path.EmailCategory,
false,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
c := kopiaDataCollection{
streams: []data.Stream{},
@ -112,7 +113,7 @@ func (suite *KopiaDataCollectionUnitSuite) TestReturnsStreams() {
assert.Equal(t, returnedStream.UUID(), uuids[count])
buf, err := io.ReadAll(returnedStream.ToReader())
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, buf, testData[count])
require.Implements(t, (*data.StreamSize)(nil), returnedStream)
ss := returnedStream.(data.StreamSize)
@ -217,7 +218,7 @@ func (suite *KopiaDataCollectionUnitSuite) TestFetch() {
category,
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string
@ -233,28 +234,28 @@ func (suite *KopiaDataCollectionUnitSuite) TestFetch() {
inputName: noErrFileName,
inputSerializationVersion: serializationVersion,
expectedData: []byte(noErrFileData),
lookupErr: assert.NoError,
readErr: assert.NoError,
lookupErr: aw.NoErr,
readErr: aw.NoErr,
},
{
name: "FileFound_ReadError",
inputName: errFileName,
inputSerializationVersion: serializationVersion,
lookupErr: assert.NoError,
readErr: assert.Error,
lookupErr: aw.NoErr,
readErr: aw.Err,
},
{
name: "FileFound_VersionError",
inputName: noErrFileName,
inputSerializationVersion: serializationVersion + 1,
lookupErr: assert.NoError,
readErr: assert.Error,
lookupErr: aw.NoErr,
readErr: aw.Err,
},
{
name: "FileNotFound",
inputName: "foo",
inputSerializationVersion: serializationVersion + 1,
lookupErr: assert.Error,
lookupErr: aw.Err,
notFoundErr: true,
},
}
@ -276,7 +277,7 @@ func (suite *KopiaDataCollectionUnitSuite) TestFetch() {
if err != nil {
if test.notFoundErr {
assert.ErrorIs(t, err, data.ErrNotFound)
aw.ErrIs(t, err, data.ErrNotFound)
}
return

View File

@ -15,6 +15,7 @@ import (
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup"
)
@ -26,7 +27,7 @@ type fooModel struct {
//revive:disable-next-line:context-as-argument
func getModelStore(t *testing.T, ctx context.Context) *ModelStore {
c, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
return &ModelStore{c: c, modelVersion: globalModelVersion}
}
@ -79,7 +80,7 @@ func (suite *ModelStoreIntegrationSuite) SetupTest() {
func (suite *ModelStoreIntegrationSuite) TearDownTest() {
defer suite.flush()
assert.NoError(suite.T(), suite.m.Close(suite.ctx))
aw.NoErr(suite.T(), suite.m.Close(suite.ctx))
}
func (suite *ModelStoreIntegrationSuite) TestBadTagsErrors() {
@ -114,7 +115,7 @@ func (suite *ModelStoreIntegrationSuite) TestBadTagsErrors() {
foo := &fooModel{Bar: uuid.NewString()}
foo.Tags = test.tags
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.Put(suite.ctx, model.BackupOpSchema, foo),
errBadTagKey,
@ -122,13 +123,13 @@ func (suite *ModelStoreIntegrationSuite) TestBadTagsErrors() {
// Add model for update/get ID checks.
foo.Tags = map[string]string{}
require.NoError(
aw.MustNoErr(
t,
suite.m.Put(suite.ctx, model.BackupOpSchema, foo),
)
foo.Tags = test.tags
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.Update(suite.ctx, model.BackupOpSchema, foo),
errBadTagKey,
@ -139,7 +140,7 @@ func (suite *ModelStoreIntegrationSuite) TestBadTagsErrors() {
model.BackupOpSchema,
test.tags,
)
assert.ErrorIs(t, err, errBadTagKey)
aw.ErrIs(t, err, errBadTagKey)
})
}
}
@ -156,14 +157,14 @@ func (suite *ModelStoreIntegrationSuite) TestNoIDsErrors() {
noModelStoreID.ID = model.StableID(uuid.NewString())
noModelStoreID.ModelStoreID = ""
assert.Error(t, suite.m.Update(suite.ctx, theModelType, noStableID))
assert.Error(t, suite.m.Update(suite.ctx, theModelType, noModelStoreID))
aw.Err(t, suite.m.Update(suite.ctx, theModelType, noStableID))
aw.Err(t, suite.m.Update(suite.ctx, theModelType, noModelStoreID))
assert.Error(t, suite.m.Get(suite.ctx, theModelType, "", nil))
assert.Error(t, suite.m.GetWithModelStoreID(suite.ctx, theModelType, "", nil))
aw.Err(t, suite.m.Get(suite.ctx, theModelType, "", nil))
aw.Err(t, suite.m.GetWithModelStoreID(suite.ctx, theModelType, "", nil))
assert.Error(t, suite.m.Delete(suite.ctx, theModelType, ""))
assert.Error(t, suite.m.DeleteWithModelStoreID(suite.ctx, ""))
aw.Err(t, suite.m.Delete(suite.ctx, theModelType, ""))
aw.Err(t, suite.m.DeleteWithModelStoreID(suite.ctx, ""))
}
func (suite *ModelStoreIntegrationSuite) TestBadModelTypeErrors() {
@ -171,16 +172,16 @@ func (suite *ModelStoreIntegrationSuite) TestBadModelTypeErrors() {
foo := &fooModel{Bar: uuid.NewString()}
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.Put(suite.ctx, model.UnknownSchema, foo),
errUnrecognizedSchema,
)
require.NoError(t, suite.m.Put(suite.ctx, model.BackupOpSchema, foo))
aw.MustNoErr(t, suite.m.Put(suite.ctx, model.BackupOpSchema, foo))
_, err := suite.m.GetIDsForType(suite.ctx, model.UnknownSchema, nil)
assert.ErrorIs(t, err, errUnrecognizedSchema)
aw.ErrIs(t, err, errUnrecognizedSchema)
}
func (suite *ModelStoreIntegrationSuite) TestBadTypeErrors() {
@ -188,22 +189,22 @@ func (suite *ModelStoreIntegrationSuite) TestBadTypeErrors() {
foo := &fooModel{Bar: uuid.NewString()}
require.NoError(t, suite.m.Put(suite.ctx, model.BackupOpSchema, foo))
aw.MustNoErr(t, suite.m.Put(suite.ctx, model.BackupOpSchema, foo))
returned := &fooModel{}
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.Get(suite.ctx, model.RestoreOpSchema, foo.ID, returned),
errModelTypeMismatch,
)
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.GetWithModelStoreID(suite.ctx, model.RestoreOpSchema, foo.ModelStoreID, returned),
errModelTypeMismatch,
)
assert.ErrorIs(
aw.ErrIs(
t,
suite.m.Delete(suite.ctx, model.RestoreOpSchema, foo.ID),
errModelTypeMismatch,
@ -218,13 +219,13 @@ func (suite *ModelStoreIntegrationSuite) TestPutGetBadVersion() {
foo.Tags = map[string]string{}
err := suite.m.Put(suite.ctx, schema, foo)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.m.modelVersion = 42
returned := &fooModel{}
err = suite.m.Get(suite.ctx, schema, foo.ID, returned)
assert.Error(t, err)
aw.Err(t, err)
}
func (suite *ModelStoreIntegrationSuite) TestPutGet() {
@ -235,22 +236,22 @@ func (suite *ModelStoreIntegrationSuite) TestPutGet() {
}{
{
s: model.UnknownSchema,
check: require.Error,
check: aw.MustErr,
hasErr: true,
},
{
s: model.BackupOpSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
{
s: model.RestoreOpSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
{
s: model.BackupSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
}
@ -276,11 +277,11 @@ func (suite *ModelStoreIntegrationSuite) TestPutGet() {
returned := &fooModel{}
err = suite.m.Get(suite.ctx, test.s, foo.ID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
err = suite.m.GetWithModelStoreID(suite.ctx, test.s, foo.ModelStoreID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
})
}
@ -318,7 +319,7 @@ func (suite *ModelStoreIntegrationSuite) TestPutGet_PreSetID() {
foo.Tags = map[string]string{}
err := suite.m.Put(suite.ctx, mdl, foo)
require.NoError(t, err)
aw.MustNoErr(t, err)
test.expect(t, model.StableID(test.baseID), foo.ID)
require.NotEmpty(t, foo.ModelStoreID)
@ -326,11 +327,11 @@ func (suite *ModelStoreIntegrationSuite) TestPutGet_PreSetID() {
returned := &fooModel{}
err = suite.m.Get(suite.ctx, mdl, foo.ID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
err = suite.m.GetWithModelStoreID(suite.ctx, mdl, foo.ModelStoreID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
})
}
@ -345,26 +346,26 @@ func (suite *ModelStoreIntegrationSuite) TestPutGet_WithTags() {
"bar": "baz",
}
require.NoError(t, suite.m.Put(suite.ctx, theModelType, foo))
aw.MustNoErr(t, suite.m.Put(suite.ctx, theModelType, foo))
require.NotEmpty(t, foo.ModelStoreID)
require.NotEmpty(t, foo.ID)
returned := &fooModel{}
err := suite.m.Get(suite.ctx, theModelType, foo.ID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
err = suite.m.GetWithModelStoreID(suite.ctx, theModelType, foo.ModelStoreID, returned)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, foo, returned)
}
func (suite *ModelStoreIntegrationSuite) TestGet_NotFoundErrors() {
t := suite.T()
assert.ErrorIs(t, suite.m.Get(suite.ctx, model.BackupOpSchema, "baz", nil), data.ErrNotFound)
assert.ErrorIs(
aw.ErrIs(t, suite.m.Get(suite.ctx, model.BackupOpSchema, "baz", nil), data.ErrNotFound)
aw.ErrIs(
t, suite.m.GetWithModelStoreID(suite.ctx, model.BackupOpSchema, "baz", nil), data.ErrNotFound)
}
@ -375,12 +376,12 @@ func (suite *ModelStoreIntegrationSuite) TestPutGetOfTypeBadVersion() {
foo := &fooModel{Bar: uuid.NewString()}
err := suite.m.Put(suite.ctx, schema, foo)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.m.modelVersion = 42
ids, err := suite.m.GetIDsForType(suite.ctx, schema, nil)
assert.Error(t, err)
aw.Err(t, err)
assert.Empty(t, ids)
}
@ -392,22 +393,22 @@ func (suite *ModelStoreIntegrationSuite) TestPutGetOfType() {
}{
{
s: model.UnknownSchema,
check: require.Error,
check: aw.MustErr,
hasErr: true,
},
{
s: model.BackupOpSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
{
s: model.RestoreOpSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
{
s: model.BackupSchema,
check: require.NoError,
check: aw.MustNoErr,
hasErr: false,
},
}
@ -426,7 +427,7 @@ func (suite *ModelStoreIntegrationSuite) TestPutGetOfType() {
}
ids, err := suite.m.GetIDsForType(suite.ctx, test.s, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Len(t, ids, 1)
})
@ -545,7 +546,7 @@ func (suite *ModelStoreIntegrationSuite) TestGetOfTypeWithTags() {
// Setup the store by adding all the inputs.
for _, in := range inputs {
require.NoError(suite.T(), suite.m.Put(suite.ctx, in.schema, in.dataModel))
aw.MustNoErr(suite.T(), suite.m.Put(suite.ctx, in.schema, in.dataModel))
}
// Check we can properly execute our tests.
@ -559,7 +560,7 @@ func (suite *ModelStoreIntegrationSuite) TestGetOfTypeWithTags() {
}
ids, err := suite.m.GetIDsForType(suite.ctx, test.s, test.tags)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.ElementsMatch(t, expected, ids)
})
@ -601,14 +602,14 @@ func (suite *ModelStoreIntegrationSuite) TestPutUpdate() {
m := getModelStore(t, ctx)
defer func() {
assert.NoError(t, m.c.Close(ctx))
aw.NoErr(t, m.c.Close(ctx))
}()
foo := &fooModel{Bar: uuid.NewString()}
// Avoid some silly test errors from comparing nil to empty map.
foo.Tags = map[string]string{}
require.NoError(t, m.Put(ctx, theModelType, foo))
aw.MustNoErr(t, m.Put(ctx, theModelType, foo))
oldModelID := foo.ModelStoreID
oldStableID := foo.ID
@ -616,19 +617,19 @@ func (suite *ModelStoreIntegrationSuite) TestPutUpdate() {
test.mutator(foo)
require.NoError(t, m.Update(ctx, theModelType, foo))
aw.MustNoErr(t, m.Update(ctx, theModelType, foo))
assert.Equal(t, oldStableID, foo.ID)
// The version in the model store has not changed so we get the old
// version back.
assert.Equal(t, oldVersion, foo.Version)
returned := &fooModel{}
require.NoError(
aw.MustNoErr(
t, m.GetWithModelStoreID(ctx, theModelType, foo.ModelStoreID, returned))
assert.Equal(t, foo, returned)
ids, err := m.GetIDsForType(ctx, theModelType, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.Len(t, ids, 1)
assert.Equal(t, globalModelVersion, ids[0].Version)
@ -639,7 +640,7 @@ func (suite *ModelStoreIntegrationSuite) TestPutUpdate() {
}
err = m.GetWithModelStoreID(ctx, theModelType, oldModelID, nil)
assert.ErrorIs(t, err, data.ErrNotFound)
aw.ErrIs(t, err, data.ErrNotFound)
})
}
}
@ -676,16 +677,16 @@ func (suite *ModelStoreIntegrationSuite) TestPutUpdate_FailsNotMatchingPrev() {
m := getModelStore(t, ctx)
defer func() {
assert.NoError(t, m.c.Close(ctx))
aw.NoErr(t, m.c.Close(ctx))
}()
foo := &fooModel{Bar: uuid.NewString()}
require.NoError(t, m.Put(ctx, startModelType, foo))
aw.MustNoErr(t, m.Put(ctx, startModelType, foo))
test.mutator(foo)
assert.Error(t, m.Update(ctx, test.s, foo))
aw.Err(t, m.Update(ctx, test.s, foo))
})
}
}
@ -696,20 +697,20 @@ func (suite *ModelStoreIntegrationSuite) TestPutDelete() {
foo := &fooModel{Bar: uuid.NewString()}
require.NoError(t, suite.m.Put(suite.ctx, theModelType, foo))
aw.MustNoErr(t, suite.m.Put(suite.ctx, theModelType, foo))
require.NoError(t, suite.m.Delete(suite.ctx, theModelType, foo.ID))
aw.MustNoErr(t, suite.m.Delete(suite.ctx, theModelType, foo.ID))
returned := &fooModel{}
err := suite.m.GetWithModelStoreID(suite.ctx, theModelType, foo.ModelStoreID, returned)
assert.ErrorIs(t, err, data.ErrNotFound)
aw.ErrIs(t, err, data.ErrNotFound)
}
func (suite *ModelStoreIntegrationSuite) TestPutDelete_BadIDsNoop() {
t := suite.T()
assert.NoError(t, suite.m.Delete(suite.ctx, model.BackupOpSchema, "foo"))
assert.NoError(t, suite.m.DeleteWithModelStoreID(suite.ctx, "foo"))
aw.NoErr(t, suite.m.Delete(suite.ctx, model.BackupOpSchema, "foo"))
aw.NoErr(t, suite.m.DeleteWithModelStoreID(suite.ctx, "foo"))
}
// ---------------
@ -742,7 +743,7 @@ func (suite *ModelStoreRegressionSuite) TestFailDuringWriteSessionHasNoVisibleEf
m := getModelStore(t, ctx)
defer func() {
assert.NoError(t, m.c.Close(ctx))
aw.NoErr(t, m.c.Close(ctx))
}()
foo := &fooModel{Bar: uuid.NewString()}
@ -753,7 +754,7 @@ func (suite *ModelStoreRegressionSuite) TestFailDuringWriteSessionHasNoVisibleEf
theModelType := model.BackupOpSchema
require.NoError(t, m.Put(ctx, theModelType, foo))
aw.MustNoErr(t, m.Put(ctx, theModelType, foo))
newID := manifest.ID("")
err := repo.WriteSession(
@ -772,7 +773,7 @@ func (suite *ModelStoreRegressionSuite) TestFailDuringWriteSessionHasNoVisibleEf
}()
innerErr = putInner(innerCtx, w, theModelType, foo, false)
require.NoError(t, innerErr)
aw.MustNoErr(t, innerErr)
newID = foo.ModelStoreID
@ -780,13 +781,13 @@ func (suite *ModelStoreRegressionSuite) TestFailDuringWriteSessionHasNoVisibleEf
},
)
assert.ErrorIs(t, err, assert.AnError)
aw.ErrIs(t, err, assert.AnError)
err = m.GetWithModelStoreID(ctx, theModelType, newID, nil)
assert.ErrorIs(t, err, data.ErrNotFound)
aw.ErrIs(t, err, data.ErrNotFound)
returned := &fooModel{}
require.NoError(
aw.MustNoErr(
t, m.GetWithModelStoreID(ctx, theModelType, foo.ModelStoreID, returned))
assert.Equal(t, foo, returned)
}
@ -798,14 +799,14 @@ func openConnAndModelStore(
st := tester.NewPrefixedS3Storage(t)
c := NewConn(st)
require.NoError(t, c.Initialize(ctx))
aw.MustNoErr(t, c.Initialize(ctx))
defer func() {
require.NoError(t, c.Close(ctx))
aw.MustNoErr(t, c.Close(ctx))
}()
ms, err := NewModelStore(c)
require.NoError(t, err)
aw.MustNoErr(t, err)
return c, ms
}
@ -815,14 +816,14 @@ func reconnectToModelStore(
ctx context.Context, //revive:disable-line:context-as-argument
c *conn,
) *ModelStore {
require.NoError(t, c.Connect(ctx))
aw.MustNoErr(t, c.Connect(ctx))
defer func() {
assert.NoError(t, c.Close(ctx))
aw.NoErr(t, c.Close(ctx))
}()
ms, err := NewModelStore(c)
require.NoError(t, err)
aw.MustNoErr(t, err)
return ms
}
@ -840,8 +841,8 @@ func (suite *ModelStoreRegressionSuite) TestMultipleConfigs() {
conn1, ms1 := openConnAndModelStore(t, ctx)
require.NoError(t, ms1.Put(ctx, model.BackupSchema, &backupModel))
require.NoError(t, ms1.Close(ctx))
aw.MustNoErr(t, ms1.Put(ctx, model.BackupSchema, &backupModel))
aw.MustNoErr(t, ms1.Close(ctx))
start := make(chan struct{})
ready := sync.WaitGroup{}
@ -871,11 +872,11 @@ func (suite *ModelStoreRegressionSuite) TestMultipleConfigs() {
ready.Wait()
defer func() {
assert.NoError(t, ms2.Close(ctx))
aw.NoErr(t, ms2.Close(ctx))
}()
defer func() {
assert.NoError(t, ms1.Close(ctx))
aw.NoErr(t, ms1.Close(ctx))
}()
// New instance should not have model we added.
@ -886,7 +887,7 @@ func (suite *ModelStoreRegressionSuite) TestMultipleConfigs() {
backupModel.ModelStoreID,
&gotBackup,
)
assert.Error(t, err)
aw.Err(t, err)
// Old instance should still be able to access added model.
gotBackup = backup.Backup{}
@ -896,5 +897,5 @@ func (suite *ModelStoreRegressionSuite) TestMultipleConfigs() {
backupModel.ModelStoreID,
&gotBackup,
)
assert.NoError(t, err)
aw.NoErr(t, err)
}

View File

@ -5,10 +5,10 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type PathEncoderSuite struct {
@ -29,7 +29,7 @@ func (suite *PathEncoderSuite) TestEncodeDecode() {
for _, e := range encoded {
dec, err := decodeElement(e)
require.NoError(t, err)
aw.MustNoErr(t, err)
decoded = append(decoded, dec)
}
@ -80,7 +80,7 @@ func (suite *PathEncoderSuite) TestEncodeAsPathDecode() {
for _, e := range strings.Split(encoded, "/") {
dec, err := decodeElement(e)
require.NoError(t, err)
aw.MustNoErr(t, err)
decoded = append(decoded, dec)
}
@ -97,7 +97,7 @@ func FuzzEncodeDecodeSingleString(f *testing.F) {
assert.False(t, strings.ContainsRune(encoded[0], '/'))
decoded, err := decodeElement(encoded[0])
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, in, decoded)
})
}

View File

@ -21,6 +21,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -28,7 +29,7 @@ import (
func makePath(t *testing.T, elements []string, isItem bool) path.Path {
p, err := path.FromDataLayerPath(stdpath.Join(elements...), isItem)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -111,7 +112,7 @@ func expectFileData(
}
r, err := f.GetReader(ctx)
if !assert.NoErrorf(t, err, "getting reader for file: %s", name) {
if !aw.NoErr(t, err, "getting reader for file", name) {
return
}
@ -122,7 +123,7 @@ func expectFileData(
}
got, err := io.ReadAll(r)
if !assert.NoErrorf(t, err, "reading data in file: %s", name) {
if !assert.NoError(t, err, "reading data in file", name) {
return
}
@ -203,7 +204,7 @@ func getDirEntriesForEntry(
require.True(t, ok, "entry is not a directory")
entries, err := fs.GetAllEntries(ctx, d)
require.NoError(t, err)
aw.MustNoErr(t, err)
return entries
}
@ -250,13 +251,13 @@ func (suite *VersionReadersUnitSuite) TestWriteAndRead() {
name: "SameVersionSucceeds",
readVersion: 42,
writeVersion: 42,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "DifferentVersionsFail",
readVersion: 7,
writeVersion: 42,
check: assert.Error,
check: aw.Err,
},
}
@ -303,7 +304,7 @@ func readAllInParts(
break
}
require.NoError(t, err)
aw.MustNoErr(t, err)
read += n
res = append(res, tmp[:n]...)
@ -361,7 +362,7 @@ func (suite *CorsoProgressUnitSuite) SetupSuite() {
path.EmailCategory,
true,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.targetFilePath = p
suite.targetFileName = suite.targetFilePath.ToBuilder().Dir().String()
@ -518,7 +519,7 @@ func (suite *CorsoProgressUnitSuite) TestFinishedFileCachedNoPrevPathErrors() {
assert.Empty(t, cp.pending)
assert.Empty(t, bd.Details().Entries)
assert.Error(t, cp.errs.Failure())
aw.Err(t, cp.errs.Failure())
}
func (suite *CorsoProgressUnitSuite) TestFinishedFileBuildsHierarchyNewItem() {
@ -724,12 +725,12 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTree() {
// - Inbox
// - 42 separate files
dirTree, err := inflateDirTree(ctx, nil, nil, collections, nil, progress)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, encodeAsPath(testTenant), dirTree.Name())
entries, err := fs.GetAllEntries(ctx, dirTree)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectDirs(t, entries, encodeElements(service), true)
@ -820,12 +821,12 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTree_MixedDirectory()
}
dirTree, err := inflateDirTree(ctx, nil, nil, test.layout, nil, progress)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, encodeAsPath(testTenant), dirTree.Name())
entries, err := fs.GetAllEntries(ctx, dirTree)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectDirs(t, entries, encodeElements(service), true)
@ -921,7 +922,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTree_Fails() {
t := suite.T()
_, err := inflateDirTree(ctx, nil, nil, test.layout, nil, nil)
assert.Error(t, err)
aw.Err(t, err)
})
}
}
@ -1033,7 +1034,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTreeErrors() {
}
_, err := inflateDirTree(ctx, nil, nil, cols, nil, progress)
require.Error(t, err)
aw.MustErr(t, err)
})
}
}
@ -1317,7 +1318,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTreeSingleSubtree() {
nil,
progress,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectTree(t, ctx, test.expected, dirTree)
})
@ -2093,7 +2094,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTreeMultipleSubdirecto
test.inputCollections(t),
test.inputExcludes,
progress)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectTree(t, ctx, test.expected, dirTree)
})
@ -2256,7 +2257,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTreeSkipsDeletedSubtre
collections,
nil,
progress)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectTree(t, ctx, expected, dirTree)
}
@ -2360,7 +2361,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTree_HandleEmptyBase()
collections,
nil,
progress)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectTree(t, ctx, expected, dirTree)
}
@ -2611,7 +2612,7 @@ func (suite *HierarchyBuilderUnitSuite) TestBuildDirectoryTreeSelectsCorrectSubt
nil,
progress,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
expectTree(t, ctx, expected, dirTree)
}

View File

@ -19,6 +19,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/mockconnector"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/path"
@ -69,13 +70,13 @@ func testForFiles(
count++
fullPath, err := c.FullPath().Append(s.UUID(), true)
require.NoError(t, err)
aw.MustNoErr(t, err)
expected, ok := expected[fullPath.String()]
require.True(t, ok, "unexpected file with path %q", fullPath)
buf, err := io.ReadAll(s.ToReader())
require.NoError(t, err, "reading collection item: %s", fullPath)
aw.MustNoErr(t, err, "reading collection item: %s", fullPath)
assert.Equal(t, expected, buf, "comparing collection item: %s", fullPath)
@ -96,7 +97,7 @@ func checkSnapshotTags(
snapshotID string,
) {
man, err := snapshot.LoadSnapshot(ctx, rep, manifest.ID(snapshotID))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, expectedTags, man.Tags)
}
@ -119,7 +120,7 @@ func (suite *KopiaUnitSuite) SetupSuite() {
),
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.testPath = tmp
}
@ -169,7 +170,7 @@ func (suite *KopiaIntegrationSuite) SetupSuite() {
testUser,
path.EmailCategory,
false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.storePath1 = tmp
suite.locPath1 = tmp
@ -179,7 +180,7 @@ func (suite *KopiaIntegrationSuite) SetupSuite() {
testUser,
path.EmailCategory,
false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.storePath2 = tmp
suite.locPath2 = tmp
@ -190,14 +191,14 @@ func (suite *KopiaIntegrationSuite) SetupTest() {
suite.ctx, suite.flush = tester.NewContext()
c, err := openKopiaRepo(t, suite.ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.w = &Wrapper{c}
}
func (suite *KopiaIntegrationSuite) TearDownTest() {
defer suite.flush()
assert.NoError(suite.T(), suite.w.Close(suite.ctx))
aw.NoErr(suite.T(), suite.w.Close(suite.ctx))
}
func (suite *KopiaIntegrationSuite) TestBackupCollections() {
@ -277,7 +278,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections() {
tags,
true,
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Equal(t, test.expectedUploadedFiles, stats.TotalFileCount, "total files")
assert.Equal(t, test.expectedUploadedFiles, stats.UncachedFileCount, "uncached files")
@ -312,7 +313,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections() {
suite.w.c,
manifest.ID(stats.SnapshotID),
)
require.NoError(t, err)
aw.MustNoErr(t, err)
prevSnaps = append(prevSnaps, IncrementalBase{
Manifest: snap,
@ -331,9 +332,9 @@ func (suite *KopiaIntegrationSuite) TestRestoreAfterCompressionChange() {
defer flush()
k, err := openKopiaRepo(t, ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NoError(t, k.Compression(ctx, "s2-default"))
aw.MustNoErr(t, k.Compression(ctx, "s2-default"))
w := &Wrapper{k}
@ -352,10 +353,10 @@ func (suite *KopiaIntegrationSuite) TestRestoreAfterCompressionChange() {
dc2 := mockconnector.NewMockExchangeCollection(suite.storePath2, suite.locPath2, 1)
fp1, err := suite.storePath1.Append(dc1.Names[0], true)
require.NoError(t, err)
aw.MustNoErr(t, err)
fp2, err := suite.storePath2.Append(dc2.Names[0], true)
require.NoError(t, err)
aw.MustNoErr(t, err)
stats, _, _, err := w.BackupCollections(
ctx,
@ -365,9 +366,9 @@ func (suite *KopiaIntegrationSuite) TestRestoreAfterCompressionChange() {
tags,
true,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NoError(t, k.Compression(ctx, "gzip"))
aw.MustNoErr(t, k.Compression(ctx, "gzip"))
expected := map[string][]byte{
fp1.String(): dc1.Data[0],
@ -383,7 +384,7 @@ func (suite *KopiaIntegrationSuite) TestRestoreAfterCompressionChange() {
},
nil,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, 2, len(result))
testForFiles(t, ctx, expected, result)
@ -483,7 +484,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections_ReaderError() {
tags,
true,
fault.New(true))
require.Error(t, err)
aw.MustErr(t, err)
assert.Equal(t, 0, stats.ErrorCount)
assert.Equal(t, 5, stats.TotalFileCount)
@ -494,7 +495,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections_ReaderError() {
assert.Len(t, deets.Details().Entries, 5+6)
failedPath, err := suite.storePath2.Append(testFileName4, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
ic := i64counter{}
@ -507,7 +508,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections_ReaderError() {
// Files that had an error shouldn't make a dir entry in kopia. If they do we
// may run into kopia-assisted incrementals issues because only mod time and
// not file size is checked for StreamingFiles.
assert.ErrorIs(t, err, data.ErrNotFound, "errored file is restorable")
aw.ErrIs(t, err, data.ErrNotFound, "errored file is restorable")
}
type backedupFile struct {
@ -546,7 +547,7 @@ func (suite *KopiaIntegrationSuite) TestBackupCollectionsHandlesNoCollections()
nil,
true,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, BackupStats{}, *s)
assert.Empty(t, d.Details().Entries)
@ -586,7 +587,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupSuite() {
path.EmailCategory,
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.testPath1 = tmp
@ -596,7 +597,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupSuite() {
path.EmailCategory,
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.testPath2 = tmp
@ -642,7 +643,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupSuite() {
for _, item := range filesInfo {
pth, err := item.parentPath.Append(item.name, true)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
mapKey := item.parentPath.String()
f := &backedupFile{
@ -663,7 +664,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupTest() {
//nolint:forbidigo
suite.ctx, _ = logger.SeedLevel(context.Background(), logger.Development)
c, err := openKopiaRepo(t, suite.ctx)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.w = &Wrapper{c}
@ -704,7 +705,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupTest() {
tags,
false,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.Equal(t, stats.ErrorCount, 0)
require.Equal(t, stats.TotalFileCount, expectedFiles)
require.Equal(t, stats.TotalDirectoryCount, expectedDirs)
@ -717,7 +718,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) SetupTest() {
}
func (suite *KopiaSimpleRepoIntegrationSuite) TearDownTest() {
assert.NoError(suite.T(), suite.w.Close(suite.ctx))
aw.NoErr(suite.T(), suite.w.Close(suite.ctx))
logger.Flush(suite.ctx)
}
@ -742,7 +743,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestBackupExcludeItem() {
path.EmailCategory,
false,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
subtreePath := subtreePathTmp.ToBuilder().Dir()
@ -751,7 +752,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestBackupExcludeItem() {
[]Reason{reason},
nil,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
require.Len(suite.T(), manifests, 1)
require.Equal(suite.T(), suite.snapshotID, manifests[0].ID)
@ -779,7 +780,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestBackupExcludeItem() {
return nil
},
backupIDCheck: require.NotEmpty,
restoreCheck: assert.Error,
restoreCheck: aw.Err,
},
{
name: "NoExcludeItemNoChanges",
@ -806,7 +807,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestBackupExcludeItem() {
return []data.BackupCollection{c}
},
backupIDCheck: require.NotEmpty,
restoreCheck: assert.NoError,
restoreCheck: aw.NoErr,
},
}
@ -836,7 +837,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestBackupExcludeItem() {
tags,
true,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, test.expectedCachedItems, stats.CachedFileCount)
assert.Equal(t, test.expectedUncachedItems, stats.UncachedFileCount)
@ -868,7 +869,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
path.EmailCategory,
true,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
// Expected items is generated during the test by looking up paths in the
// suite's map of files. Files that are not in the suite's map are assumed to
@ -885,7 +886,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
suite.files[suite.testPath1.String()][0].itemPath,
},
expectedCollections: 1,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
},
{
name: "MultipleItemsSameCollection",
@ -894,7 +895,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
suite.files[suite.testPath1.String()][1].itemPath,
},
expectedCollections: 1,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
},
{
name: "MultipleItemsDifferentCollections",
@ -903,7 +904,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
suite.files[suite.testPath2.String()][0].itemPath,
},
expectedCollections: 2,
expectedErr: assert.NoError,
expectedErr: aw.NoErr,
},
{
name: "TargetNotAFile",
@ -913,7 +914,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
suite.files[suite.testPath2.String()][0].itemPath,
},
expectedCollections: 0,
expectedErr: assert.Error,
expectedErr: aw.Err,
},
{
name: "NonExistentFile",
@ -923,7 +924,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
suite.files[suite.testPath2.String()][0].itemPath,
},
expectedCollections: 0,
expectedErr: assert.Error,
expectedErr: aw.Err,
},
}
@ -971,7 +972,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems() {
func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems_Errors() {
itemPath, err := suite.testPath1.Append(testFileName, true)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string
@ -1005,7 +1006,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems_Errors()
test.paths,
nil,
fault.New(true))
assert.Error(t, err)
aw.Err(t, err)
assert.Empty(t, c)
})
}
@ -1014,7 +1015,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestRestoreMultipleItems_Errors()
func (suite *KopiaSimpleRepoIntegrationSuite) TestDeleteSnapshot() {
t := suite.T()
assert.NoError(t, suite.w.DeleteSnapshot(suite.ctx, string(suite.snapshotID)))
aw.NoErr(t, suite.w.DeleteSnapshot(suite.ctx, string(suite.snapshotID)))
// assert the deletion worked
itemPath := suite.files[suite.testPath1.String()][0].itemPath
@ -1026,7 +1027,7 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestDeleteSnapshot() {
[]path.Path{itemPath},
&ic,
fault.New(true))
assert.Error(t, err, "snapshot should be deleted")
aw.Err(t, err, "snapshot should be deleted")
assert.Empty(t, c)
assert.Zero(t, ic.i)
}
@ -1040,12 +1041,12 @@ func (suite *KopiaSimpleRepoIntegrationSuite) TestDeleteSnapshot_BadIDs() {
{
name: "no id",
snapshotID: "",
expect: assert.Error,
expect: aw.Err,
},
{
name: "unknown id",
snapshotID: uuid.NewString(),
expect: assert.NoError,
expect: aw.NoErr,
},
}
for _, test := range table {

View File

@ -15,6 +15,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type ObserveProgressUnitSuite struct {
@ -71,7 +72,7 @@ func (suite *ObserveProgressUnitSuite) TestItemProgress() {
break
}
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Equal(t, 25, n)
i++
}

View File

@ -27,6 +27,7 @@ import (
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/backup/details"
@ -62,14 +63,14 @@ func prepNewTestBackupOp(
st := tester.NewPrefixedS3Storage(t)
k := kopia.NewConn(st)
require.NoError(t, k.Initialize(ctx))
aw.MustNoErr(t, k.Initialize(ctx))
// kopiaRef comes with a count of 1 and Wrapper bumps it again so safe
// to close here.
closer := func() { k.Close(ctx) }
kw, err := kopia.NewWrapper(k)
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
closer()
t.FailNow()
}
@ -80,7 +81,7 @@ func prepNewTestBackupOp(
}
ms, err := kopia.NewModelStore(k)
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
closer()
t.FailNow()
}
@ -122,7 +123,7 @@ func newTestBackupOp(
opts.ToggleFeatures = featureToggles
bo, err := NewBackupOperation(ctx, opts, kw, sw, acct, sel, bus)
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
closer()
t.FailNow()
}
@ -138,7 +139,7 @@ func runAndCheckBackup(
mb *evmock.Bus,
) {
//revive:enable:context-as-argument
require.NoError(t, bo.Run(ctx))
aw.MustNoErr(t, bo.Run(ctx))
require.NotEmpty(t, bo.Results, "the backup had non-zero results")
require.NotEmpty(t, bo.Results.BackupID, "the backup generated an ID")
require.Equalf(
@ -153,7 +154,7 @@ func runAndCheckBackup(
assert.Less(t, int64(0), bo.Results.BytesRead, "bytes read")
assert.Less(t, int64(0), bo.Results.BytesUploaded, "bytes uploaded")
assert.Equal(t, 1, bo.Results.ResourceOwners, "count of resource owners")
assert.NoError(t, bo.Errors.Failure(), "incremental non-recoverable error")
aw.NoErr(t, bo.Errors.Failure(), "incremental non-recoverable error")
assert.Empty(t, bo.Errors.Recovered(), "incremental recoverable/iteration errors")
assert.Equal(t, 1, mb.TimesCalled[events.BackupStart], "backup-start events")
assert.Equal(t, 1, mb.TimesCalled[events.BackupEnd], "backup-end events")
@ -188,7 +189,7 @@ func checkBackupIsInManifests(
)
mans, err := kw.FetchPrevSnapshotManifests(ctx, reasons, tags)
require.NoError(t, err)
aw.MustNoErr(t, err)
for _, man := range mans {
bID, ok := man.GetTag(kopia.TagBackupID)
@ -224,7 +225,7 @@ func checkMetadataFilesExist(
bup := &backup.Backup{}
err := ms.Get(ctx, model.BackupSchema, backupID, bup)
if !assert.NoError(t, err) {
if !aw.NoErr(t, err) {
return
}
@ -235,12 +236,12 @@ func checkMetadataFilesExist(
p, err := path.Builder{}.
Append(fName).
ToServiceCategoryMetadataPath(tenant, user, service, category, true)
if !assert.NoError(t, err, "bad metadata path") {
if !aw.NoErr(t, err, "bad metadata path") {
continue
}
dir, err := p.Dir()
if !assert.NoError(t, err, "parent path") {
if !aw.NoErr(t, err, "parent path") {
continue
}
@ -249,7 +250,7 @@ func checkMetadataFilesExist(
}
cols, err := kw.RestoreMultipleItems(ctx, bup.SnapshotID, paths, nil, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
for _, col := range cols {
itemNames := []string{}
@ -346,7 +347,7 @@ func generateContainerOfItems(
control.Options{RestorePermissions: true},
dataColls,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
return deets
}
@ -438,7 +439,7 @@ func toDataLayerPath(
err = errors.Errorf("unknown service %s", service.String())
}
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -483,9 +484,9 @@ func (suite *BackupOpIntegrationSuite) TestNewBackupOperation() {
targets []string
errCheck assert.ErrorAssertionFunc
}{
{"good", control.Options{}, kw, sw, acct, nil, assert.NoError},
{"missing kopia", control.Options{}, nil, sw, acct, nil, assert.Error},
{"missing modelstore", control.Options{}, kw, nil, acct, nil, assert.Error},
{"good", control.Options{}, kw, sw, acct, nil, aw.NoErr},
{"missing kopia", control.Options{}, nil, sw, acct, nil, aw.Err},
{"missing modelstore", control.Options{}, kw, nil, acct, nil, aw.Err},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
@ -575,7 +576,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchange() {
defer closer()
m365, err := acct.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
// run the tests
runAndCheckBackup(t, ctx, &bo, mb)
@ -624,7 +625,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchange() {
assert.Greater(t, bo.Results.BytesRead, incBO.Results.BytesRead, "incremental bytes read")
assert.Greater(t, bo.Results.BytesUploaded, incBO.Results.BytesUploaded, "incremental bytes uploaded")
assert.Equal(t, bo.Results.ResourceOwners, incBO.Results.ResourceOwners, "incremental backup resource owner")
assert.NoError(t, incBO.Errors.Failure(), "incremental non-recoverable error")
aw.NoErr(t, incBO.Errors.Failure(), "incremental non-recoverable error")
assert.Empty(t, incBO.Errors.Recovered(), "count incremental recoverable/iteration errors")
assert.Equal(t, 1, incMB.TimesCalled[events.BackupStart], "incremental backup-start events")
assert.Equal(t, 1, incMB.TimesCalled[events.BackupEnd], "incremental backup-end events")
@ -663,7 +664,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
)
m365, err := acct.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
gc, err := connector.NewGraphConnector(
ctx,
@ -671,10 +672,10 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
acct,
connector.Users,
fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
ac, err := api.NewClient(m365)
require.NoError(t, err)
aw.MustNoErr(t, err)
// generate 3 new folders with two items each.
// Only the first two folders will be part of the initial backup and
@ -767,11 +768,11 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
Credentials: m365,
}
cr, err := exchange.PopulateExchangeContainerResolver(ctx, qp, fault.New(true))
require.NoError(t, err, "populating %s container resolver", category)
aw.MustNoErr(t, err, "populating %s container resolver", category)
for destName, dest := range gen.dests {
p, err := path.FromDataLayerPath(dest.deets.Entries[0].RepoRef, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
id, ok := cr.PathInCache(p.Folder(false))
require.True(t, ok, "dir %s found in %s cache", p.Folder(false), category)
@ -831,7 +832,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
MailFoldersById(fromContainer).
Move().
Post(ctx, body, nil)
require.NoError(t, err)
aw.MustNoErr(t, err)
},
itemsRead: 0, // zero because we don't count container reads
itemsWritten: 2,
@ -844,17 +845,17 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
switch category {
case path.EmailCategory:
require.NoError(
aw.MustNoErr(
t,
ac.Mail().DeleteContainer(ctx, suite.user, containerID),
"deleting an email folder")
case path.ContactsCategory:
require.NoError(
aw.MustNoErr(
t,
ac.Contacts().DeleteContainer(ctx, suite.user, containerID),
"deleting a contacts folder")
case path.EventsCategory:
require.NoError(
aw.MustNoErr(
t,
ac.Events().DeleteContainer(ctx, suite.user, containerID),
"deleting a calendar")
@ -886,10 +887,10 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
Credentials: m365,
}
cr, err := exchange.PopulateExchangeContainerResolver(ctx, qp, fault.New(true))
require.NoError(t, err, "populating %s container resolver", category)
aw.MustNoErr(t, err, "populating %s container resolver", category)
p, err := path.FromDataLayerPath(deets.Entries[0].RepoRef, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
id, ok := cr.PathInCache(p.Folder(false))
require.True(t, ok, "dir %s found in %s cache", p.Folder(false), category)
@ -920,31 +921,31 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
cmf := cli.MailFoldersById(containerID)
body, err := cmf.Get(ctx, nil)
require.NoError(t, err, "getting mail folder")
aw.MustNoErr(t, err, "getting mail folder")
body.SetDisplayName(&containerRename)
_, err = cmf.Patch(ctx, body, nil)
require.NoError(t, err, "updating mail folder name")
aw.MustNoErr(t, err, "updating mail folder name")
case path.ContactsCategory:
ccf := cli.ContactFoldersById(containerID)
body, err := ccf.Get(ctx, nil)
require.NoError(t, err, "getting contact folder")
aw.MustNoErr(t, err, "getting contact folder")
body.SetDisplayName(&containerRename)
_, err = ccf.Patch(ctx, body, nil)
require.NoError(t, err, "updating contact folder name")
aw.MustNoErr(t, err, "updating contact folder name")
case path.EventsCategory:
cbi := cli.CalendarsById(containerID)
body, err := cbi.Get(ctx, nil)
require.NoError(t, err, "getting calendar")
aw.MustNoErr(t, err, "getting calendar")
body.SetName(&containerRename)
_, err = cbi.Patch(ctx, body, nil)
require.NoError(t, err, "updating calendar name")
aw.MustNoErr(t, err, "updating calendar name")
}
}
},
@ -962,26 +963,26 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
case path.EmailCategory:
_, itemData := generateItemData(t, category, suite.user, mailDBF)
body, err := support.CreateMessageFromBytes(itemData)
require.NoError(t, err, "transforming mail bytes to messageable")
aw.MustNoErr(t, err, "transforming mail bytes to messageable")
_, err = cli.MailFoldersById(containerID).Messages().Post(ctx, body, nil)
require.NoError(t, err, "posting email item")
aw.MustNoErr(t, err, "posting email item")
case path.ContactsCategory:
_, itemData := generateItemData(t, category, suite.user, contactDBF)
body, err := support.CreateContactFromBytes(itemData)
require.NoError(t, err, "transforming contact bytes to contactable")
aw.MustNoErr(t, err, "transforming contact bytes to contactable")
_, err = cli.ContactFoldersById(containerID).Contacts().Post(ctx, body, nil)
require.NoError(t, err, "posting contact item")
aw.MustNoErr(t, err, "posting contact item")
case path.EventsCategory:
_, itemData := generateItemData(t, category, suite.user, eventDBF)
body, err := support.CreateEventFromBytes(itemData)
require.NoError(t, err, "transforming event bytes to eventable")
aw.MustNoErr(t, err, "transforming event bytes to eventable")
_, err = cli.CalendarsById(containerID).Events().Post(ctx, body, nil)
require.NoError(t, err, "posting events item")
aw.MustNoErr(t, err, "posting events item")
}
}
},
@ -998,27 +999,27 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
switch category {
case path.EmailCategory:
ids, _, _, err := ac.Mail().GetAddedAndRemovedItemIDs(ctx, suite.user, containerID, "")
require.NoError(t, err, "getting message ids")
aw.MustNoErr(t, err, "getting message ids")
require.NotEmpty(t, ids, "message ids in folder")
err = cli.MessagesById(ids[0]).Delete(ctx, nil)
require.NoError(t, err, "deleting email item")
aw.MustNoErr(t, err, "deleting email item")
case path.ContactsCategory:
ids, _, _, err := ac.Contacts().GetAddedAndRemovedItemIDs(ctx, suite.user, containerID, "")
require.NoError(t, err, "getting contact ids")
aw.MustNoErr(t, err, "getting contact ids")
require.NotEmpty(t, ids, "contact ids in folder")
err = cli.ContactsById(ids[0]).Delete(ctx, nil)
require.NoError(t, err, "deleting contact item")
aw.MustNoErr(t, err, "deleting contact item")
case path.EventsCategory:
ids, _, _, err := ac.Events().GetAddedAndRemovedItemIDs(ctx, suite.user, containerID, "")
require.NoError(t, err, "getting event ids")
aw.MustNoErr(t, err, "getting event ids")
require.NotEmpty(t, ids, "event ids in folder")
err = cli.CalendarsById(ids[0]).Delete(ctx, nil)
require.NoError(t, err, "deleting calendar")
aw.MustNoErr(t, err, "deleting calendar")
}
}
},
@ -1034,7 +1035,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
)
test.updateUserData(t)
require.NoError(t, incBO.Run(ctx))
aw.MustNoErr(t, incBO.Run(ctx))
checkBackupIsInManifests(t, ctx, kw, &incBO, sel.Selector, suite.user, maps.Keys(categories)...)
checkMetadataFilesExist(
t,
@ -1052,7 +1053,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_exchangeIncrementals() {
// +4 on read/writes to account for metadata: 1 delta and 1 path for each type.
assert.Equal(t, test.itemsWritten+4, incBO.Results.ItemsWritten, "incremental items written")
assert.Equal(t, test.itemsRead+4, incBO.Results.ItemsRead, "incremental items read")
assert.NoError(t, incBO.Errors.Failure(), "incremental non-recoverable error")
aw.NoErr(t, incBO.Errors.Failure(), "incremental non-recoverable error")
assert.Empty(t, incBO.Errors.Recovered(), "incremental recoverable/iteration errors")
assert.Equal(t, 1, incMB.TimesCalled[events.BackupStart], "incremental backup-start events")
assert.Equal(t, 1, incMB.TimesCalled[events.BackupEnd], "incremental backup-end events")

View File

@ -10,7 +10,6 @@ import (
"github.com/kopia/kopia/snapshot"
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/connector/support"
@ -19,6 +18,7 @@ import (
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/backup/details"
@ -213,7 +213,7 @@ func makeMetadataBasePath(
service,
category,
false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -234,7 +234,7 @@ func makeMetadataPath(
service,
category,
true)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -269,7 +269,7 @@ func makePath(t *testing.T, elements []string, isItem bool) path.Path {
t.Helper()
p, err := path.FromDataLayerPath(stdpath.Join(elements...), isItem)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -314,7 +314,7 @@ func makeDetailsEntry(
case path.OneDriveService:
parent, err := path.GetDriveFolderPath(p)
require.NoError(t, err)
aw.MustNoErr(t, err)
res.OneDrive = &details.OneDriveInfo{
ItemType: details.OneDriveItem,
@ -383,7 +383,7 @@ func (suite *BackupOpSuite) TestBackupOperation_PersistResults() {
}{
{
expectStatus: Completed,
expectErr: assert.NoError,
expectErr: aw.NoErr,
stats: backupStats{
resourceCount: 1,
k: &kopia.BackupStats{
@ -398,7 +398,7 @@ func (suite *BackupOpSuite) TestBackupOperation_PersistResults() {
},
{
expectStatus: Failed,
expectErr: assert.Error,
expectErr: aw.Err,
fail: assert.AnError,
stats: backupStats{
k: &kopia.BackupStats{},
@ -407,7 +407,7 @@ func (suite *BackupOpSuite) TestBackupOperation_PersistResults() {
},
{
expectStatus: NoData,
expectErr: assert.NoError,
expectErr: aw.NoErr,
stats: backupStats{
k: &kopia.BackupStats{},
gc: &support.ConnectorOperationStatus{},
@ -427,7 +427,7 @@ func (suite *BackupOpSuite) TestBackupOperation_PersistResults() {
acct,
sel,
evmock.NewBus())
require.NoError(t, err)
aw.MustNoErr(t, err)
op.Errors.Fail(test.fail)
@ -713,7 +713,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
)
itemParents1, err := path.GetDriveFolderPath(itemPath1)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string
@ -727,14 +727,14 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
}{
{
name: "NilShortRefsFromPrevBackup",
errCheck: assert.NoError,
errCheck: aw.NoErr,
// Use empty slice so we don't error out on nil != empty.
expectedEntries: []*details.DetailsEntry{},
},
{
name: "EmptyShortRefsFromPrevBackup",
inputShortRefsFromPrevBackup: map[string]kopia.PrevRefs{},
errCheck: assert.NoError,
errCheck: aw.NoErr,
// Use empty slice so we don't error out on nil != empty.
expectedEntries: []*details.DetailsEntry{},
},
@ -754,7 +754,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "DetailsIDNotFound",
@ -780,7 +780,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
DetailsID: "foo",
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "BaseMissingItems",
@ -814,7 +814,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "TooManyItems",
@ -850,7 +850,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "BadBaseRepoRef",
@ -899,7 +899,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "BadOneDrivePath",
@ -939,7 +939,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "ItemMerged",
@ -969,7 +969,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, locationPath1, 42, false),
},
@ -1001,7 +1001,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, nil, 42, false),
},
@ -1034,7 +1034,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, itemPath1, 42, false),
},
@ -1068,7 +1068,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, locationPath1, 42, false),
},
@ -1101,7 +1101,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath2, locationPath2, 42, true),
},
@ -1155,7 +1155,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, locationPath1, 42, false),
makeDetailsEntry(suite.T(), itemPath3, locationPath3, 37, false),
@ -1204,7 +1204,7 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsItems() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedEntries: []*details.DetailsEntry{
makeDetailsEntry(suite.T(), itemPath1, locationPath1, 42, false),
},
@ -1342,6 +1342,6 @@ func (suite *BackupOpSuite) TestBackupOperation_MergeBackupDetails_AddsFolders()
inputToMerge,
&deets,
fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
assert.ElementsMatch(t, expectedEntries, deets.Details().Entries)
}

View File

@ -13,6 +13,7 @@ import (
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -117,7 +118,7 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() {
for _, f := range files {
p, err := emailPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
}
@ -140,7 +141,7 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() {
for _, f := range files {
p, err := emailPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
}
@ -168,10 +169,10 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() {
for _, f := range files {
p, err := emailPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
p, err = contactPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
}
@ -199,10 +200,10 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() {
for _, f := range files {
p, err := emailPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
p, err = contactPath.Append(f, true)
assert.NoError(t, err)
aw.NoErr(t, err)
ps = append(ps, p)
}
@ -227,7 +228,7 @@ func (suite *OperationsManifestsUnitSuite) TestCollectMetadata() {
}
_, err := collectMetadata(ctx, &mr, man, test.fileNames, tid, fault.New(true))
assert.ErrorIs(t, err, test.expectErr)
aw.ErrIs(t, err, test.expectErr)
})
}
}
@ -254,7 +255,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "one incomplete manifest",
@ -263,7 +264,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
Manifest: &snapshot.Manifest{IncompleteReason: "ir"},
},
},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "one manifest, multiple reasons",
@ -284,7 +285,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "one manifest, duplicate reasons",
@ -305,7 +306,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.Error,
expect: aw.Err,
},
{
name: "two manifests, non-overlapping reasons",
@ -331,7 +332,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "two manifests, overlapping reasons",
@ -357,7 +358,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.Error,
expect: aw.Err,
},
{
name: "two manifests, overlapping reasons, one snapshot incomplete",
@ -383,7 +384,7 @@ func (suite *OperationsManifestsUnitSuite) TestVerifyDistinctBases() {
},
},
},
expect: assert.NoError,
expect: aw.NoErr,
},
}
for _, test := range table {
@ -446,7 +447,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: false,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.False,
expectDCS: nil,
},
@ -459,7 +460,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: false,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.False,
expectDCS: nil,
},
@ -472,7 +473,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: false,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.False,
expectDCS: nil,
},
@ -485,7 +486,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.Error,
assertErr: aw.Err,
assertB: assert.False,
expectDCS: nil,
},
@ -501,7 +502,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError, // No error, even though verify failed.
assertErr: aw.NoErr, // No error, even though verify failed.
assertB: assert.False,
expectDCS: nil,
},
@ -514,7 +515,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.True,
expectDCS: nil,
},
@ -530,7 +531,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.True,
expectDCS: nil,
},
@ -545,7 +546,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.Error,
assertErr: aw.Err,
assertB: assert.False,
expectNilMans: true,
},
@ -558,7 +559,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.False,
},
{
@ -576,7 +577,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.True,
expectDCS: []mockColl{{id: "id_coll"}},
},
@ -591,7 +592,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.True,
expectDCS: []mockColl{{id: "id_coll"}},
},
@ -610,7 +611,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.NoError,
assertErr: aw.NoErr,
assertB: assert.True,
expectDCS: []mockColl{
{id: "mail_coll"},
@ -626,7 +627,7 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
gdi: mockGetDetailsIDer{detailsID: did},
reasons: []kopia.Reason{},
getMeta: true,
assertErr: assert.Error,
assertErr: aw.Err,
assertB: assert.False,
expectDCS: nil,
expectNilMans: true,
@ -733,7 +734,7 @@ func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "MultipleManifestsDistinctReason",
@ -763,7 +764,7 @@ func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "MultipleManifestsSameReason",
@ -793,7 +794,7 @@ func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() {
},
},
},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "MultipleManifestsSameReasonOneIncomplete",
@ -824,7 +825,7 @@ func (suite *BackupManifestSuite) TestBackupOperation_VerifyDistinctBases() {
},
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
}
@ -952,7 +953,7 @@ func (suite *BackupManifestSuite) TestBackupOperation_CollectMetadata() {
mr := &mockRestorer{}
_, err := collectMetadata(ctx, mr, test.inputMan, test.inputFiles, tenant, fault.New(true))
assert.NoError(t, err)
aw.NoErr(t, err)
checkPaths(t, test.expected, mr.gotPaths)
})

View File

@ -9,6 +9,7 @@ import (
"github.com/alcionai/corso/src/internal/events"
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/store"
)
@ -37,9 +38,9 @@ func (suite *OperationSuite) TestOperation_Validate() {
sw *store.Wrapper
errCheck assert.ErrorAssertionFunc
}{
{"good", kwStub, swStub, assert.NoError},
{"missing kopia wrapper", nil, swStub, assert.Error},
{"missing store wrapper", kwStub, nil, assert.Error},
{"good", kwStub, swStub, aw.NoErr},
{"missing kopia wrapper", nil, swStub, aw.Err},
{"missing store wrapper", kwStub, nil, aw.Err},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {

View File

@ -19,6 +19,7 @@ import (
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/stats"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/selectors"
@ -57,7 +58,7 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() {
}{
{
expectStatus: Completed,
expectErr: assert.NoError,
expectErr: aw.NoErr,
stats: restoreStats{
resourceCount: 1,
bytesRead: &stats.ByteCounter{
@ -78,7 +79,7 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() {
},
{
expectStatus: Failed,
expectErr: assert.Error,
expectErr: aw.Err,
fail: assert.AnError,
stats: restoreStats{
bytesRead: &stats.ByteCounter{},
@ -87,7 +88,7 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() {
},
{
expectStatus: NoData,
expectErr: assert.NoError,
expectErr: aw.NoErr,
stats: restoreStats{
bytesRead: &stats.ByteCounter{},
cs: []data.RestoreCollection{},
@ -107,7 +108,7 @@ func (suite *RestoreOpSuite) TestRestoreOperation_PersistResults() {
selectors.Selector{DiscreteOwner: "test"},
dest,
evmock.NewBus())
require.NoError(t, err)
aw.MustNoErr(t, err)
op.Errors.Fail(test.fail)
@ -163,19 +164,19 @@ func (suite *RestoreOpIntegrationSuite) SetupSuite() {
st := tester.NewPrefixedS3Storage(t)
k := kopia.NewConn(st)
require.NoError(t, k.Initialize(ctx))
aw.MustNoErr(t, k.Initialize(ctx))
suite.kopiaCloser = func(ctx context.Context) {
k.Close(ctx)
}
kw, err := kopia.NewWrapper(k)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.kw = kw
ms, err := kopia.NewModelStore(k)
require.NoError(t, err)
aw.MustNoErr(t, err)
suite.ms = ms
@ -200,8 +201,8 @@ func (suite *RestoreOpIntegrationSuite) SetupSuite() {
acct,
bsel.Selector,
evmock.NewBus())
require.NoError(t, err)
require.NoError(t, bo.Run(ctx))
aw.MustNoErr(t, err)
aw.MustNoErr(t, bo.Run(ctx))
require.NotEmpty(t, bo.Results.BackupID)
suite.backupID = bo.Results.BackupID
@ -242,9 +243,9 @@ func (suite *RestoreOpIntegrationSuite) TestNewRestoreOperation() {
targets []string
errCheck assert.ErrorAssertionFunc
}{
{"good", control.Options{}, kw, sw, acct, nil, assert.NoError},
{"missing kopia", control.Options{}, nil, sw, acct, nil, assert.Error},
{"missing modelstore", control.Options{}, kw, nil, acct, nil, assert.Error},
{"good", control.Options{}, kw, sw, acct, nil, aw.NoErr},
{"missing kopia", control.Options{}, nil, sw, acct, nil, aw.Err},
{"missing modelstore", control.Options{}, kw, nil, acct, nil, aw.Err},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
@ -289,11 +290,11 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run() {
rsel.Selector,
dest,
mb)
require.NoError(t, err)
aw.MustNoErr(t, err)
ds, err := ro.Run(ctx)
require.NoError(t, err, "restoreOp.Run()")
aw.MustNoErr(t, err, "restoreOp.Run()")
require.NotEmpty(t, ro.Results, "restoreOp results")
require.NotNil(t, ds, "restored details")
assert.Equal(t, ro.Status, Completed, "restoreOp status")
@ -302,7 +303,7 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run() {
assert.Less(t, 0, ro.Results.ItemsWritten, "restored items written")
assert.Less(t, int64(0), ro.Results.BytesRead, "bytes read")
assert.Equal(t, 1, ro.Results.ResourceOwners, "resource Owners")
assert.NoError(t, ro.Errors.Failure(), "non-recoverable error")
aw.NoErr(t, ro.Errors.Failure(), "non-recoverable error")
assert.Empty(t, ro.Errors.Recovered(), "recoverable errors")
assert.Equal(t, suite.numItems, ro.Results.ItemsWritten, "backup and restore wrote the same num of items")
assert.Equal(t, 1, mb.TimesCalled[events.RestoreStart], "restore-start events")
@ -331,10 +332,10 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run_ErrorNoResults() {
rsel.Selector,
dest,
mb)
require.NoError(t, err)
aw.MustNoErr(t, err)
ds, err := ro.Run(ctx)
require.Error(t, err, "restoreOp.Run() should have errored")
aw.MustErr(t, err, "restoreOp.Run() should have errored")
require.Nil(t, ds, "restoreOp.Run() should not produce details")
assert.Zero(t, ro.Results.ResourceOwners, "resource owners")
assert.Zero(t, ro.Results.BytesRead, "bytes read")

View File

@ -9,6 +9,7 @@ import (
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -33,12 +34,12 @@ func (suite *StreamStoreIntegrationSuite) TestDetails() {
st := tester.NewPrefixedS3Storage(t)
k := kopia.NewConn(st)
require.NoError(t, k.Initialize(ctx))
aw.MustNoErr(t, k.Initialize(ctx))
defer k.Close(ctx)
kw, err := kopia.NewWrapper(k)
require.NoError(t, err)
aw.MustNoErr(t, err)
defer kw.Close(ctx)
@ -55,11 +56,11 @@ func (suite *StreamStoreIntegrationSuite) TestDetails() {
ss := New(kw, "tenant", path.ExchangeService)
id, err := ss.WriteBackupDetails(ctx, deets, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, id)
readDeets, err := ss.ReadBackupDetails(ctx, id, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, readDeets)
assert.Equal(t, len(deets.Entries), len(readDeets.Entries))

View File

@ -3,8 +3,7 @@ package tester
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/credentials"
)
@ -18,7 +17,7 @@ var M365AcctCredEnvs = []string{
// variables used for integration tests that use Graph Connector.
func NewM365Account(t *testing.T) account.Account {
cfg, err := readTestConfig()
require.NoError(t, err, "configuring m365 account from test configuration")
aw.MustNoErr(t, err, "configuring m365 account from test configuration")
acc, err := account.NewAccount(
account.ProviderM365,
@ -27,7 +26,7 @@ func NewM365Account(t *testing.T) account.Account {
AzureTenantID: cfg[TestCfgAzureTenantID],
},
)
require.NoError(t, err, "initializing account")
aw.MustNoErr(t, err, "initializing account")
return acc
}
@ -43,7 +42,7 @@ func NewMockM365Account(t *testing.T) account.Account {
AzureTenantID: "09876",
},
)
require.NoError(t, err, "initializing mock account")
aw.MustNoErr(t, err, "initializing mock account")
return acc
}

View File

@ -0,0 +1,83 @@
package aw
import (
"github.com/alcionai/clues"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
// this file is subfoldered to avoid cyclic dependencies
// ---------------------------------------------------------------------------
// require wrappers
// ---------------------------------------------------------------------------
// MustErr wraps require.Error()
func MustErr(t require.TestingT, err error, etc ...any) {
require.Error(t, err, addClues(err, etc))
}
// MustNoErr wraps require.NoError()
func MustNoErr(t require.TestingT, err error, etc ...any) {
require.NoError(t, err, addClues(err, etc))
}
// MustErrIs wraps require.ErrorIs()
func MustErrIs(t require.TestingT, err, target error, etc ...any) {
require.ErrorIs(t, err, target, addClues(err, etc))
}
// MustNotErrIs wraps require.NotErrorIs()
func MustNotErrIs(t require.TestingT, err, target error, etc ...any) {
require.NotErrorIs(t, err, target, addClues(err, etc))
}
// MustErrAs wraps require.ErrorAs()
func MustErrAs(t require.TestingT, err, target error, etc ...any) {
require.ErrorAs(t, err, target, addClues(err, etc))
}
// ---------------------------------------------------------------------------
// assert wrappers
// ---------------------------------------------------------------------------
// Err wraps assert.Error()
func Err(t assert.TestingT, err error, etc ...any) bool {
return assert.Error(t, err, addClues(err, etc))
}
// NoErr wraps assert.NoError()
func NoErr(t assert.TestingT, err error, etc ...any) bool {
return assert.NoError(t, err, addClues(err, etc))
}
// ErrIs wraps assert.ErrorIs()
func ErrIs(t assert.TestingT, err, target error, etc ...any) bool {
return assert.ErrorIs(t, err, target, addClues(err, etc))
}
// NotErrIs wraps assert.NotErrorIs()
func NotErrIs(t assert.TestingT, err, target error, etc ...any) bool {
return assert.NotErrorIs(t, err, target, addClues(err, etc))
}
// ErrAs wraps assert.ErrorAs()
func ErrAs(t assert.TestingT, err, target error, etc ...any) bool {
return assert.ErrorAs(t, err, target, addClues(err, etc))
}
// ---------------------------------------------------------------------------
// helpers
// ---------------------------------------------------------------------------
func addClues(err error, a []any) []any {
if err == nil {
return a
}
if a == nil {
a = make([]any, 0)
}
return append(a, clues.InErr(err).Slice()...)
}

View File

@ -8,9 +8,9 @@ import (
"github.com/pkg/errors"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
"golang.org/x/exp/maps"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
)
@ -159,7 +159,7 @@ func readTestConfig() (map[string]string, error) {
// Returns a filepath string pointing to the location of the temp file.
func MakeTempTestConfigClone(t *testing.T, overrides map[string]string) (*viper.Viper, string) {
cfg, err := readTestConfig()
require.NoError(t, err, "reading tester config")
aw.MustNoErr(t, err, "reading tester config")
fName := filepath.Base(os.Getenv(EnvCorsoTestConfigFilePath))
if len(fName) == 0 || fName == "." || fName == "/" {
@ -170,7 +170,7 @@ func MakeTempTestConfigClone(t *testing.T, overrides map[string]string) (*viper.
tDirFp := filepath.Join(tDir, fName)
_, err = os.Create(tDirFp)
require.NoError(t, err, "creating temp test dir")
aw.MustNoErr(t, err, "creating temp test dir")
ext := filepath.Ext(fName)
vpr := viper.New()
@ -188,7 +188,7 @@ func MakeTempTestConfigClone(t *testing.T, overrides map[string]string) (*viper.
vpr.Set(k, v)
}
require.NoError(t, vpr.WriteConfig(), "writing temp dir viper config file")
aw.MustNoErr(t, vpr.WriteConfig(), "writing temp dir viper config file")
return vpr, tDirFp
}

View File

@ -5,7 +5,7 @@ import (
"os"
"testing"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/tester/aw"
)
func LoadAFile(t *testing.T, fileName string) []byte {
@ -13,7 +13,7 @@ func LoadAFile(t *testing.T, fileName string) []byte {
bytes, err := os.ReadFile(fileName)
if err != nil {
f, err := os.Open(fileName)
require.NoError(t, err, "opening file: "+fileName)
aw.MustNoErr(t, err, "opening file: "+fileName)
defer f.Close()
@ -25,7 +25,7 @@ func LoadAFile(t *testing.T, fileName string) []byte {
buffer = append(buffer, temp...)
}
require.NoError(t, reader.Err(), "reading file: "+fileName)
aw.MustNoErr(t, reader.Err(), "reading file: "+fileName)
return buffer
}

View File

@ -5,7 +5,7 @@ import (
"strings"
"testing"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/tester/aw"
)
// M365TenantID returns a tenantID string representing the azureTenantID described
@ -14,7 +14,7 @@ import (
// last-attempt fallback that will only work on alcion's testing org.
func M365TenantID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving m365 user id from test configuration")
aw.MustNoErr(t, err, "retrieving m365 user id from test configuration")
return cfg[TestCfgAzureTenantID]
}
@ -25,7 +25,7 @@ func M365TenantID(t *testing.T) string {
// last-attempt fallback that will only work on alcion's testing org.
func M365UserID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving m365 user id from test configuration")
aw.MustNoErr(t, err, "retrieving m365 user id from test configuration")
return cfg[TestCfgUserID]
}
@ -37,7 +37,7 @@ func M365UserID(t *testing.T) string {
// testing org.
func SecondaryM365UserID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving secondary m365 user id from test configuration")
aw.MustNoErr(t, err, "retrieving secondary m365 user id from test configuration")
return cfg[TestCfgSecondaryUserID]
}
@ -49,7 +49,7 @@ func SecondaryM365UserID(t *testing.T) string {
// testing org.
func LoadTestM365SiteID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving load test m365 site id from test configuration")
aw.MustNoErr(t, err, "retrieving load test m365 site id from test configuration")
// TODO: load test site id, not standard test site id
return cfg[TestCfgSiteID]
@ -62,7 +62,7 @@ func LoadTestM365SiteID(t *testing.T) string {
// testing org.
func LoadTestM365UserID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving load test m365 user id from test configuration")
aw.MustNoErr(t, err, "retrieving load test m365 user id from test configuration")
return cfg[TestCfgLoadTestUserID]
}
@ -72,7 +72,7 @@ func LoadTestM365UserID(t *testing.T) string {
// the delimeter must be a |.
func LoadTestM365OrgSites(t *testing.T) []string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving load test m365 org sites from test configuration")
aw.MustNoErr(t, err, "retrieving load test m365 org sites from test configuration")
// TODO: proper handling of site slice input.
// sites := cfg[TestCfgLoadTestOrgSites]
@ -92,7 +92,7 @@ func LoadTestM365OrgSites(t *testing.T) []string {
// the delimeter may be either a , or |.
func LoadTestM365OrgUsers(t *testing.T) []string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving load test m365 org users from test configuration")
aw.MustNoErr(t, err, "retrieving load test m365 org users from test configuration")
users := cfg[TestCfgLoadTestOrgUsers]
users = strings.TrimPrefix(users, "[")
@ -128,7 +128,7 @@ func LoadTestM365OrgUsers(t *testing.T) []string {
// last-attempt fallback that will only work on alcion's testing org.
func M365SiteID(t *testing.T) string {
cfg, err := readTestConfig()
require.NoError(t, err, "retrieving m365 site id from test configuration")
aw.MustNoErr(t, err, "retrieving m365 site id from test configuration")
return cfg[TestCfgSiteID]
}

View File

@ -3,8 +3,7 @@ package tester
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/storage"
)
@ -27,7 +26,7 @@ func NewPrefixedS3Storage(t *testing.T) storage.Storage {
now := LogTimeOfTest(t)
cfg, err := readTestConfig()
require.NoError(t, err, "configuring storage from test file")
aw.MustNoErr(t, err, "configuring storage from test file")
prefix := testRepoRootPrefix + t.Name() + "-" + now
t.Logf("testing at s3 bucket [%s] prefix [%s]", cfg[TestCfgBucket], prefix)
@ -43,7 +42,7 @@ func NewPrefixedS3Storage(t *testing.T) storage.Storage {
KopiaCfgDir: t.TempDir(),
},
)
require.NoError(t, err, "creating storage")
aw.MustNoErr(t, err, "creating storage")
return st
}

View File

@ -3,6 +3,7 @@ package account
import (
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
)
@ -36,10 +37,10 @@ func (suite *AccountSuite) TestNewAccount() {
c testConfig
errCheck assert.ErrorAssertionFunc
}{
{"unknown no error", ProviderUnknown, testConfig{"configVal", "", nil}, assert.NoError},
{"m365 no error", ProviderM365, testConfig{"configVal", "", nil}, assert.NoError},
{"unknown w/ error", ProviderUnknown, testConfig{"configVal", "", assert.AnError}, assert.Error},
{"m365 w/ error", ProviderM365, testConfig{"configVal", "", assert.AnError}, assert.Error},
{"unknown no error", ProviderUnknown, testConfig{"configVal", "", nil}, aw.NoErr},
{"m365 no error", ProviderM365, testConfig{"configVal", "", nil}, aw.NoErr},
{"unknown w/ error", ProviderUnknown, testConfig{"configVal", "", assert.AnError}, aw.Err},
{"m365 w/ error", ProviderM365, testConfig{"configVal", "", assert.AnError}, aw.Err},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {

View File

@ -4,9 +4,9 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/credentials"
)
@ -30,7 +30,7 @@ var goodM365Config = account.M365Config{
func (suite *M365CfgSuite) TestM365Config_Config() {
m365 := goodM365Config
c, err := m365.StringConfig()
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
key string
@ -50,9 +50,9 @@ func (suite *M365CfgSuite) TestAccount_M365Config() {
in := goodM365Config
a, err := account.NewAccount(account.ProviderM365, in)
require.NoError(t, err)
aw.MustNoErr(t, err)
out, err := a.M365Config()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, in.AzureClientID, out.AzureClientID)
assert.Equal(t, in.AzureClientSecret, out.AzureClientSecret)
@ -82,7 +82,7 @@ func (suite *M365CfgSuite) TestAccount_M365Config_InvalidCases() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
_, err := account.NewAccount(account.ProviderUnknown, test.cfg)
assert.Error(t, err)
aw.Err(t, err)
})
}
@ -113,10 +113,10 @@ func (suite *M365CfgSuite) TestAccount_M365Config_InvalidCases() {
for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) {
st, err := account.NewAccount(account.ProviderUnknown, goodM365Config)
assert.NoError(t, err)
aw.NoErr(t, err)
test.amend(st)
_, err = st.M365Config()
assert.Error(t, err)
aw.Err(t, err)
})
}
}

View File

@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/path"
)
@ -28,7 +29,7 @@ func (suite *DetailsUnitSuite) TestDetailsEntry_HeadersValues() {
initial := time.Now()
nowStr := common.FormatTimeWith(initial, common.TabularOutput)
now, err := common.ParseTime(nowStr)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
table := []struct {
name string
@ -558,7 +559,7 @@ func makeItemPath(
category,
true,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
}
@ -613,7 +614,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
ItemType: ExchangeEvent,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedItem: ItemInfo{
Exchange: &ExchangeInfo{
ItemType: ExchangeEvent,
@ -627,7 +628,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
ItemType: ExchangeContact,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedItem: ItemInfo{
Exchange: &ExchangeInfo{
ItemType: ExchangeContact,
@ -641,7 +642,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
ItemType: ExchangeMail,
},
},
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedItem: ItemInfo{
Exchange: &ExchangeInfo{
ItemType: ExchangeMail,
@ -658,7 +659,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
},
repoPath: newOneDrivePath,
locPath: newOneDrivePath,
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedItem: ItemInfo{
OneDrive: &OneDriveInfo{
ItemType: OneDriveItem,
@ -676,7 +677,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
},
repoPath: newOneDrivePath,
locPath: newOneDrivePath,
errCheck: assert.NoError,
errCheck: aw.NoErr,
expectedItem: ItemInfo{
SharePoint: &SharePointInfo{
ItemType: SharePointItem,
@ -694,7 +695,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
},
repoPath: badOneDrivePath,
locPath: badOneDrivePath,
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "SharePointBadPath",
@ -706,7 +707,7 @@ func (suite *DetailsUnitSuite) TestUpdateItem() {
},
repoPath: badOneDrivePath,
locPath: badOneDrivePath,
errCheck: assert.Error,
errCheck: aw.Err,
},
}

View File

@ -10,6 +10,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -41,41 +42,41 @@ func (suite *FaultErrorsUnitSuite) TestErr() {
}{
{
name: "nil",
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "nil, failFast",
failFast: true,
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "failed",
fail: assert.AnError,
expect: assert.Error,
expect: aw.Err,
},
{
name: "failed, failFast",
fail: assert.AnError,
failFast: true,
expect: assert.Error,
expect: aw.Err,
},
{
name: "added",
add: assert.AnError,
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "added, failFast",
add: assert.AnError,
failFast: true,
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
n := fault.New(test.failFast)
require.NotNil(t, n)
require.NoError(t, n.Failure())
aw.MustNoErr(t, n.Failure())
require.Empty(t, n.Recovered())
e := n.Fail(test.fail)
@ -94,15 +95,15 @@ func (suite *FaultErrorsUnitSuite) TestFail() {
n := fault.New(false)
require.NotNil(t, n)
require.NoError(t, n.Failure())
aw.MustNoErr(t, n.Failure())
require.Empty(t, n.Recovered())
n.Fail(assert.AnError)
assert.Error(t, n.Failure())
aw.Err(t, n.Failure())
assert.Empty(t, n.Recovered())
n.Fail(assert.AnError)
assert.Error(t, n.Failure())
aw.Err(t, n.Failure())
assert.NotEmpty(t, n.Recovered())
}
@ -169,11 +170,11 @@ func (suite *FaultErrorsUnitSuite) TestAdd() {
require.NotNil(t, n)
n.AddRecoverable(assert.AnError)
assert.Error(t, n.Failure())
aw.Err(t, n.Failure())
assert.Len(t, n.Recovered(), 1)
n.AddRecoverable(assert.AnError)
assert.Error(t, n.Failure())
aw.Err(t, n.Failure())
assert.Len(t, n.Recovered(), 2)
}
@ -218,10 +219,10 @@ func (suite *FaultErrorsUnitSuite) TestMarshalUnmarshal() {
n.AddRecoverable(errors.New("2"))
bs, err := json.Marshal(n.Errors())
require.NoError(t, err)
aw.MustNoErr(t, err)
err = json.Unmarshal(bs, &fault.Errors{})
require.NoError(t, err)
aw.MustNoErr(t, err)
}
type legacyErrorsData struct {
@ -238,14 +239,14 @@ func (suite *FaultErrorsUnitSuite) TestUnmarshalLegacy() {
}
jsonStr, err := json.Marshal(oldData)
require.NoError(t, err)
aw.MustNoErr(t, err)
t.Logf("jsonStr is %s\n", jsonStr)
um := fault.Errors{}
err = json.Unmarshal(jsonStr, &um)
require.NoError(t, err)
aw.MustNoErr(t, err)
}
func (suite *FaultErrorsUnitSuite) TestTracker() {
@ -254,22 +255,22 @@ func (suite *FaultErrorsUnitSuite) TestTracker() {
eb := fault.New(false)
lb := eb.Local()
assert.NoError(t, lb.Failure())
aw.NoErr(t, lb.Failure())
assert.Empty(t, eb.Recovered())
lb.AddRecoverable(assert.AnError)
assert.NoError(t, lb.Failure())
assert.NoError(t, eb.Failure())
aw.NoErr(t, lb.Failure())
aw.NoErr(t, eb.Failure())
assert.NotEmpty(t, eb.Recovered())
ebt := fault.New(true)
lbt := ebt.Local()
assert.NoError(t, lbt.Failure())
aw.NoErr(t, lbt.Failure())
assert.Empty(t, ebt.Recovered())
lbt.AddRecoverable(assert.AnError)
assert.Error(t, lbt.Failure())
assert.Error(t, ebt.Failure())
aw.Err(t, lbt.Failure())
aw.Err(t, ebt.Failure())
assert.NotEmpty(t, ebt.Recovered())
}

View File

@ -4,9 +4,9 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/path"
)
@ -28,25 +28,25 @@ func (suite *OneDrivePathSuite) Test_ToOneDrivePath() {
{
name: "Not enough path elements",
pathElements: []string{"drive", "driveID"},
errCheck: assert.Error,
errCheck: aw.Err,
},
{
name: "Root path",
pathElements: []string{"drive", "driveID", "root:"},
expected: &path.DrivePath{DriveID: "driveID", Folders: []string{}},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
{
name: "Deeper path",
pathElements: []string{"drive", "driveID", "root:", "folder1", "folder2"},
expected: &path.DrivePath{DriveID: "driveID", Folders: []string{"folder1", "folder2"}},
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
}
for _, tt := range tests {
suite.T().Run(tt.name, func(t *testing.T) {
p, err := path.Builder{}.Append(tt.pathElements...).ToDataLayerOneDrivePath("tenant", "user", false)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
got, err := path.ToOneDrivePath(p)
tt.errCheck(t, err)

View File

@ -5,6 +5,7 @@ import (
"strings"
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
@ -235,7 +236,7 @@ func (suite *PathUnitSuite) TestUnescapeAndAppend() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
p, err := Builder{}.UnescapeAndAppend(test.input...)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, test.expectedString, p.String())
})
@ -250,7 +251,7 @@ func (suite *PathUnitSuite) TestEscapedFailure() {
tmp := strings.ReplaceAll(target, "_", string(c))
_, err := Builder{}.UnescapeAndAppend("this", tmp, "path")
assert.Error(t, err, "path with unescaped %s did not error", string(c))
aw.Err(t, err, "path with unescaped %s did not error", string(c))
})
}
}
@ -264,7 +265,7 @@ func (suite *PathUnitSuite) TestBadEscapeSequenceErrors() {
tmp := strings.ReplaceAll(target, "_", string(c))
_, err := Builder{}.UnescapeAndAppend("this", tmp, "path")
assert.Error(
aw.Err(
t,
err,
"path with bad escape sequence %c%c did not error",
@ -285,7 +286,7 @@ func (suite *PathUnitSuite) TestTrailingEscapeChar() {
path[i] = path[i] + string(escapeCharacter)
_, err := Builder{}.UnescapeAndAppend(path...)
assert.Error(
aw.Err(
t,
err,
"path with trailing escape character did not error",
@ -329,7 +330,7 @@ func (suite *PathUnitSuite) TestElements() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
p, err := test.pathFunc(test.input)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, test.output, p.Elements())
})
@ -475,7 +476,7 @@ func (suite *PathUnitSuite) TestFromStringErrors() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
_, err := FromDataLayerPath(test.escapedPath, false)
assert.Error(t, err)
aw.Err(t, err)
})
}
}
@ -494,7 +495,7 @@ func (suite *PathUnitSuite) TestFolder() {
p, err := Builder{}.
Append("a", "b", "c").
ToDataLayerExchangePathForCategory("t", "u", EmailCategory, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
},
@ -507,7 +508,7 @@ func (suite *PathUnitSuite) TestFolder() {
p, err := Builder{}.
Append("a", "b", "c").
ToDataLayerExchangePathForCategory("t", "u", EmailCategory, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
},
@ -521,7 +522,7 @@ func (suite *PathUnitSuite) TestFolder() {
p, err := Builder{}.
Append("a/", "b", "c").
ToDataLayerExchangePathForCategory("t", "u", EmailCategory, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
},
@ -534,7 +535,7 @@ func (suite *PathUnitSuite) TestFolder() {
p, err := Builder{}.
Append("a/", "b", "c").
ToDataLayerExchangePathForCategory("t", "u", EmailCategory, false)
require.NoError(t, err)
aw.MustNoErr(t, err)
return p
},
@ -666,7 +667,7 @@ func (suite *PathUnitSuite) TestFromString() {
testPath := fmt.Sprintf(test.unescapedPath, service, cat)
p, err := FromDataLayerPath(testPath, item.isItem)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, service, p.Service(), "service")
assert.Equal(t, cat, p.Category(), "category")

View File

@ -6,9 +6,9 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/path"
)
@ -149,7 +149,7 @@ func (suite *DataLayerResourcePath) TestMissingInfoErrors() {
test.user,
m.isItem,
)
assert.Error(t, err)
aw.Err(t, err)
})
}
})
@ -170,7 +170,7 @@ func (suite *DataLayerResourcePath) TestMailItemNoFolder() {
testUser,
true,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Empty(t, p.Folder(false))
assert.Empty(t, p.Folders())
@ -194,7 +194,7 @@ func (suite *DataLayerResourcePath) TestPopFront() {
path.EmailCategory,
m.isItem,
)
require.NoError(t, err)
aw.MustNoErr(t, err)
b := p.PopFront()
assert.Equal(t, expected.String(), b.String())
@ -219,12 +219,12 @@ func (suite *DataLayerResourcePath) TestDir() {
path.EmailCategory,
m.isItem,
)
require.NoError(t1, err)
aw.MustNoErr(t1, err)
for i := 1; i <= len(rest); i++ {
t1.Run(fmt.Sprintf("%v", i), func(t *testing.T) {
p, err = p.Dir()
require.NoError(t, err)
aw.MustNoErr(t, err)
expected := path.Builder{}.Append(elements...).Append(rest[:len(rest)-i]...)
assert.Equal(t, expected.String(), p.String())
@ -234,7 +234,7 @@ func (suite *DataLayerResourcePath) TestDir() {
t1.Run("All", func(t *testing.T) {
p, err = p.Dir()
assert.Error(t, err)
aw.Err(t, err)
})
})
}
@ -256,7 +256,7 @@ func (suite *DataLayerResourcePath) TestToServiceCategoryMetadataPath() {
service: path.ExchangeService,
category: path.EmailCategory,
expectedService: path.ExchangeMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "PostfixPasses",
@ -264,55 +264,55 @@ func (suite *DataLayerResourcePath) TestToServiceCategoryMetadataPath() {
category: path.EmailCategory,
postfix: []string{"a", "b"},
expectedService: path.ExchangeMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Fails",
service: path.ExchangeService,
category: path.FilesCategory,
check: assert.Error,
check: aw.Err,
},
{
name: "Passes",
service: path.ExchangeService,
category: path.ContactsCategory,
expectedService: path.ExchangeMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Passes",
service: path.ExchangeService,
category: path.EventsCategory,
expectedService: path.ExchangeMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Passes",
service: path.OneDriveService,
category: path.FilesCategory,
expectedService: path.OneDriveMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Passes",
service: path.SharePointService,
category: path.LibrariesCategory,
expectedService: path.SharePointMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Passes",
service: path.SharePointService,
category: path.ListsCategory,
expectedService: path.SharePointMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "Passes",
service: path.SharePointService,
category: path.PagesCategory,
expectedService: path.SharePointMetadataService,
check: assert.NoError,
check: aw.NoErr,
},
}
@ -350,23 +350,23 @@ func (suite *DataLayerResourcePath) TestToExchangePathForCategory() {
}{
{
category: path.UnknownCategory,
check: assert.Error,
check: aw.Err,
},
{
category: path.CategoryType(-1),
check: assert.Error,
check: aw.Err,
},
{
category: path.EmailCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
category: path.ContactsCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
category: path.EventsCategory,
check: assert.NoError,
check: aw.NoErr,
},
}
@ -421,7 +421,7 @@ func (suite *PopulatedDataLayerResourcePath) SetupSuite() {
path.EmailCategory,
t,
)
require.NoError(suite.T(), err)
aw.MustNoErr(suite.T(), err)
suite.paths[t] = p
}
@ -521,7 +521,7 @@ func (suite *PopulatedDataLayerResourcePath) TestAppend() {
// Items don't allow appending.
if m.isItem {
assert.Error(t, err)
aw.Err(t, err)
return
}
@ -587,7 +587,7 @@ func (suite *PopulatedDataLayerResourcePath) TestUpdateParent() {
buildPath := func(t *testing.T, pth string, isItem bool) path.Path {
pathBuilder := path.Builder{}.Append(strings.Split(pth, "/")...)
item, err := pathBuilder.ToDataLayerOneDrivePath("tenant", "user", isItem)
require.NoError(t, err, "err building path")
aw.MustNoErr(t, err, "err building path")
return item
}

View File

@ -4,6 +4,7 @@ import (
"strings"
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
)
@ -36,7 +37,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategoryBadStringEr
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
_, _, err := validateServiceAndCategoryStrings(test.service, test.category)
assert.Error(suite.T(), err)
aw.Err(suite.T(), err)
})
}
}
@ -54,25 +55,25 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
name: "UnknownService",
service: UnknownService.String(),
category: EmailCategory.String(),
check: assert.Error,
check: aw.Err,
},
{
name: "UnknownCategory",
service: ExchangeService.String(),
category: UnknownCategory.String(),
check: assert.Error,
check: aw.Err,
},
{
name: "BadServiceString",
service: "foo",
category: EmailCategory.String(),
check: assert.Error,
check: aw.Err,
},
{
name: "BadCategoryString",
service: ExchangeService.String(),
category: "foo",
check: assert.Error,
check: aw.Err,
},
{
name: "ExchangeEmail",
@ -80,7 +81,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
category: EmailCategory.String(),
expectedService: ExchangeService,
expectedCategory: EmailCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "ExchangeContacts",
@ -88,7 +89,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
category: ContactsCategory.String(),
expectedService: ExchangeService,
expectedCategory: ContactsCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "ExchangeEvents",
@ -96,7 +97,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
category: EventsCategory.String(),
expectedService: ExchangeService,
expectedCategory: EventsCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "OneDriveFiles",
@ -104,7 +105,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
category: FilesCategory.String(),
expectedService: OneDriveService,
expectedCategory: FilesCategory,
check: assert.NoError,
check: aw.NoErr,
},
{
name: "SharePointLibraries",
@ -112,7 +113,7 @@ func (suite *ServiceCategoryUnitSuite) TestValidateServiceAndCategory() {
category: LibrariesCategory.String(),
expectedService: SharePointService,
expectedCategory: LibrariesCategory,
check: assert.NoError,
check: aw.NoErr,
},
}
for _, test := range table {

View File

@ -15,6 +15,7 @@ import (
D "github.com/alcionai/corso/src/internal/diagnostics"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/backup/details"
@ -98,7 +99,7 @@ func initM365Repo(t *testing.T) (
}
repo, err := repository.Initialize(ctx, ac, st, opts)
require.NoError(t, err)
aw.MustNoErr(t, err)
return ctx, repo, ac, st
}
@ -120,7 +121,7 @@ func runLoadTest(
//revive:enable:context-as-argument
t.Run(prefix+"_load_test_main", func(t *testing.T) {
b, err := r.NewBackup(ctx, bupSel)
require.NoError(t, err)
aw.MustNoErr(t, err)
runBackupLoadTest(t, ctx, &b, service, usersUnderTest)
bid := string(b.Results.BackupID)
@ -152,7 +153,7 @@ func runRestoreLoadTest(
dest := tester.DefaultTestRestoreDestination()
rst, err := r.NewRestore(ctx, backupID, restSel, dest)
require.NoError(t, err)
aw.MustNoErr(t, err)
doRestoreLoadTest(t, ctx, rst, service, bup.Results.ItemsWritten, usersUnderTest)
})
@ -177,7 +178,7 @@ func runBackupLoadTest(
err = b.Run(ctx)
})
require.NoError(t, err, "running backup")
aw.MustNoErr(t, err, "running backup")
require.NotEmpty(t, b.Results, "has results after run")
assert.NotEmpty(t, b.Results.BackupID, "has an ID after run")
assert.Equal(t, b.Status, operations.Completed, "backup status")
@ -185,7 +186,7 @@ func runBackupLoadTest(
assert.Less(t, 0, b.Results.ItemsWritten, "items written")
assert.Less(t, int64(0), b.Results.BytesUploaded, "bytes uploaded")
assert.Equal(t, len(users), b.Results.ResourceOwners, "resource owners")
assert.NoError(t, b.Errors.Failure(), "non-recoverable error")
aw.NoErr(t, b.Errors.Failure(), "non-recoverable error")
assert.Empty(t, b.Errors.Recovered(), "recoverable errors")
})
}
@ -209,7 +210,7 @@ func runBackupListLoadTest(
bs, err = r.BackupsByTag(ctx)
})
require.NoError(t, err, "retrieving backups")
aw.MustNoErr(t, err, "retrieving backups")
require.Less(t, 0, len(bs), "at least one backup is recorded")
var found bool
@ -250,7 +251,7 @@ func runBackupDetailsLoadTest(
ds, b, errs = r.BackupDetails(ctx, backupID)
})
require.NoError(t, errs.Failure(), "retrieving details in backup "+backupID)
aw.MustNoErr(t, errs.Failure(), "retrieving details in backup "+backupID)
require.Empty(t, errs.Recovered(), "retrieving details in backup "+backupID)
require.NotNil(t, ds, "backup details must exist")
require.NotNil(t, b, "backup must exist")
@ -284,7 +285,7 @@ func doRestoreLoadTest(
ds, err = r.Run(ctx)
})
require.NoError(t, err, "running restore")
aw.MustNoErr(t, err, "running restore")
require.NotEmpty(t, r.Results, "has results after run")
require.NotNil(t, ds, "has restored details")
assert.Equal(t, r.Status, operations.Completed, "restore status")
@ -292,7 +293,7 @@ func doRestoreLoadTest(
assert.Less(t, 0, r.Results.ItemsRead, "items read")
assert.Less(t, 0, r.Results.ItemsWritten, "items written")
assert.Equal(t, len(users), r.Results.ResourceOwners, "resource owners")
assert.NoError(t, r.Errors.Failure(), "non-recoverable error")
aw.NoErr(t, r.Errors.Failure(), "non-recoverable error")
assert.Empty(t, r.Errors.Recovered(), "recoverable errors")
assert.Equal(t, expectItemCount, r.Results.ItemsWritten, "backup and restore wrote the same count of items")
@ -338,7 +339,7 @@ func ensureAllUsersInDetails(
rr := e.RepoRef
p, err := path.FromDataLayerPath(rr, true)
if !assert.NoError(t, err, "converting to path: "+rr) {
if !aw.NoErr(t, err, "converting to path: "+rr) {
continue
}

View File

@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
@ -40,7 +41,7 @@ func (suite *RepositorySuite) TestInitialize() {
return storage.NewStorage(storage.ProviderUnknown)
},
account.Account{},
assert.Error,
aw.Err,
},
}
for _, test := range table {
@ -49,7 +50,7 @@ func (suite *RepositorySuite) TestInitialize() {
defer flush()
st, err := test.storage()
assert.NoError(t, err)
aw.NoErr(t, err)
_, err = repository.Initialize(ctx, test.account, st, control.Options{})
test.errCheck(t, err, "")
})
@ -71,7 +72,7 @@ func (suite *RepositorySuite) TestConnect() {
return storage.NewStorage(storage.ProviderUnknown)
},
account.Account{},
assert.Error,
aw.Err,
},
}
for _, test := range table {
@ -80,7 +81,7 @@ func (suite *RepositorySuite) TestConnect() {
defer flush()
st, err := test.storage()
assert.NoError(t, err)
aw.NoErr(t, err)
_, err = repository.Connect(ctx, test.account, st, control.Options{})
test.errCheck(t, err)
})
@ -122,7 +123,7 @@ func (suite *RepositoryIntegrationSuite) TestInitialize() {
{
name: "success",
storage: tester.NewPrefixedS3Storage,
errCheck: assert.NoError,
errCheck: aw.NoErr,
},
}
for _, test := range table {
@ -131,7 +132,7 @@ func (suite *RepositoryIntegrationSuite) TestInitialize() {
r, err := repository.Initialize(ctx, test.account, st, control.Options{})
if err == nil {
defer func() {
assert.NoError(t, r.Close(ctx))
aw.NoErr(t, r.Close(ctx))
}()
}
@ -150,11 +151,11 @@ func (suite *RepositoryIntegrationSuite) TestConnect() {
st := tester.NewPrefixedS3Storage(t)
_, err := repository.Initialize(ctx, account.Account{}, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
// now re-connect
_, err = repository.Connect(ctx, account.Account{}, st, control.Options{})
assert.NoError(t, err)
aw.NoErr(t, err)
}
func (suite *RepositoryIntegrationSuite) TestConnect_sameID() {
@ -167,15 +168,15 @@ func (suite *RepositoryIntegrationSuite) TestConnect_sameID() {
st := tester.NewPrefixedS3Storage(t)
r, err := repository.Initialize(ctx, account.Account{}, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
oldID := r.GetID()
require.NoError(t, r.Close(ctx))
aw.MustNoErr(t, r.Close(ctx))
// now re-connect
r, err = repository.Connect(ctx, account.Account{}, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, oldID, r.GetID())
}
@ -191,10 +192,10 @@ func (suite *RepositoryIntegrationSuite) TestNewBackup() {
st := tester.NewPrefixedS3Storage(t)
r, err := repository.Initialize(ctx, acct, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
bo, err := r.NewBackup(ctx, selectors.Selector{DiscreteOwner: "test"})
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, bo)
}
@ -211,9 +212,9 @@ func (suite *RepositoryIntegrationSuite) TestNewRestore() {
st := tester.NewPrefixedS3Storage(t)
r, err := repository.Initialize(ctx, acct, st, control.Options{})
require.NoError(t, err)
aw.MustNoErr(t, err)
ro, err := r.NewRestore(ctx, "backup-id", selectors.Selector{DiscreteOwner: "test"}, dest)
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, ro)
}

View File

@ -4,11 +4,11 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/kopia"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
)
type RepositoryModelSuite struct {
@ -39,19 +39,19 @@ func (suite *RepositoryModelSuite) TestWriteGetModel() {
kopiaRef = kopia.NewConn(s)
)
require.NoError(t, kopiaRef.Initialize(ctx))
require.NoError(t, kopiaRef.Connect(ctx))
aw.MustNoErr(t, kopiaRef.Initialize(ctx))
aw.MustNoErr(t, kopiaRef.Connect(ctx))
defer kopiaRef.Close(ctx)
ms, err := kopia.NewModelStore(kopiaRef)
require.NoError(t, err)
aw.MustNoErr(t, err)
defer ms.Close(ctx)
require.NoError(t, newRepoModel(ctx, ms, "fnords"))
aw.MustNoErr(t, newRepoModel(ctx, ms, "fnords"))
got, err := getRepoModel(ctx, ms)
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, "fnords", string(got.ID))
}

View File

@ -10,6 +10,7 @@ import (
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters"
@ -36,7 +37,7 @@ func (suite *ExchangeSelectorSuite) TestToExchangeBackup() {
eb := NewExchangeBackup(nil)
s := eb.Selector
eb, err := s.ToExchangeBackup()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, eb.Service, ServiceExchange)
assert.NotZero(t, eb.Scopes())
}
@ -53,7 +54,7 @@ func (suite *ExchangeSelectorSuite) TestToExchangeRestore() {
eb := NewExchangeRestore(nil)
s := eb.Selector
eb, err := s.ToExchangeRestore()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, eb.Service, ServiceExchange)
assert.NotZero(t, eb.Scopes())
}

View File

@ -5,8 +5,8 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path"
@ -189,7 +189,7 @@ func stubPath(t *testing.T, user string, s []string, cat path.CategoryType) path
pth, err := path.Builder{}.
Append(s...).
ToDataLayerExchangePathForCategory("tid", user, cat, true)
require.NoError(t, err)
aw.MustNoErr(t, err)
return pth
}

View File

@ -10,6 +10,7 @@ import (
"github.com/alcionai/corso/src/internal/common"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -35,7 +36,7 @@ func (suite *OneDriveSelectorSuite) TestToOneDriveBackup() {
ob := NewOneDriveBackup(Any())
s := ob.Selector
ob, err := s.ToOneDriveBackup()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, ob.Service, ServiceOneDrive)
assert.NotZero(t, ob.Scopes())
}
@ -153,7 +154,7 @@ func (suite *OneDriveSelectorSuite) TestToOneDriveRestore() {
eb := NewOneDriveRestore(Any())
s := eb.Selector
or, err := s.ToOneDriveRestore()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, or.Service, ServiceOneDrive)
assert.NotZero(t, or.Scopes())
}
@ -255,7 +256,7 @@ func (suite *OneDriveSelectorSuite) TestOneDriveCategory_PathValues() {
pathBuilder := path.Builder{}.Append("drive", "driveID", "root:", "dir1", "dir2", "file")
filePath, err := pathBuilder.ToDataLayerOneDrivePath("tenant", "user", true)
require.NoError(t, err)
aw.MustNoErr(t, err)
expected := map[categorizer]string{
OneDriveFolder: "dir1/dir2",

View File

@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters"
@ -284,7 +285,7 @@ func (suite *SelectorScopesSuite) TestReduce() {
dataCats,
errs)
require.NotNil(t, result)
require.NoError(t, errs.Failure(), "no recoverable errors")
aw.MustNoErr(t, errs.Failure(), "no recoverable errors")
assert.Len(t, result.Entries, test.expectLen)
})
}

View File

@ -6,6 +6,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path"
)
@ -28,7 +29,7 @@ func (suite *SelectorSuite) TestNewSelector() {
func (suite *SelectorSuite) TestBadCastErr() {
err := badCastErr(ServiceUnknown, ServiceExchange)
assert.Error(suite.T(), err)
aw.Err(suite.T(), err)
}
func (suite *SelectorSuite) TestResourceOwnersIn() {
@ -251,14 +252,14 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
}{
{
name: "empty",
isErr: assert.Error,
isErr: aw.Err,
getSelector: func(t *testing.T) *Selector {
return &Selector{}
},
},
{
name: "Mail_B",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeBackup(users)
sel.Include(sel.MailFolders([]string{"MailFolder"}, PrefixMatch()))
@ -268,7 +269,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "Mail_R",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeRestore(users)
sel.Include(sel.MailFolders([]string{"MailFolder"}, PrefixMatch()))
@ -278,7 +279,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "Contacts",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeBackup(users)
sel.Include(sel.ContactFolders([]string{"Contact Folder"}, PrefixMatch()))
@ -287,7 +288,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "Contacts_R",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeRestore(users)
sel.Include(sel.ContactFolders([]string{"Contact Folder"}, PrefixMatch()))
@ -296,7 +297,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "Events",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeBackup(users)
sel.Include(sel.EventCalendars([]string{"July"}, PrefixMatch()))
@ -305,7 +306,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "Events_R",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewExchangeRestore(users)
sel.Include(sel.EventCalendars([]string{"July"}, PrefixMatch()))
@ -315,7 +316,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "SharePoint Pages",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewSharePointBackup(users)
sel.Include(sel.Pages([]string{"Something"}, SuffixMatch()))
@ -326,7 +327,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "SharePoint Lists",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewSharePointBackup(users)
sel.Include(sel.Lists([]string{"Lists from website"}, SuffixMatch()))
@ -336,7 +337,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "SharePoint Libraries",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewSharePointBackup(users)
sel.Include(sel.Libraries([]string{"A directory"}, SuffixMatch()))
@ -346,7 +347,7 @@ func (suite *SelectorSuite) TestPathCategories_includes() {
},
{
name: "OneDrive",
isErr: assert.NoError,
isErr: aw.NoErr,
getSelector: func(t *testing.T) *Selector {
sel := NewOneDriveBackup(users)
sel.Include(sel.Folders([]string{"Single Folder"}, PrefixMatch()))

View File

@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
@ -33,7 +34,7 @@ func (suite *SharePointSelectorSuite) TestToSharePointBackup() {
ob := NewSharePointBackup(nil)
s := ob.Selector
ob, err := s.ToSharePointBackup()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, ob.Service, ServiceSharePoint)
assert.NotZero(t, ob.Scopes())
}
@ -187,7 +188,7 @@ func (suite *SharePointSelectorSuite) TestToSharePointRestore() {
eb := NewSharePointRestore(nil)
s := eb.Selector
or, err := s.ToSharePointRestore()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, or.Service, ServiceSharePoint)
assert.NotZero(t, or.Scopes())
}
@ -347,7 +348,7 @@ func (suite *SharePointSelectorSuite) TestSharePointCategory_PathValues() {
"site",
test.sc.PathType(),
true)
require.NoError(t, err)
aw.MustNoErr(t, err)
r, l := test.sc.pathValues(itemPath, itemPath)
assert.Equal(t, test.expected, r)
assert.Equal(t, test.expected, l)

View File

@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/fault"
)
@ -34,7 +35,7 @@ func (suite *M365IntegrationSuite) TestUsers() {
)
users, err := Users(ctx, acct, fault.New(true))
require.NoError(t, err)
aw.MustNoErr(t, err)
require.NotNil(t, users)
require.Greater(t, len(users), 0)

View File

@ -6,6 +6,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/storage"
)
@ -27,7 +28,7 @@ var goodCommonConfig = storage.CommonConfig{
func (suite *CommonCfgSuite) TestCommonConfig_Config() {
cfg := goodCommonConfig
c, err := cfg.StringConfig()
assert.NoError(suite.T(), err)
aw.NoErr(suite.T(), err)
table := []struct {
key string
@ -47,9 +48,9 @@ func (suite *CommonCfgSuite) TestStorage_CommonConfig() {
in := goodCommonConfig
s, err := storage.NewStorage(storage.ProviderUnknown, in)
assert.NoError(t, err)
aw.NoErr(t, err)
out, err := s.CommonConfig()
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Equal(t, in.CorsoPassphrase, out.CorsoPassphrase)
}
@ -65,7 +66,7 @@ func (suite *CommonCfgSuite) TestStorage_CommonConfig_InvalidCases() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
_, err := storage.NewStorage(storage.ProviderUnknown, test.cfg)
assert.Error(t, err)
aw.Err(t, err)
})
}
@ -84,10 +85,10 @@ func (suite *CommonCfgSuite) TestStorage_CommonConfig_InvalidCases() {
for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) {
st, err := storage.NewStorage(storage.ProviderUnknown, goodCommonConfig)
assert.NoError(t, err)
aw.NoErr(t, err)
test.amend(st)
_, err = st.CommonConfig()
assert.Error(t, err)
aw.Err(t, err)
})
}
}

View File

@ -3,8 +3,8 @@ package storage
import (
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
)
@ -37,7 +37,7 @@ var (
func (suite *S3CfgSuite) TestS3Config_Config() {
s3 := goodS3Config
c, err := s3.StringConfig()
assert.NoError(suite.T(), err)
aw.NoErr(suite.T(), err)
table := []struct {
key string
@ -57,9 +57,9 @@ func (suite *S3CfgSuite) TestStorage_S3Config() {
in := goodS3Config
s, err := NewStorage(ProviderS3, in)
assert.NoError(t, err)
aw.NoErr(t, err)
out, err := s.S3Config()
assert.NoError(t, err)
aw.NoErr(t, err)
assert.Equal(t, in.Bucket, out.Bucket)
assert.Equal(t, in.Endpoint, out.Endpoint)
@ -85,7 +85,7 @@ func (suite *S3CfgSuite) TestStorage_S3Config_invalidCases() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
_, err := NewStorage(ProviderUnknown, test.cfg)
assert.Error(t, err)
aw.Err(t, err)
})
}
@ -104,10 +104,10 @@ func (suite *S3CfgSuite) TestStorage_S3Config_invalidCases() {
for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) {
st, err := NewStorage(ProviderUnknown, goodS3Config)
assert.NoError(t, err)
aw.NoErr(t, err)
test.amend(st)
_, err = st.S3Config()
assert.Error(t, err)
aw.Err(t, err)
})
}
}
@ -149,7 +149,7 @@ func (suite *S3CfgSuite) TestStorage_S3Config_StringConfig() {
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
result, err := test.input.StringConfig()
require.NoError(t, err)
aw.MustNoErr(t, err)
assert.Equal(t, test.expect, result)
})
}

View File

@ -3,6 +3,7 @@ package storage
import (
"testing"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
)
@ -31,10 +32,10 @@ func (suite *StorageSuite) TestNewStorage() {
c testConfig
errCheck assert.ErrorAssertionFunc
}{
{"unknown no error", ProviderUnknown, testConfig{"configVal", nil}, assert.NoError},
{"s3 no error", ProviderS3, testConfig{"configVal", nil}, assert.NoError},
{"unknown w/ error", ProviderUnknown, testConfig{"configVal", assert.AnError}, assert.Error},
{"s3 w/ error", ProviderS3, testConfig{"configVal", assert.AnError}, assert.Error},
{"unknown no error", ProviderUnknown, testConfig{"configVal", nil}, aw.NoErr},
{"s3 no error", ProviderS3, testConfig{"configVal", nil}, aw.NoErr},
{"unknown w/ error", ProviderUnknown, testConfig{"configVal", assert.AnError}, aw.Err},
{"s3 w/ error", ProviderS3, testConfig{"configVal", assert.AnError}, aw.Err},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {

View File

@ -11,6 +11,7 @@ import (
"github.com/alcionai/corso/src/internal/model"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/aw"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/store"
storeMock "github.com/alcionai/corso/src/pkg/store/mock"
@ -53,12 +54,12 @@ func (suite *StoreBackupUnitSuite) TestGetBackup() {
{
name: "gets backup",
mock: storeMock.NewMock(&bu, nil),
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "errors",
mock: storeMock.NewMock(&bu, assert.AnError),
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {
@ -86,12 +87,12 @@ func (suite *StoreBackupUnitSuite) TestGetBackups() {
{
name: "gets backups",
mock: storeMock.NewMock(&bu, nil),
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "errors",
mock: storeMock.NewMock(&bu, assert.AnError),
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {
@ -120,12 +121,12 @@ func (suite *StoreBackupUnitSuite) TestDeleteBackup() {
{
name: "deletes backup",
mock: storeMock.NewMock(&bu, nil),
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "errors",
mock: storeMock.NewMock(&bu, assert.AnError),
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {
@ -149,12 +150,12 @@ func (suite *StoreBackupUnitSuite) TestGetDetailsIDFromBackupID() {
{
name: "gets details from backup id",
mock: storeMock.NewMock(&bu, nil),
expect: assert.NoError,
expect: aw.NoErr,
},
{
name: "errors",
mock: storeMock.NewMock(&bu, assert.AnError),
expect: assert.Error,
expect: aw.Err,
},
}
for _, test := range table {