예제 #1
0
        public void InterceptorOnFlushDirtyTest()
        {
            var        auditRepo     = new Mock <IAuditLogRepository>();
            PersonName editingPerson = new PersonName {
                LastName = "LN", FirstName = "FN", MiddleName = "MN"
            };
            AuditInterceptor interceptor = new AuditInterceptor(editingPerson);

            interceptor.LogRepo = auditRepo.Object;
            object[] currentState = new object[1] {
                1
            };
            object[] previousState = new object[1] {
                0
            };
            string[] propertyNames = new string[1] {
                "testProperty"
            };
            var iType = new Mock <NHibernate.Type.IType>();

            NHibernate.Type.IType[] types = new NHibernate.Type.IType[1] {
                iType.Object
            };
            Part p = new Part();

            interceptor.OnFlushDirty(p, 1, currentState, previousState, propertyNames, types);
            auditRepo.Verify(_ => _.Save(It.IsAny <AuditLog>()), Times.Once());
        }
예제 #2
0
        public AuditInterceptorTests()
        {
            var userAuth = MockRepository.GenerateStub<IUserAuth>();
            AuditRepository = MockRepository.GenerateStub<IRepository<Audit>>();

            AuditInterceptor = new AuditInterceptor(userAuth, AuditRepository);
        }
        protected override ISession OpenSession()
        {
            Mock<IIdentityProvider> identityProvider = new Mock<IIdentityProvider>();
            identityProvider.Setup(ip => ip.IdentityName).Returns(UserName);

            Mock<ITimeProvider> timeProvider = new Mock<ITimeProvider>();
            timeProvider.Setup(tp => tp.Now).Returns(m_Now);

            AuditInterceptor<int> sessionLocalInterceptor = new AuditInterceptor<int>(identityProvider.Object, timeProvider.Object);
            return SessionFactory.OpenSession(sessionLocalInterceptor);
        }
예제 #4
0
        protected virtual ISession OpenSession()
        {
            Mock <IIdentityProvider> identityProvider = new Mock <IIdentityProvider>();

            identityProvider.Setup(ip => ip.IdentityName).Returns("Test");

            Mock <ITimeProvider> timeProvider = new Mock <ITimeProvider>();

            timeProvider.Setup(tp => tp.Now).Returns(DateTime.Now);

            AuditInterceptor <long> sessionLocalInterceptor = new AuditInterceptor <long>(identityProvider.Object, timeProvider.Object);

            return(SessionFactory.OpenSession(sessionLocalInterceptor));
        }
예제 #5
0
        protected override ISession OpenSession()
        {
            Mock <IIdentityProvider> identityProvider = new Mock <IIdentityProvider>();

            identityProvider.Setup(ip => ip.IdentityName).Returns(UserName);

            Mock <ITimeProvider> timeProvider = new Mock <ITimeProvider>();

            timeProvider.Setup(tp => tp.Now).Returns(Now);

            AuditInterceptor <int> sessionLocalInterceptor = new AuditInterceptor <int>(identityProvider.Object, timeProvider.Object);

            return(SessionFactory.OpenSession(sessionLocalInterceptor));
        }
예제 #6
0
        public void InterceptorOnSaveTest()
        {
            var              auditRepo     = new Mock <IAuditLogRepository>();
            User             editingPerson = new User();
            AuditInterceptor interceptor   = new AuditInterceptor(editingPerson);

            interceptor.LogRepo = auditRepo.Object;
            object [] state = new object [1] {
                1
            };
            string [] propertyNames = new string [1] {
                "testProperty"
            };
            var iType = new Mock <NHibernate.Type.IType>();

            NHibernate.Type.IType [] types = new  NHibernate.Type.IType [1] {
                iType.Object
            };
            Part p = new Part();

            interceptor.OnSave(p, 1, state, propertyNames, types);
            auditRepo.Verify(_ => _.Save(It.IsAny <AuditLog>()), Times.Once());
        }
예제 #7
0
        public void TestOnSave()
        {
            AuditInterceptor interceptor = new AuditInterceptor(new GenericPrincipal(new GenericIdentity("wangjianjun"), null));
            Foo foo = new Foo();

            object[] state           = new object[] { foo.ctime, foo.mtime, foo.cuser, foo.muser, foo.Bar ! };
            string[] propertiesNames = new[] { "ctime", "mtime", "cuser", "muser", "Bar" };
            IType[]  types           = new IType[] { TypeFactory.GetDateTimeType(4), TypeFactory.GetDateTimeType(4), TypeFactory.GetStringType(10), TypeFactory.GetStringType(10), TypeFactory.GetStringType(10) };

            var b = interceptor.OnSave(
                foo,
                "FOO",
                state,
                propertiesNames,
                types
                );

            Assert.True(b);
            Assert.NotEqual(DateTime.MinValue, state[0]);
            Assert.NotEqual(DateTime.MinValue, state[1]);
            Assert.Equal("wangjianjun", state[2]);
            Assert.Equal("wangjianjun", state[3]);
            Assert.Null(state[4]);
        }
        protected virtual ISession OpenSession()
        {
            Mock<IIdentityProvider> identityProvider = new Mock<IIdentityProvider>();
            identityProvider.Setup(ip => ip.IdentityName).Returns("Test");

            Mock<ITimeProvider> timeProvider = new Mock<ITimeProvider>();
            timeProvider.Setup(tp => tp.Now).Returns(DateTime.Now);

            AuditInterceptor<long> sessionLocalInterceptor = new AuditInterceptor<long>(identityProvider.Object, timeProvider.Object);
            return SessionFactory.OpenSession(sessionLocalInterceptor);
        }