Exemple #1
0
        public async Task <IActionResult> GetTestScenarioCountsForProvider(string providerId)
        {
            if (string.IsNullOrWhiteSpace(providerId))
            {
                _logger.Error($"No providerId was provided to {nameof(GetTestScenarioCountsForProvider)}");

                return(new BadRequestObjectResult("Null or empty providerId provided"));
            }

            ProviderTestScenarioResultCounts result = await _testResultsRepository.GetProviderCounts(providerId);

            return(new OkObjectResult(result));
        }
        public async Task <IActionResult> GetTestScenarioCountsForProvider(HttpRequest request)
        {
            request.Query.TryGetValue("providerId", out var providerIdParse);

            var providerId = providerIdParse.FirstOrDefault();

            if (string.IsNullOrWhiteSpace(providerId))
            {
                _logger.Error($"No providerId was provided to {nameof(GetTestScenarioCountsForProvider)}");

                return(new BadRequestObjectResult("Null or empty providerId provided"));
            }

            ProviderTestScenarioResultCounts result = await _testResultsRepository.GetProviderCounts(providerId);

            return(new OkObjectResult(result));
        }
        public async Task <ProviderTestScenarioResultCounts> GetProviderCounts(string providerId)
        {
            Task <int> passedTask  = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Passed)).Count());
            Task <int> failedTask  = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Failed)).Count());
            Task <int> ignoredTask = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Ignored)).Count());

            await TaskHelper.WhenAllAndThrow(passedTask, failedTask, ignoredTask);

            ProviderTestScenarioResultCounts result = new ProviderTestScenarioResultCounts()
            {
                Passed     = passedTask.Result,
                Failed     = failedTask.Result,
                Ignored    = ignoredTask.Result,
                ProviderId = providerId,
            };

            return(result);
        }