public void AuditUsingSpecificTypeAuditorUpdateQux() { MyDefaultAuditor.SetCallbacksExpected(); QuxAuditor.SetCallbacksExpected(); var qux = GetTestService("Quxes").GetAction("New Instance").InvokeReturnObject(); qux.Save(); MyDefaultAuditor.SetCallbacksUnexpected(); QuxAuditor.SetCallbacksUnexpected(); var quxUpdatedCount = 0; var newValue = Guid.NewGuid().ToString(); QuxAuditor.Auditor.objectUpdatedCallback = (p, o) => { Assert.AreEqual("sven", p.Identity.Name); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Qux", o.GetType().GetProxiedType().FullName); Assert.AreEqual(newValue, ((Qux)o).Prop1); quxUpdatedCount++; }; NakedObjectsFramework.TransactionManager.StartTransaction(); qux.GetPropertyByName("Prop1").SetValue(newValue); NakedObjectsFramework.TransactionManager.EndTransaction(); Assert.AreEqual(1, quxUpdatedCount, "expect qux auditor to be called for updates"); }
public void DefaultAuditorCalledForNonSpecificTypePersist() { MyDefaultAuditor.SetCallbacksExpected(); var bar = GetTestService("Bars").GetAction("New Instance").InvokeReturnObject(); MyDefaultAuditor.SetCallbacksUnexpected(); var defaultPersistedCount = 0; MyDefaultAuditor.Auditor.objectPersistedCallback = (p, o) => { Assert.AreEqual("sven", p.Identity?.Name); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Bar", o.GetType().GetProxiedType().FullName); Assert.IsNull(((Bar)o).Prop1); defaultPersistedCount++; }; bar.Save(); Assert.AreEqual(1, defaultPersistedCount, "expect default auditor to be called for persists"); }
public void AuditUsingSpecificTypeAuditorQueryOnlyServiceAction() { MyDefaultAuditor.SetCallbacksExpected(); var foo = GetTestService("Foo Service"); MyDefaultAuditor.SetCallbacksUnexpected(); var fooCalledCount = 0; FooAuditor.Auditor.serviceActionInvokedCallback = (p, a, s, b, pp) => { Assert.AreEqual("sven", p.Identity.Name); Assert.AreEqual("AQueryOnlyAction", a); Assert.AreEqual("Foo Service", s); Assert.IsTrue(b); Assert.AreEqual(0, pp.Length); fooCalledCount++; }; foo.GetAction("A Query Only Action").InvokeReturnObject(); Assert.AreEqual(1, fooCalledCount, "expect foo auditor to be called"); }
public void AuditUsingSpecificTypeAuditorPersistQux() { MyDefaultAuditor.SetCallbacksExpected(); var qux = GetTestService("Quxes").GetAction("New Instance").InvokeReturnObject(); MyDefaultAuditor.SetCallbacksUnexpected(); var quxPersistedCount = 0; QuxAuditor.Auditor.objectPersistedCallback = (p, o) => { Assert.AreEqual("sven", p.Identity?.Name); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Qux", o.GetType().GetProxiedType().FullName); Assert.IsNull(((Qux)o).Prop1); quxPersistedCount++; }; qux.Save(); Assert.AreEqual(1, quxPersistedCount, "expect qux auditor to be called for persists"); }
public void AuditUsingSpecificTypeAuditorQueryOnlyAction() { MyDefaultAuditor.SetCallbacksExpected(); var foo = GetTestService("Foos").GetAction("New Instance").InvokeReturnObject(); MyDefaultAuditor.SetCallbacksUnexpected(); var fooCalledCount = 0; FooAuditor.Auditor.actionInvokedCallback = (p, a, o, b, pp) => { Assert.AreEqual("sven", p.Identity.Name); Assert.AreEqual("AQueryOnlyAction", a); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Foo", o.GetType().FullName); Assert.IsTrue(b); Assert.AreEqual(0, pp.Length); fooCalledCount++; }; foo.GetAction("A Query Only Action").InvokeReturnObject(); Assert.AreEqual(1, fooCalledCount, "expect foo auditor to be called"); }
public void AuditUsingSpecificTypeAuditorActionQux() { MyDefaultAuditor.SetCallbacksExpected(); var qux = GetTestService("Quxes").GetAction("New Instance").InvokeReturnObject(); MyDefaultAuditor.SetCallbacksUnexpected(); var quxCalledCound = 0; QuxAuditor.Auditor.actionInvokedCallback = (p, a, o, b, pp) => { Assert.AreEqual("sven", p.Identity.Name); Assert.AreEqual("AnAction", a); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Qux", o.GetType().FullName); Assert.IsFalse(b); Assert.AreEqual(0, pp.Length); quxCalledCound++; }; qux.GetAction("An Action").InvokeReturnObject(); Assert.AreEqual(1, quxCalledCound, "expect qux auditor to be called"); }
public void DefaultAuditorCalledForNonSpecificTypeAction() { MyDefaultAuditor.SetCallbacksExpected(); var bar = GetTestService(typeof(SimpleRepository <Bar>)).GetAction("New Instance").InvokeReturnObject(); bar.Save(); MyDefaultAuditor.SetCallbacksUnexpected(); var defaultCalledCount = 0; MyDefaultAuditor.Auditor.actionInvokedCallback = (p, a, o, b, pp) => { Assert.AreEqual("sven", p.Identity.Name); Assert.AreEqual("AnAction", a); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Bar", o.GetType().GetProxiedType().FullName); Assert.IsFalse(b); Assert.AreEqual(0, pp.Length); defaultCalledCount++; }; bar.GetAction("An Action").InvokeReturnObject(); Assert.AreEqual(1, defaultCalledCount, "expect default auditor to be called"); }
public void DefaultAuditorCalledForNonSpecificTypeUpdate() { MyDefaultAuditor.SetCallbacksExpected(); var bar = GetTestService("Bars").GetAction("New Instance").InvokeReturnObject(); bar.Save(); MyDefaultAuditor.SetCallbacksUnexpected(); var defaultUpdatedCount = 0; var newValue = Guid.NewGuid().ToString(); MyDefaultAuditor.Auditor.objectUpdatedCallback = (p, o) => { Assert.AreEqual("sven", p.Identity.Name); Assert.IsNotNull(o); Assert.AreEqual("NakedObjects.SystemTest.Audit.Bar", o.GetType().GetProxiedType().FullName); Assert.AreEqual(newValue, ((Bar)o).Prop1); defaultUpdatedCount++; }; NakedObjectsFramework.TransactionManager.StartTransaction(); bar.GetPropertyByName("Prop1").SetValue(newValue); NakedObjectsFramework.TransactionManager.EndTransaction(); Assert.AreEqual(1, defaultUpdatedCount, "expect default auditor to be called for updates"); }
public void AuditUsingSpecificTypeAuditorServiceActionWithParms() { MyDefaultAuditor.SetCallbacksExpected(); var foo = GetTestService("Foo Service"); var fooObj = GetTestService("Foos").GetAction("New Instance").InvokeReturnObject(); MyDefaultAuditor.SetCallbacksUnexpected(); var fooCalledCount = 0; FooAuditor.Auditor.serviceActionInvokedCallback = (p, a, s, b, pp) => { Assert.AreEqual("sven", p.Identity.Name); Assert.AreEqual("AnActionWithParms", a); Assert.AreEqual("Foo Service", s); Assert.IsFalse(b); Assert.AreEqual(2, pp.Length); Assert.AreEqual(1, pp[0]); Assert.AreSame(fooObj.NakedObject.Object, pp[1]); fooCalledCount++; }; foo.GetAction("An Action With Parms").InvokeReturnObject(1, fooObj); Assert.AreEqual(1, fooCalledCount, "expect foo auditor to be called"); }