public void Created_dispatches_to_interceptors_which_can_modify_result() { var interceptionContext = new DbInterceptionContext(); var tree = new Mock <DbCommandTree>().Object; var mockInterceptor = new Mock <IDbCommandTreeInterceptor>(); var interceptedTree = new Mock <DbCommandTree>().Object; mockInterceptor.Setup(m => m.TreeCreated(It.IsAny <DbCommandTreeInterceptionContext>())) .Callback <DbCommandTreeInterceptionContext>( i => { Assert.Same(tree, i.Result); Assert.Same(tree, i.OriginalResult); i.Result = interceptedTree; }); var dispatcher = new DbCommandTreeDispatcher(); var internalDispatcher = dispatcher.InternalDispatcher; internalDispatcher.Add(mockInterceptor.Object); Assert.Same(interceptedTree, dispatcher.Created(tree, interceptionContext)); mockInterceptor.Verify(m => m.TreeCreated(It.IsAny <DbCommandTreeInterceptionContext>())); }
public void Dispatches_to_interception() { var dispatcher = new DbCommandTreeDispatcher(); var mockCommandTreeInterceptor = new Mock<IDbCommandTreeInterceptor>(); dispatcher.InternalDispatcher.Add(mockCommandTreeInterceptor.Object); var providerServices = new Mock<DbProviderServices>( (Func<IDbDependencyResolver>)(() => new Mock<IDbDependencyResolver>().Object), new Lazy<DbCommandTreeDispatcher>(() => dispatcher)) { CallBase = true }.Object; var mockCommandTree = new Mock<DbCommandTree> { DefaultValue = DefaultValue.Mock }; mockCommandTree.SetupGet(m => m.DataSpace).Returns(DataSpace.SSpace); var mockStoreItemCollection = new Mock<StoreItemCollection> { DefaultValue = DefaultValue.Mock }; mockCommandTree .Setup(m => m.MetadataWorkspace.GetItemCollection(DataSpace.SSpace)) .Returns(mockStoreItemCollection.Object); var commandTree = mockCommandTree.Object; providerServices.CreateCommandDefinition(commandTree); mockCommandTreeInterceptor.Verify( m => m.TreeCreated( It.Is<DbCommandTreeInterceptionContext>(c => c.Result == commandTree && c.OriginalResult == commandTree)), Times.Once()); }
public void Created_dispatches_to_interceptors_which_can_modify_result() { var interceptionContext = new DbInterceptionContext(); var tree = new Mock<DbCommandTree>().Object; var mockInterceptor = new Mock<IDbCommandTreeInterceptor>(); var interceptedTree = new Mock<DbCommandTree>().Object; mockInterceptor.Setup(m => m.TreeCreated(It.IsAny<DbCommandTreeInterceptionContext>())) .Callback<DbCommandTreeInterceptionContext>( i => { Assert.Same(tree, i.Result); Assert.Same(tree, i.OriginalResult); i.Result = interceptedTree; }); var dispatcher = new DbCommandTreeDispatcher(); var internalDispatcher = dispatcher.InternalDispatcher; internalDispatcher.Add(mockInterceptor.Object); Assert.Same(interceptedTree, dispatcher.Created(tree, interceptionContext)); mockInterceptor.Verify(m => m.TreeCreated(It.IsAny<DbCommandTreeInterceptionContext>())); }