public async Task DateTimeIsCorrectlyFormatted()
        {
            _client.DefaultRequestHeaders.Add("oidc_claim_email", "value");
            _client.DefaultRequestHeaders.Add("oidc_claim_given_name", "value");
            _client.DefaultRequestHeaders.Add("oidc_claim_family_name", "value");
            A.CallTo(() => _mailCheckAuthorisationService.IsAuthorised(A <Role> ._)).Returns(true);
            A.CallTo(() => _mailCheckAuthorisationService.IsAuthorised(A <Operation> ._, A <ResourceType> ._, A <string> ._)).Returns(true);

            AggregateReportExportStats aggregateReportExportStats = new AggregateReportExportStats("2001-01-29", "", "", "", "", "", 234, "", "", "", "", "", "",
                                                                                                   "", "", 0, 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", "", 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0);

            A.CallTo(() => _aggregateReportDao.GetAggregateReportExport(A <string> ._, A <string> ._, A <string> ._, A <DateTime> ._, A <DateTime> ._, A <bool> ._))
            .Returns(new List <AggregateReportExportStats> {
                aggregateReportExportStats
            });

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "api/aggregatev2/export/gchq.gov.uk/2020-06-24/2020-07-21?includeSubdomains=true&csvDownload=true")
            {
                Headers = { { "accept", "text/csv" } }
            };

            HttpResponseMessage response = await _client.SendAsync(request);

            string content = await response.Content.ReadAsStringAsync();

            string date = content.Split(Environment.NewLine)[1].Split(",")[0];

            Assert.AreEqual("2001-01-29", date);
        }
Ejemplo n.º 2
0
        public async Task CheckGetAggregateExportStatsReturnsExportStats()
        {
            string effectiveDateIso8601 = "2001-01-29T10:30:50";
            string domain   = "ncsc.gov.uk";
            string provider = "testProvider";
            string ip       = "192.168.72.11";

            AggregateReportExportStats aggregateReportExportStat = new AggregateReportExportStats(
                effectiveDateIso8601, domain, provider, "", "reporterOrgName", ip, 100,
                "disposition", "dkim", "spf", "envelopeTo", "envelopeFrom",
                "headerFrom", "organisationDomainFrom", "spfAuthResults", 25, 75,
                "dkimAuthResults", 75, 25,
                10, 5, 10, 5, 1, 0, 10,
                "hostName", "hostOrgDomain", "hostProvider", 659562,
                "hostAsDescription", "hostCountry",
                10, 5, 1, 0,
                5, 10, 5, 1);

            List <AggregateReportExportStats> aggregateReportExportStats = new List <AggregateReportExportStats>()
            {
                aggregateReportExportStat
            };

            A.CallTo(() => _aggregateReportApiDao.GetAggregateReportExport(domain, provider, ip, A <DateTime> ._,
                                                                           A <DateTime> ._, A <bool> ._))
            .Returns(Task.FromResult(aggregateReportExportStats));

            var result = await _aggregateReportService.GetAggregateReportExport(domain, provider, ip, new DateTime(), new DateTime(), true);

            Assert.AreSame(aggregateReportExportStat, result.ToList()[0]);
        }
Ejemplo n.º 3
0
        public void CreateMapsAllFieldsCorrectly()
        {
            AggregateReportExportStats result = null;

            using (DataTableReader reader = GetDataTable().CreateDataReader())
            {
                while (reader.Read())
                {
                    result = _aggregateReportExportStatsFactory.Create(reader);
                }
            }

            Assert.AreEqual("2000-10-20", result.EffectiveDate);
            Assert.AreEqual("testDomain", result.Domain);
            Assert.AreEqual("testProvider", result.Provider);
            Assert.AreEqual("testOriginalProvider", result.OriginalProvider);
            Assert.AreEqual("testReporterOrgName", result.ReporterOrgName);
            Assert.AreEqual("testIp", result.Ip);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("testDisposition", result.Disposition);
            Assert.AreEqual("testDkim", result.Dkim);
            Assert.AreEqual("testSpf", result.Spf);
            Assert.AreEqual("testEnvelopeTo", result.EnvelopeTo);
            Assert.AreEqual("testEnvelopeFrom", result.EnvelopeFrom);
            Assert.AreEqual("testHeaderFrom", result.HeaderFrom);
            Assert.AreEqual("testOrganisationDomainFrom", result.OrganisationDomainFrom);
            Assert.AreEqual("testSpfAuthResults", result.SpfAuthResults);
            Assert.AreEqual(2, result.SpfPassCount);
            Assert.AreEqual(3, result.SpfFailCount);
            Assert.AreEqual("testDkimAuthResults", result.DkimAuthResults);
            Assert.AreEqual(4, result.DkimPassCount);
            Assert.AreEqual(5, result.DkimFailCount);
            Assert.AreEqual(6, result.Forwarded);
            Assert.AreEqual(7, result.SampledOut);
            Assert.AreEqual(8, result.TrustedForwarder);
            Assert.AreEqual(9, result.MailingList);
            Assert.AreEqual(10, result.LocalPolicy);
            Assert.AreEqual(11, result.Arc);
            Assert.AreEqual(12, result.OtherOverrideReason);
            Assert.AreEqual("testHostName", result.HostName);
            Assert.AreEqual("testHostOrgDomain", result.HostOrgDomain);
            Assert.AreEqual("testHostProvider", result.HostProvider);
            Assert.AreEqual(13, result.HostAsNumber);
            Assert.AreEqual("testHostAsDescription", result.HostAsDescription);
            Assert.AreEqual("testHostCountry", result.HostCountry);
            Assert.AreEqual(14, result.ProxyBlockListCount);
            Assert.AreEqual(15, result.SuspiciousNetworkBlockListCount);
            Assert.AreEqual(16, result.HijackedNetworkBlockListCount);
            Assert.AreEqual(17, result.EndUserNetworkBlockListCount);
            Assert.AreEqual(18, result.SpamSourceBlockListCount);
            Assert.AreEqual(19, result.MalwareBlockListCount);
            Assert.AreEqual(20, result.EndUserBlockListCount);
            Assert.AreEqual(21, result.BounceReflectorBlockListCount);
        }
Ejemplo n.º 4
0
        public void CreateMapsDateTimeToIso8601()
        {
            AggregateReportExportStats result = null;

            using (DataTableReader reader = GetDataTable().CreateDataReader())
            {
                while (reader.Read())
                {
                    result = _aggregateReportExportStatsFactory.Create(reader);
                }
            }

            Assert.AreEqual("2000-10-20", result.EffectiveDate, "Effective date is mapped to ISO8601 ignoring the current culture date format");
        }
Ejemplo n.º 5
0
        public AggregateReportExportStats Create(DbDataReader reader)
        {
            AggregateReportExportStats result = new AggregateReportExportStats(
                reader.GetDateTime("effective_date").ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture),
                reader.GetString("domain"),
                reader.GetString("provider"),
                reader.GetString("original_provider"),
                reader.GetString("reporter_org_name"),
                reader.GetString("ip"),
                reader.GetInt32("count"),
                reader.GetString("disposition"),
                reader.GetString("dkim"),
                reader.GetString("spf"),
                reader.GetString("envelope_to"),
                reader.GetString("envelope_from"),
                reader.GetString("header_from"),
                reader.GetString("organisation_domain_from"),
                reader.GetString("spf_auth_results"),
                reader.GetInt32("spf_pass_count"),
                reader.GetInt32("spf_fail_count"),
                reader.GetString("dkim_auth_results"),
                reader.GetInt32("dkim_pass_count"),
                reader.GetInt32("dkim_fail_count"),
                reader.GetInt32("forwarded"),
                reader.GetInt32("sampled_out"),
                reader.GetInt32("trusted_forwarder"),
                reader.GetInt32("mailing_list"),
                reader.GetInt32("local_policy"),
                reader.GetInt32("arc"),
                reader.GetInt32("other_override_reason"),
                reader.GetString("host_name"),
                reader.GetString("host_org_domain"),
                reader.GetString("host_provider"),
                reader.GetInt32("host_as_number"),
                reader.GetString("host_as_description"),
                reader.GetString("host_country"),
                reader.GetInt32("proxy_blocklist"),
                reader.GetInt32("suspicious_network_blocklist"),
                reader.GetInt32("hijacked_network_blocklist"),
                reader.GetInt32("enduser_network_blocklist"),
                reader.GetInt32("spam_source_blocklist"),
                reader.GetInt32("malware_blocklist"),
                reader.GetInt32("enduser_blocklist"),
                reader.GetInt32("bounce_reflector_blocklist")
                );

            return(result);
        }