private static ITenantService makeTenantService( string[] buildConfigurationIds, string rootUrl = "aRootURL", int timeoutMinutes = 10) { if (buildConfigurationIds.Length == 0) { throw new ArgumentException("Value cannot be an empty collection.", nameof(buildConfigurationIds)); } var serverBuildConfiguration = new ServerBuildConfiguration { ServerRootUrl = rootUrl, BuildConfiguration = { MaxWaitDurationInMinutes = timeoutMinutes, BuildConfigurationIds = string.Join(",", buildConfigurationIds) } }; var tenantService = Substitute.For <ITenantService>(); tenantService.GetAllConfigurationAsync <ServerBuildConfiguration>() .Returns(new[] { new Configuration <ServerBuildConfiguration>("oAuth", serverBuildConfiguration) }); return(tenantService); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> Save(TeamCityConfigurationViewModel teamCityConfigurationViewModel) { if (!ModelState.IsValid) { return(RedirectToAction("Index")); } if (await _tenantService.ValidateTokenAsync(teamCityConfigurationViewModel.JwtToken)) { var serverBuildConfiguration = new ServerBuildConfiguration { ServerRootUrl = teamCityConfigurationViewModel.ServerUrl, }; serverBuildConfiguration.BuildConfiguration.MaxWaitDurationInMinutes = teamCityConfigurationViewModel.MaxWaitDurationInMinutes; serverBuildConfiguration.BuildConfiguration.BuildConfigurationIds = teamCityConfigurationViewModel.BuildConfigurationIds; await _tenantService.SetConfigurationAsync(teamCityConfigurationViewModel.JwtToken, serverBuildConfiguration); await _teamCityAggregator.ReInitializeFromConfigurationAsync(); return(View("Index", teamCityConfigurationViewModel)); } return(RedirectToAction("Index")); }