コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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"));
        }