Пример #1
0
        public async Task HandleTlsRptRecordsPolledWhenNewRecords()
        {
            TlsRptRecords record = CreateRecords(record: "one,two");

            TlsRptRecords record2 = CreateRecords(record: "two,three");

            A.CallTo(() => _entityDao.Get(Id)).Returns(new TlsRptEntityHistoryState(Id,
                                                                                    new List <TlsRptHistoryRecord>
            {
                new TlsRptHistoryRecord(DateTime.UtcNow.AddDays(-2), null, new List <string> {
                    record.Records[0].Record
                })
            }));

            TlsRptRecordsPolled tlsRptRecordsEvaluated =
                new TlsRptRecordsPolled(Id, record2, null)
            {
                Timestamp = DateTime.UtcNow
            };

            await _historyEntity.Handle(tlsRptRecordsEvaluated);

            A.CallTo(() => _entityDao.Save(A <TlsRptEntityHistoryState> ._)).MustHaveHappenedOnceExactly();
            A.CallTo(() => _tlsRptRuaService.Process(A <string> ._, A <string> ._)).MustHaveHappenedTwiceExactly();
        }
        public async Task TlsRptRecordPresentNoErrors()
        {
            TlsRptRecords tlsRptRecords = CreateRecords(CreateRecord());

            List <Error> errors = await _rule.Evaluate(tlsRptRecords);

            Assert.That(errors, Is.Empty);
        }
Пример #3
0
 public TlsRptInfoResponse(string id, TlsRptState tlsRptState, TlsRptRecords tlsRptRecords = null, List <Message> messages = null, DateTime?lastUpdated = null)
 {
     Id            = id;
     Status        = tlsRptState;
     TlsRptRecords = tlsRptRecords;
     Messages      = messages;
     LastUpdated   = lastUpdated;
 }
Пример #4
0
        public async Task TlsRptRecordNotPresentGeneratesError()
        {
            TlsRptRecords tlsRptRecords = CreateRecords();

            List<Error> errors = await _rule.Evaluate(tlsRptRecords);

            Assert.That(errors.Count, Is.EqualTo(1));
        }
        public Evnt UpdateTlsRptEvaluation(TlsRptRecords tlsRptRecords, List <Message> messages, DateTime lastUpdated)
        {
            TlsRptRecords = tlsRptRecords;
            LastUpdated   = lastUpdated;
            Messages      = messages;
            LastUpdated   = lastUpdated;
            TlsRptState   = TlsRptState.Evaluated;

            return(new TlsRptRecordEvaluationsChanged(Id, tlsRptRecords, messages));
        }
        public async Task <EvaluationResult <TlsRptRecords> > Evaluate(TlsRptRecords item)
        {
            EvaluationResult <TlsRptRecords> recordsEvaluationResult = await _recordsEvaluator.Evaluate(item);

            foreach (TlsRptRecord tlsRptRecord in item.Records)
            {
                EvaluationResult <TlsRptRecord> tlsRptRecordEvaluationResult = await _recordEvaluator.Evaluate(tlsRptRecord);

                recordsEvaluationResult.Errors.AddRange(tlsRptRecordEvaluationResult.Errors);
            }

            return(recordsEvaluationResult);
        }
Пример #7
0
        public EvaluationResult <TlsRptRecords> Parse(TlsRptRecordInfos tlsRptRecordInfos)
        {
            List <TlsRptRecord> records = new List <TlsRptRecord>();
            List <Error>        errors  = new List <Error>();

            foreach (TlsRptRecordInfo tlsRptRecordInfo in tlsRptRecordInfos.RecordsInfos)
            {
                EvaluationResult <TlsRptRecord> tlsRptRecord = _parser.Parse(tlsRptRecordInfo);
                records.Add(tlsRptRecord.Item);
                errors.AddRange(tlsRptRecord.Errors);
            }

            TlsRptRecords tlsRptRecords = new TlsRptRecords(tlsRptRecordInfos.Domain, records, tlsRptRecordInfos.MessageSize);

            return(new EvaluationResult <TlsRptRecords>(tlsRptRecords, errors));
        }
        public async Task <List <Message> > Process(TlsRptRecords tlsRptRecords)
        {
            List <Message> errors = new List <Message>();

            if (tlsRptRecords != null)
            {
                foreach (TlsRptRecord tlsRptRecord in tlsRptRecords.Records)
                {
                    _recordExplainer.Process(tlsRptRecord);

                    EvaluationResult <TlsRptRecord> evaluationResult = await _evaluator.Evaluate(tlsRptRecord);

                    errors.AddRange(evaluationResult.Errors);
                }
            }

            return(errors);
        }
Пример #9
0
        public async Task HandleTlsRptRecordsPolledWhenRecordsInSameOrderNoUpdate()
        {
            TlsRptRecords record = CreateRecords(record: "one,two");

            TlsRptRecords record2 = CreateRecords(record: "one,two");

            A.CallTo(() => _entityDao.Get(Id)).Returns(new TlsRptEntityHistoryState(Id,
                                                                                    new List <TlsRptHistoryRecord>
            {
                new TlsRptHistoryRecord(DateTime.UtcNow.AddDays(-2), null, record.Records.Select(x => x.Record).ToList())
            }));

            TlsRptRecordsPolled tlsRptRecordsEvaluated =
                new TlsRptRecordsPolled(Id, record2, null)
            {
                Timestamp = DateTime.UtcNow
            };

            await _historyEntity.Handle(tlsRptRecordsEvaluated);

            A.CallTo(() => _entityDao.Save(A <TlsRptEntityHistoryState> ._)).MustNotHaveHappened();
            A.CallTo(() => _dispatcher.Dispatch(A <RuaVerificationChangeFound> ._, A <string> ._)).MustNotHaveHappened();
        }
 public TlsRptRecordsEvaluated(string id, TlsRptRecords records, List <SharedDomain.Message> messages, DateTime lastUpdated) : base(id)
 {
     Records     = records;
     Messages    = messages;
     LastUpdated = lastUpdated;
 }
 public TlsRptRecordsPolled(string id, TlsRptRecords tlsRptRecords, List <SharedDomain.Message> messages) : base(id)
 {
     TlsRptRecords = tlsRptRecords;
     Messages      = messages ?? new List <SharedDomain.Message>();
 }
 private static ContractTlsRptRecords ToContract(this TlsRptRecords tlsRptRecords)
 {
     return(new ContractTlsRptRecords(tlsRptRecords.Domain,
                                      tlsRptRecords.Records.Select(x => x.ToContractTlsRptRecord()).ToList(),
                                      tlsRptRecords.MessageSize));
 }
        public TlsRptRecordEvaluationsChanged(string id, TlsRptRecords records, List <SharedDomain.Message> messages) : base(id)
        {
            Records = records;

            Messages = messages;
        }