Ejemplo n.º 1
0
        public void Interceptor_AreNotified_OnSelectAllExecuted()
        {
            var service = new InterceptionManager();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var result = new List <string> {
                "a", "b"
            };
            DbCommand command = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateCommand();

            service.OnSelectAllExecuted(command, new DbInterceptionContext(result));

            Assert.AreEqual(true, i1.SelectAllExecutedCalled);
            Assert.AreEqual(command, i1.SelectAllExecutedCommand);
            Assert.IsNotNull(i1.SelectAllExecutedContext);
            Assert.AreEqual(result, i1.SelectAllExecutedContext.Result);

            Assert.AreEqual(true, i2.SelectAllExecutedCalled);
            Assert.AreEqual(command, i2.SelectAllExecutedCommand);
            Assert.IsNotNull(i2.SelectAllExecutedContext);
            Assert.AreEqual(result, i2.SelectAllExecutedContext.Result);
        }
Ejemplo n.º 2
0
        public void Interceptor_AreNotified_OnInserting()
        {
            var service = new InterceptionManager();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var model = new User
            {
                UserName = "******"
            };

            DbCommand command = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateCommand();

            service.OnInserting(command, model);

            Assert.AreEqual(true, i1.InsertingCalled);
            Assert.AreEqual(command, i1.InsertingCommand);
            Assert.AreEqual(model, i1.InsertingModel);

            Assert.AreEqual(true, i2.InsertingCalled);
            Assert.AreEqual(command, i2.InsertingCommand);
            Assert.AreEqual(model, i2.InsertingModel);
        }
Ejemplo n.º 3
0
        public async Task OnInserting()
        {
            var service = GetService();

            service.SetTable <User>("User")
            .SetPrimaryKeyColumn("Id", p => p.Id);

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var model = new User
            {
                UserName = "******"
            };

            await service.InsertAsync(model);

            Assert.AreEqual(true, i1.InsertingCalled);
            Assert.IsNotNull(i1.InsertingCommand);
            Assert.AreEqual(model, i1.InsertingModel);

            Assert.AreEqual(true, i2.InsertingCalled);
            Assert.IsNotNull(i2.InsertingCommand);
            Assert.AreEqual(model, i2.InsertingModel);
        }
Ejemplo n.º 4
0
        public async Task OnSelectAllExecuting()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            await service.SelectAllAsync <User>();

            Assert.AreEqual(true, i1.SelectAllCalled);
            Assert.AreEqual("select [Id],[UserName],[Age],[Email] from [User]", i1.SelectAllCommand.CommandText);

            Assert.AreEqual(true, i2.SelectAllCalled);
            Assert.AreEqual("select [Id],[UserName],[Age],[Email] from [User]", i2.SelectAllCommand.CommandText);
        }
Ejemplo n.º 5
0
        public async Task OnScalarExecuting()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            await service.CountAsync <User>(null);

            Assert.AreEqual(true, i1.ScalarCalled);
            Assert.IsNotNull(i1.ScalarCommand);

            Assert.AreEqual(true, i2.ScalarCalled);
            Assert.IsNotNull(i2.ScalarCommand);
        }
Ejemplo n.º 6
0
        public async Task OnNonQueryExecuting()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var command = service.CreateSqlCommand("insert into [Category] (Name) values(@name)").AddInParameter("@name", "my category 1");
            var result  = await service.ExecuteNonQueryAsync(command);

            Assert.AreEqual(true, i1.NonQueryCalled);
            Assert.IsNotNull(i1.NonQueryCommand);

            Assert.AreEqual(true, i2.NonQueryCalled);
            Assert.IsNotNull(i2.NonQueryCommand);
        }
Ejemplo n.º 7
0
        public async Task OnSelectOneExecuting()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);


            await service.SelectOneAsync <User>(Check.Op("Id", 2));

            Assert.AreEqual(true, i1.SelectOneCalled);
            Assert.IsNotNull(i1.SelectOneCommand);

            Assert.AreEqual(true, i2.SelectOneCalled);
            Assert.IsNotNull(i2.SelectOneCommand);
        }
Ejemplo n.º 8
0
        public async Task OnDeleted()
        {
            var service = GetService();

            service.SetTable <User>("User")
            .SetPrimaryKeyColumn("Id", p => p.Id);

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var model = new User
            {
                Id       = 6,
                UserName = "******"
            };

            await service.DeleteAsync(model, Check.Op("Id", model.Id));

            Assert.AreEqual(true, i1.DeletedCalled);
            Assert.IsNotNull(i1.DeletedCommand);
            Assert.AreEqual(model, (User)i1.DeletedContext.Model);
            Assert.AreEqual(1, (int)i1.DeletedContext.Result);

            Assert.AreEqual(true, i2.DeletedCalled);
            Assert.IsNotNull(i2.DeletedCommand);
            Assert.AreEqual(model, (User)i1.DeletedContext.Model);
            Assert.AreEqual(1, (int)i1.DeletedContext.Result);
            Assert.AreEqual(model, (User)i2.DeletedContext.Model);
            Assert.AreEqual(1, (int)i2.DeletedContext.Result);

            Assert.IsFalse(i1.SelectAllCalled);
            Assert.IsFalse(i1.SelectOneCalled);
            Assert.IsFalse(i1.InsertingCalled);
            Assert.IsFalse(i1.UpdatingCalled);
            Assert.IsFalse(i1.SelectAllExecutedCalled);
            Assert.IsFalse(i1.SelectOneExecutedCalled);
            Assert.IsFalse(i1.InsertedCalled);
            Assert.IsFalse(i1.UpdatedCalled);
        }
Ejemplo n.º 9
0
        public void Interceptor_AreNotified_OnSelectOneExecuting()
        {
            var service = new InterceptionManager();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);


            DbCommand command = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateCommand();

            service.OnSelectOneExecuting(command);

            Assert.AreEqual(true, i1.SelectOneCalled);
            Assert.AreEqual(command, i1.SelectOneCommand);

            Assert.AreEqual(true, i2.SelectOneCalled);
            Assert.AreEqual(command, i2.SelectOneCommand);
        }
Ejemplo n.º 10
0
        public void Interceptor_AreNotified_OnDeleted()
        {
            var service = new InterceptionManager();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            var model = new User
            {
                UserName = "******"
            };

            var       result  = 10;
            DbCommand command = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateCommand();

            service.OnDeleted(command, new DbInterceptionContext(model, result));

            Assert.AreEqual(true, i1.DeletedCalled);
            Assert.AreEqual(command, i1.DeletedCommand);
            Assert.AreEqual(model, i1.DeletedContext.Model);
            Assert.AreEqual(result, i1.DeletedContext.Result);

            Assert.AreEqual(true, i2.DeletedCalled);
            Assert.AreEqual(command, i2.DeletedCommand);
            Assert.AreEqual(model, i2.DeletedContext.Model);
            Assert.AreEqual(result, i2.DeletedContext.Result);

            Assert.IsFalse(i1.SelectAllCalled);
            Assert.IsFalse(i1.SelectOneCalled);
            Assert.IsFalse(i1.InsertingCalled);
            Assert.IsFalse(i1.UpdatingCalled);
            Assert.IsFalse(i1.DeletingCalled);
            Assert.IsFalse(i1.SelectAllExecutedCalled);
            Assert.IsFalse(i1.SelectOneExecutedCalled);
            Assert.IsFalse(i1.InsertedCalled);
            Assert.IsFalse(i1.UpdatedCalled);
        }
Ejemplo n.º 11
0
        public void Register_Unregister()
        {
            var service = new InterceptionManager();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            Assert.AreEqual(2, service.Interceptors.Count);

            service.RemoveInterceptor(i2);

            Assert.AreEqual(1, service.Interceptors.Count);

            Assert.AreEqual("MyInterceptorOne", service.Interceptors[0].GetType().Name);

            service.RemoveInterceptor(i1);

            Assert.AreEqual(0, service.Interceptors.Count);
        }
Ejemplo n.º 12
0
        public async Task OnSelectOneExecuted()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            await service.SelectOneAsync <User>(Check.Op("Id", 2));

            var result = (User)i1.SelectOneExecutedContext.Result;

            Assert.AreEqual(true, i1.SelectOneExecutedCalled);
            Assert.IsNotNull(i1.SelectOneExecutedCommand);
            Assert.IsNotNull(i1.SelectOneExecutedContext);
            Assert.AreEqual("Pat", result.UserName);

            Assert.AreEqual(true, i2.SelectOneExecutedCalled);
            Assert.IsNotNull(i2.SelectOneExecutedCommand);
            Assert.IsNotNull(i2.SelectOneExecutedContext);
        }
Ejemplo n.º 13
0
        public async Task OnSelectAllExecuted()
        {
            var service = GetService();

            var i1 = new MyInterceptorOne();
            var i2 = new MyInterceptorTwo();

            service.AddInterceptor(i1);
            service.AddInterceptor(i2);

            await service.SelectAllAsync <User>();

            var result = (List <User>)i1.SelectAllExecutedContext.Result;

            Assert.AreEqual(4, result.Count);

            Assert.AreEqual(true, i1.SelectAllExecutedCalled);
            Assert.AreEqual("select [Id],[UserName],[Age],[Email] from [User]", i1.SelectAllExecutedCommand.CommandText);
            Assert.IsNotNull(i1.SelectAllExecutedContext);

            Assert.AreEqual(true, i2.SelectAllExecutedCalled);
            Assert.AreEqual("select [Id],[UserName],[Age],[Email] from [User]", i2.SelectAllExecutedCommand.CommandText);
            Assert.IsNotNull(i2.SelectAllExecutedContext);
        }