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); }
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; }
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); }
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); }
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; }