示例#1
0
        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;
            }
示例#3
0
        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);
        }