public ApprendaTestSession(IApprendaApiClientFactory clientFactory, ISmokeTestSettings connectionSettings, TestIsolationLevel isolationLevel, ITelemetryReportingService reportingService, string testName, IUserLogin loginToUse = null) { _clientFactory = clientFactory; ConnectionSettings = connectionSettings; _reportingService = reportingService; _testName = testName; _login = loginToUse ?? connectionSettings.UserLogin; TestIsolationLevel = isolationLevel; NumberOfSessionsInUse++; }
public SmokeTestConnectionStorage(ISmokeTestSettings source) { AppsUrl = source.AppsUrl; UserName = source.UserLogin?.UserName; UserPassword = source.UserLogin?.Password; MaxPromotionWaitTime = source.MaxPromotionWaitTime; AdminTenantAlias = source.AdminTenantAlias; AdminUserName = source.AdminUserLogin?.UserName; AdminUserPassword = source.AdminUserLogin?.Password; IntegrationTestResourcesDirectory = source.IntegrationTestResourcesDirectory; RepositoryServer = source.RepositoryServer; AdminTenantAlias = source.AdminTenantAlias; RootUrl = source.RootUrl; IsExternalUserStore = source.EnvironmentFeaturesAvailable?.IsExternalUserStore ?? false; IsMultipleNodes = source.EnvironmentFeaturesAvailable?.IsMultipleNodes ?? false; EUSGroupId = source.EnvironmentInformation?.EUSGroupId; EUSGroupName = source.EnvironmentInformation?.EUSGroupName; }
private async Task <EnrichedApplication> WaitForPromotionToFinish(string appAlias, ISmokeTestSettings connectionSettings, IApprendaDeveloperPortalApiClient client) { var maxWait = connectionSettings.MaxPromotionWaitTime; var startTIme = DateTime.UtcNow; var currentState = await client.GetApplication(appAlias); while (DateTime.UtcNow - startTIme < maxWait) { try { var isPromoting = currentState.IsCurrentlyPromoting(); if (!isPromoting) { break; } } catch (Exception e) { _reportingService?.ReportInfo("Waiting for promotion: " + e.Message, new List <string> { "promotion", "debug", "exception" }); } Thread.Sleep(new TimeSpan(0, 0, 15)); currentState = await client.GetApplication(appAlias); } return(currentState); }