public async Task ExecuteBenchmarkAsync_InvalidRef_HttpStatusCodeConflict() { const string childScopeBenchmark = "ChildScopeResolveBenchmark"; var client = _webApplicationFactoryFixture.Server.CreateClient(); var request = new BenchmarkRequestDto(childScopeBenchmark, new RepositoryDto(Guid.NewGuid().ToString().Replace("-", ""), AutofacRepoUrl), new RepositoryDto("develop", AutofacRepoUrl)); var content = new StringContent(JsonSerializer.Serialize(request), Encoding.UTF8, JsonMediaType); var benchmarkResponse = await client.PostAsync(BaseAddress, content); benchmarkResponse.StatusCode.Should().Be(HttpStatusCode.Conflict); }
public async Task ExecuteBenchmarkAsync_ValidRequest_HttpStatusCodeOk() { const string childScopeBenchmark = "ChildScopeResolveBenchmark"; var client = _webApplicationFactoryFixture.Server.CreateClient(); client.Timeout = TimeSpan.FromMinutes(5); var request = new BenchmarkRequestDto(childScopeBenchmark, new RepositoryDto("develop", AutofacRepoUrl), new RepositoryDto("develop", AutofacRepoUrl)); var content = new StringContent(JsonSerializer.Serialize(request), Encoding.UTF8, JsonMediaType); var benchmarkResponse = await client.PostAsync(BaseAddress, content); benchmarkResponse.StatusCode.Should().Be(HttpStatusCode.OK); }
public async Task <IActionResult> ExecuteBenchmarkAsync( [FromServices] IMediator mediator, [FromBody] BenchmarkRequestDto benchmarkRequest) { var targetExecutionCommand = new ExecuteBenchmarkCommand(benchmarkRequest.Benchmark, new Repository(benchmarkRequest.TargetRepository.Ref, benchmarkRequest.TargetRepository.Url), RepositoryTarget.Target); var targetResult = await mediator.Send(targetExecutionCommand); var sourceExecutionCommand = new ExecuteBenchmarkCommand(benchmarkRequest.Benchmark, new Repository(benchmarkRequest.SourceRepository.Ref, benchmarkRequest.SourceRepository.Url), RepositoryTarget.Source); var sourceResult = await mediator.Send(sourceExecutionCommand); var bytes = MarkdownGenerator.Generate(benchmarkRequest.Benchmark, targetResult, sourceResult); return(File(Encoding.UTF8.GetBytes(bytes), "text/html")); }