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:
parent
4a882dec3b
commit
2eaeaf1f04
@ -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))
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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))
|
||||
})
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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()
|
||||
},
|
||||
},
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
},
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
@ -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))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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.")
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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")
|
||||
})
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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()
|
||||
},
|
||||
},
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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++
|
||||
}
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
83
src/internal/tester/aw/assert_wrapper.go
Normal file
83
src/internal/tester/aw/assert_wrapper.go
Normal 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()...)
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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]
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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))
|
||||
}
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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()))
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user