sensenet
sensenet copied to clipboard
AuditBlock only writes failed cases
Use the following test to reproduce, the ASSERT-2 will be fail:
[TestMethod]
public void AuditBlock_Unsuccessful_Successful()
{
Test2(services =>
{
services.AddSingleton<IAuditEventWriter, DatabaseAuditEventWriter>();
}, () =>
{
var dp = (InMemoryDataProvider)Providers.Instance.DataProvider;
var logEntries = dp.DB.LogEntries;
var entryCount = logEntries.Count;
// ACT-1
using (var audit = new AuditBlock(new AuditEvent("AuditCategory1", 500001), "Operation1", null))
{
// do something
audit.Successful = false;
}
// ASSERT-1
Assert.AreEqual(1, logEntries.Count - entryCount);
// ASSIGN-2
entryCount = logEntries.Count;
// ACT-2
using (var audit = new AuditBlock(new AuditEvent("AuditCategory1", 500001), "Operation1", null))
{
// do something
audit.Successful = true;
}
// ASSERT-2
Assert.AreEqual(1, logEntries.Count - entryCount);
});
}
Not changed. This is a feature and not a bug.