From 586149a197fe57f6e327f486b9ac34345caac6f8 Mon Sep 17 00:00:00 2001 From: neha-Gupta1 Date: Wed, 17 May 2023 11:10:48 +0530 Subject: [PATCH] get CORSO_M365_TEST_UNLICENSED_USER from env --- src/cli/backup/backup.go | 2 +- src/cli/backup/exchange_e2e_test.go | 4 ++-- src/internal/tester/config.go | 24 ++++++++++++++++-------- src/internal/tester/resource_owners.go | 12 ++++++++++++ 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/cli/backup/backup.go b/src/cli/backup/backup.go index c7a6f8410..31b1b7451 100644 --- a/src/cli/backup/backup.go +++ b/src/cli/backup/backup.go @@ -226,7 +226,7 @@ func runBackups( err = bo.Run(ictx) if err != nil { - if strings.Contains(err.Error(), graph.ErrServiceNotEnabled.Error()) { + if errors.Is(err, graph.ErrServiceNotEnabled) { logger.Ctx(ctx).Debugf("Service not enabled for creating backup for %s", bo.ResourceOwner.Name()) Infof(ictx, "%v\n", err) diff --git a/src/cli/backup/exchange_e2e_test.go b/src/cli/backup/exchange_e2e_test.go index 14737eaec..80b10d5a5 100644 --- a/src/cli/backup/exchange_e2e_test.go +++ b/src/cli/backup/exchange_e2e_test.go @@ -173,7 +173,7 @@ func runExchangeBackupCategoryTest(suite *BackupExchangeE2ESuite, category strin assert.Contains(t, result, suite.m365UserID) } -func (suite *BackupExchangeE2ESuite) TestExchangeBackupCmd_ServiceNotEnables_email() { +func (suite *BackupExchangeE2ESuite) TestExchangeBackupCmd_ServiceNotEnabled_email() { runExchangeBackupServiceNotEnabledTest(suite, "email") } @@ -193,7 +193,7 @@ func runExchangeBackupServiceNotEnabledTest(suite *BackupExchangeE2ESuite, categ cmd, ctx := buildExchangeBackupCmd( ctx, suite.cfgFP, - fmt.Sprintf("testevents@10rqc2.onmicrosoft.com,%s", suite.m365UserID), + fmt.Sprintf("%s,%s", tester.UnlicensedM365UserID(suite.T()), suite.m365UserID), category, &recorder) err := cmd.ExecuteContext(ctx) diff --git a/src/internal/tester/config.go b/src/internal/tester/config.go index 14a4f54d9..657631960 100644 --- a/src/internal/tester/config.go +++ b/src/internal/tester/config.go @@ -31,18 +31,20 @@ const ( TestCfgLoadTestUserID = "loadtestm365userid" TestCfgLoadTestOrgUsers = "loadtestm365orgusers" TestCfgAccountProvider = "account_provider" + TestCfgUnlicensedUserID = "unlicensedm365userid" ) // test specific env vars const ( - EnvCorsoM365TestSiteID = "CORSO_M365_TEST_SITE_ID" - EnvCorsoM365TestSiteURL = "CORSO_M365_TEST_SITE_URL" - EnvCorsoM365TestUserID = "CORSO_M365_TEST_USER_ID" - EnvCorsoSecondaryM365TestUserID = "CORSO_SECONDARY_M365_TEST_USER_ID" - EnvCorsoTertiaryM365TestUserID = "CORSO_TERTIARY_M365_TEST_USER_ID" - EnvCorsoM365LoadTestUserID = "CORSO_M365_LOAD_TEST_USER_ID" - EnvCorsoM365LoadTestOrgUsers = "CORSO_M365_LOAD_TEST_ORG_USERS" - EnvCorsoTestConfigFilePath = "CORSO_TEST_CONFIG_FILE" + EnvCorsoM365TestSiteID = "CORSO_M365_TEST_SITE_ID" + EnvCorsoM365TestSiteURL = "CORSO_M365_TEST_SITE_URL" + EnvCorsoM365TestUserID = "CORSO_M365_TEST_USER_ID" + EnvCorsoSecondaryM365TestUserID = "CORSO_SECONDARY_M365_TEST_USER_ID" + EnvCorsoTertiaryM365TestUserID = "CORSO_TERTIARY_M365_TEST_USER_ID" + EnvCorsoM365LoadTestUserID = "CORSO_M365_LOAD_TEST_USER_ID" + EnvCorsoM365LoadTestOrgUsers = "CORSO_M365_LOAD_TEST_ORG_USERS" + EnvCorsoTestConfigFilePath = "CORSO_TEST_CONFIG_FILE" + EnvCorsoUnlicensedM365TestUserID = "CORSO_M365_TEST_UNLICENSED_USER" ) // global to hold the test config results. @@ -152,6 +154,12 @@ func readTestConfig() (map[string]string, error) { os.Getenv(EnvCorsoM365TestSiteURL), vpr.GetString(TestCfgSiteURL), "https://10rqc2.sharepoint.com/sites/CorsoCI") + fallbackTo( + testEnv, + TestCfgUnlicensedUserID, + os.Getenv(EnvCorsoUnlicensedM365TestUserID), + vpr.GetString(TestCfgUnlicensedUserID), + "testevents@10rqc2.onmicrosoft.com") testEnv[EnvCorsoTestConfigFilePath] = os.Getenv(EnvCorsoTestConfigFilePath) testConfig = testEnv diff --git a/src/internal/tester/resource_owners.go b/src/internal/tester/resource_owners.go index fb8a75837..63f929b50 100644 --- a/src/internal/tester/resource_owners.go +++ b/src/internal/tester/resource_owners.go @@ -197,3 +197,15 @@ func GetM365SiteID(ctx context.Context) string { return strings.ToLower(cfg[TestCfgSiteID]) } + +// UnlicensedM365UserID returns an userID string representing the m365UserID +// described by either the env var CORSO_M365_TEST_UNLICENSED_USER, the +// corso_test.toml config file or the default value (in that order of priority). +// The default is a last-attempt fallback that will only work on alcion's +// testing org. +func UnlicensedM365UserID(t *testing.T) string { + cfg, err := readTestConfig() + require.NoError(t, err, "retrieving unlicensed m365 user id from test configuration", clues.ToCore(err)) + + return strings.ToLower(cfg[TestCfgSecondaryUserID]) +}