public async Task <IActionResult> GetSubdomainStats(DomainProviderDateRangeRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse(ModelState.Values)));
            }

            return(Ok(await _aggregateReportService.GetSubdomainStatsDto(request.Domain, request.Provider,
                                                                         request.StartDate, request.EndDate, request.Page.Value, request.PageSize.Value, request.CategoryFilter)));
        }
コード例 #2
0
        public async Task CheckGetSubdomainStatsDtoReturnsSubdomainStatsDto()
        {
            string domain     = "ncsc.gov.uk";
            string subdomain  = "digital.ncsc.gov.uk";
            int    totalCount = 20;

            string provider = "testProvider";
            string alias    = "testAlias";
            string markdown = "testMarkdown";

            A.CallTo(() => _providerDetailsProvider.GetProviderAliasIn(alias))
            .Returns(provider);
            A.CallTo(() => _providerDetailsProvider.GetProviderAliasOut(provider))
            .Returns(alias);
            A.CallTo(() => _providerDetailsProvider.GetProviderMarkdown(provider))
            .Returns(markdown);

            SubdomainStats domainStats = new SubdomainStats(domain, provider, subdomain, 0, 1, 2,
                                                            3, 4, 5, 6, 7,
                                                            8, 9, 10, 11, 20, 21, 22);
            SubdomainStatsResult subdomainStatsResult = new SubdomainStatsResult(domainStats, new List <SubdomainStats>()
            {
                domainStats
            }, totalCount);

            A.CallTo(() => _aggregateReportApiDao.GetSubdomainStats(domain, provider, A <DateTime> ._,
                                                                    A <DateTime> ._, A <int> ._, A <int> ._, null))
            .Returns(Task.FromResult(subdomainStatsResult));

            SubdomainStatsDto subdomainStatsDto = new SubdomainStatsDto(domain, provider, subdomain, 0, 1, 2,
                                                                        3, 4, 5, 6, 7,
                                                                        8, 9, 10, 11, 20, 21, 22,
                                                                        alias, markdown);

            A.CallTo(() => _subdomainStatsMapper.Map(domainStats, alias, markdown))
            .Returns(subdomainStatsDto);

            SubdomainStatsDtoResult subdomainStatsDtoResults = await _aggregateReportService.GetSubdomainStatsDto(domain, alias, DateTime.MinValue, DateTime.MaxValue, 0, 0);

            Assert.AreSame(subdomainStatsDto, subdomainStatsDtoResults.DomainStatsDto);
            Assert.AreSame(subdomainStatsDto, subdomainStatsDtoResults.SubdomainStatsDto[0]);
            Assert.AreEqual(totalCount, subdomainStatsDtoResults.TotalCount);
        }