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)); }
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)); }
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])); }
public async Task GetNoStateExistsReturnsNull() { TlsRptEntityHistoryState state = await _dao.Get(Id); Assert.That(state, Is.Null); }