From c6b91654d666373638892cc3437db0720410c04a Mon Sep 17 00:00:00 2001 From: neha-Gupta1 Date: Tue, 16 May 2023 19:40:45 +0530 Subject: [PATCH] test case for service not enabled --- src/cli/backup/backup.go | 12 ++++++----- src/cli/backup/exchange_e2e_test.go | 33 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/cli/backup/backup.go b/src/cli/backup/backup.go index c043fcd93..c7a6f8410 100644 --- a/src/cli/backup/backup.go +++ b/src/cli/backup/backup.go @@ -226,6 +226,13 @@ func runBackups( err = bo.Run(ictx) if err != nil { + if strings.Contains(err.Error(), graph.ErrServiceNotEnabled.Error()) { + logger.Ctx(ctx).Debugf("Service not enabled for creating backup for %s", bo.ResourceOwner.Name()) + Infof(ictx, "%v\n", err) + + continue + } + errs = append(errs, clues.Wrap(err, owner).WithClues(ictx)) Errf(ictx, "%v\n", err) @@ -254,11 +261,6 @@ func runBackups( sb := fmt.Sprintf("%d of %d backups failed:\n", len(errs), len(selectorSet)) for i, e := range errs { - if strings.Contains(e.Error(), graph.ErrServiceNotEnabled.Error()) { - logger.Ctx(ctx).Debugf("Service not enabled for creating backup %d of %d", i+1, len(selectorSet)) - continue - } - logger.CtxErr(ctx, e).Errorf("Backup %d of %d failed", i+1, len(selectorSet)) sb += "∙ " + e.Error() + "\n" } diff --git a/src/cli/backup/exchange_e2e_test.go b/src/cli/backup/exchange_e2e_test.go index e5c60df2b..14737eaec 100644 --- a/src/cli/backup/exchange_e2e_test.go +++ b/src/cli/backup/exchange_e2e_test.go @@ -173,6 +173,39 @@ func runExchangeBackupCategoryTest(suite *BackupExchangeE2ESuite, category strin assert.Contains(t, result, suite.m365UserID) } +func (suite *BackupExchangeE2ESuite) TestExchangeBackupCmd_ServiceNotEnables_email() { + runExchangeBackupServiceNotEnabledTest(suite, "email") +} + +func runExchangeBackupServiceNotEnabledTest(suite *BackupExchangeE2ESuite, category string) { + recorder := strings.Builder{} + recorder.Reset() + + t := suite.T() + + ctx, flush := tester.NewContext() + ctx = config.SetViper(ctx, suite.vpr) + + defer flush() + + // run the command + + cmd, ctx := buildExchangeBackupCmd( + ctx, + suite.cfgFP, + fmt.Sprintf("testevents@10rqc2.onmicrosoft.com,%s", suite.m365UserID), + category, + &recorder) + err := cmd.ExecuteContext(ctx) + require.NoError(t, err, clues.ToCore(err)) + + result := recorder.String() + t.Log("backup results", result) + + // as an offhand check: the result should contain the m365 user id + assert.Contains(t, result, suite.m365UserID) +} + func (suite *BackupExchangeE2ESuite) TestExchangeBackupCmd_userNotFound_email() { runExchangeBackupUserNotFoundTest(suite, "email") }