Beispiel #1
0
        public async Task HistoryIsSavedForChanges()
        {
            string record1 = "v=TLSRPTv1;rua=mailto:[email protected]";
            string record2 = "v=TLSRPTv1;rua=mailto:[email protected]";

            TlsRptEntityHistoryState state = new TlsRptEntityHistoryState(Id,
                                                                          new List <TlsRptHistoryRecord> {
                new TlsRptHistoryRecord(DateTime.UtcNow.AddDays(-1), null, new List <string> {
                    record1
                })
            });

            await _dao.Save(state);

            TlsRptEntityHistoryState state2 = (await SelectAllHistory(Id)).First();

            state2.TlsRptHistory[0].EndDate = DateTime.UtcNow;
            state2.TlsRptHistory.Insert(0, new TlsRptHistoryRecord(DateTime.UtcNow, null, new List <string> {
                record2
            }));

            await _dao.Save(state2);

            List <TlsRptEntityHistoryState> historyStates = await SelectAllHistory(Id);

            Assert.That(historyStates[0].TlsRptHistory.Count, Is.EqualTo(2));

            Assert.That(historyStates[0].TlsRptHistory[0].EndDate, Is.Null);
            Assert.That(historyStates[0].TlsRptHistory[0].TlsRptRecords.Count, Is.EqualTo(1));
            Assert.That(historyStates[0].TlsRptHistory[0].TlsRptRecords[0], Is.EqualTo(record2));

            Assert.That(historyStates[0].TlsRptHistory[1].EndDate, Is.Not.Null);
            Assert.That(historyStates[0].TlsRptHistory[1].TlsRptRecords.Count, Is.EqualTo(1));
            Assert.That(historyStates[0].TlsRptHistory[1].TlsRptRecords[0], Is.EqualTo(record1));
        }
Beispiel #2
0
 private async Task Insert(TlsRptEntityHistoryState state)
 {
     await MySqlHelper.ExecuteNonQueryAsync(ConnectionString,
                                            @"INSERT INTO `tls_rpt_entity_history`(`id`,`state`)VALUES(@domain,@state)",
                                            new MySqlParameter("domain", state.Id),
                                            new MySqlParameter("state", JsonConvert.SerializeObject(state)));
 }
        public async Task Save(TlsRptEntityHistoryState state)
        {
            string connectionString = await _connectionInfoAsync.GetConnectionStringAsync();

            string serializedState = JsonConvert.SerializeObject(state, new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            await MySqlHelper.ExecuteNonQueryAsync(connectionString,
                                                   TlsRptEntityHistoryDaoResouces.InsertTlsRptEntityHistory,
                                                   new MySqlParameter("domain", state.Id),
                                                   new MySqlParameter("state", serializedState));
        }
Beispiel #4
0
        public async Task GetStateExistsReturnsState()
        {
            string record1 = "v=TLSRPTv1;rua=mailto:[email protected]";

            TlsRptEntityHistoryState state = new TlsRptEntityHistoryState(Id,
                                                                          new List <TlsRptHistoryRecord> {
                new TlsRptHistoryRecord(DateTime.UtcNow.AddDays(-1), null, new List <string> {
                    record1
                })
            });

            await Insert(state);

            TlsRptEntityHistoryState stateFromDatabase = await _dao.Get(Id);

            Assert.That(stateFromDatabase.Id, Is.EqualTo(state.Id));
            Assert.That(stateFromDatabase.TlsRptHistory.Count, Is.EqualTo(state.TlsRptHistory.Count));
            Assert.That(stateFromDatabase.TlsRptHistory[0].TlsRptRecords.Count, Is.EqualTo(state.TlsRptHistory[0].TlsRptRecords.Count));
            Assert.That(stateFromDatabase.TlsRptHistory[0].TlsRptRecords[0], Is.EqualTo(state.TlsRptHistory[0].TlsRptRecords[0]));
        }
Beispiel #5
0
        public async Task GetNoStateExistsReturnsNull()
        {
            TlsRptEntityHistoryState state = await _dao.Get(Id);

            Assert.That(state, Is.Null);
        }