private static Dictionary <string, string> GetSiteExtensionArguments() { return(new Dictionary <string, string> { { "extensionFeed", AzureFixture.GetRequiredEnvironmentVariable("SiteExtensionFeed") }, { "extensionName", "AspNetCoreTestBundle" }, { "extensionVersion", GetAssemblyInformationalVersion() }, }); }
public static int Main(string[] args) { var loggerFactory = CreateLoggerFactory(); var logger = loggerFactory.CreateLogger(nameof(Program)); var azure = new AzureFixture(loggerFactory); var cancellationTokenSource = new CancellationTokenSource(); Console.CancelKeyPress += (sender, eventArgs) => { eventArgs.Cancel = false; cancellationTokenSource.Cancel(); }; var failedTests = new List <string>(); try { var testCases = GenerateTestCases(azure, logger); var runningTests = new List <(string Name, Task Task)>(); foreach (var testCase in testCases) { logger.LogInformation("Starting {TestCase}", testCase.Name); runningTests.Add((testCase.Name, testCase.Execute())); } foreach (var runningTest in runningTests) { try { runningTest.Task.Wait(cancellationTokenSource.Token); } catch { failedTests.Add(runningTest.Name); } } } catch (Exception ex) { logger.LogCritical(ex, "Error executing tests"); return(1); } finally { azure.Dispose(); } if (failedTests.Any()) { logger.LogCritical("Tests failed: {Tests}", string.Join(",", failedTests)); } return(failedTests.Count); }
private static IEnumerable <(string Name, Func <Task> Execute)> GenerateTestCases(AzureFixture azureFixture, ILogger logger) { var deployMethods = new[] { WebAppDeploymentKind.Git, WebAppDeploymentKind.WebDeploy }; var legacyTemplates = new (string Version, string RuntimeVersion, string Name, string Output)[]
public TemplateFunctionalTests(AzureFixture fixture, ILogger logger) { _fixture = fixture; _logger = logger; }