sensenet icon indicating copy to clipboard operation
sensenet copied to clipboard

AuditBlock only writes failed cases

Open kavics opened this issue 11 months ago • 1 comments

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

kavics avatar Feb 07 '25 16:02 kavics

Not changed. This is a feature and not a bug.

kavics avatar Apr 25 '25 01:04 kavics