public void Setup() { var assmebly = Assembly.GetExecutingAssembly(); var reportStream = assmebly.GetManifestResourceStream("DmarcRua.Tests.Unit.SampleReport.xml"); _ruaViaSampleReportXml = new AggregateReport(reportStream); }
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); }
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); }
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); }
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); }