public async Task SmokeTest()
        {
            ISpfRecordParser parser = CreateParser();

            SpfRecord spfRecord = await parser.Parse("", new List <string> {
                ""
            });
        }
        public async Task <SpfRecords> Parse(string domain, List <List <string> > spfRecordsStrings, int messageSize)
        {
            SpfRecord[] records = await Task.WhenAll(spfRecordsStrings.Select(_ => _spfRecordParser.Parse(domain, _)));

            SpfRecords spfRecords = new SpfRecords(records.Where(_ => _ != null).ToList(), messageSize);

            EvaluationResult <DomainSpfRecords> results =
                await _spfRecordsRulesEvaluator.Evaluate(new DomainSpfRecords(domain, spfRecords));

            spfRecords.AddErrors(results.Errors);

            return(spfRecords);
        }
Example #3
0
        public SpfConfig Parse(Contract.Domain.SpfConfig spfDomainConfig)
        {
            List <SpfRecord> records = spfDomainConfig.Records
                                       .Select(_ => _spfRecordParser.Parse(_, spfDomainConfig.Domain.Name))
                                       .Where(_ => _ != null).ToList();

            SpfConfig spfConfig = new SpfConfig(records, spfDomainConfig.LastChecked);

            List <Error> errors = _spfConfigRulesEvaluator.Evaluate(spfConfig);

            spfConfig.AddErrors(errors);

            return(spfConfig);
        }