public void Setup()
        {
            var assmebly     = Assembly.GetExecutingAssembly();
            var reportStream = assmebly.GetManifestResourceStream("DmarcRua.Tests.Unit.SampleReport.xml");

            _ruaViaSampleReportXml = new AggregateReport(reportStream);
        }
Ejemplo n.º 2
0
        public void should_verify_wll_known_resources()
        {
            var validationErrors = new List <Error>();
            var xmlPath          = Path.Combine("../", "../", "../", "../", "xml/");
            var files            = Directory.GetFiles(xmlPath);

            foreach (var file in files)
            {
                using (var fileStream = File.OpenRead(file))
                {
                    var aggregateReport = new AggregateReport();
                    try
                    {
                        aggregateReport.ReadAggregateReport(fileStream);
                    }
                    catch (Exception ex)
                    {
                        var err = new Error
                        {
                            FileName  = file,
                            ErrorList = new List <string> {
                                ex.Message
                            }
                        };
                        validationErrors.Add(err);
                    }

                    if (!aggregateReport.HasErrors)
                    {
                        continue;
                    }
                    var error = new Error
                    {
                        FileName  = file,
                        ErrorList = aggregateReport.Errors
                                    .Select(e => e.Exception.Message).ToList()
                    };
                    validationErrors.Add(error);
                }
            }

            if (!validationErrors.Any())
            {
                return;
            }
            foreach (var error in validationErrors)
            {
                Console.WriteLine($"Error in {error.FileName}");
                foreach (var errorMessage in error.ErrorList)
                {
                    Console.WriteLine($"\t{errorMessage}");
                }
            }
            Assert.AreEqual(0, validationErrors.Count);
        }
Ejemplo n.º 3
0
        public void should_catch_invalid_report()
        {
            var assmebly     = Assembly.GetExecutingAssembly();
            var reportStream = assmebly.GetManifestResourceStream("DmarcRua.Tests.Unit.InvalidReport.xml");

            var aggregate = new AggregateReport();

            aggregate.ReadAggregateReport(reportStream);

            Assert.AreEqual(false, aggregate.ValidReport);
        }
Ejemplo n.º 4
0
        public void should_handle_ipv6_addresses_correctly()
        {
            var assmebly     = Assembly.GetExecutingAssembly();
            var reportStream = assmebly.GetManifestResourceStream("DmarcRua.Tests.Unit.GoogleGenerated.xml");

            var aggregate = new AggregateReport();

            aggregate.ReadAggregateReport(reportStream);

            Assert.AreEqual(true, aggregate.ValidReport);
        }
Ejemplo n.º 5
0
        public void should_validate_rua_report()
        {
            var assmebly     = Assembly.GetExecutingAssembly();
            var reportStream = assmebly.GetManifestResourceStream("DmarcRua.Tests.Unit.SampleReport.xml");

            var aggregate = new AggregateReport();

            aggregate.ReadAggregateReport(reportStream);

            Assert.AreEqual(true, aggregate.ValidReport);
            Assert.AreEqual(aggregate.Feedback.PolicyPublished.Domain, "acme-company.net");
            Assert.AreEqual(aggregate.Feedback.PolicyPublished.Adkim, AlignmentType.r);
        }