public void AddInterfaceWhenConfigurationIsFrozen() { ProxyFactory factory = new ProxyFactory(); factory.IsFrozen = true; Assert.Throws <AopConfigException>(() => factory.AddInterface(typeof(ITestObject))); }
public void AddInterfaceWhenConfigurationIsFrozen() { ProxyFactory factory = new ProxyFactory(); factory.IsFrozen = true; factory.AddInterface(typeof(ITestObject)); }
/// <summary> /// Creates a new proxy for the supplied <paramref name="proxyInterface"/> /// and <paramref name="interceptor"/>. /// </summary> /// <remarks> /// <p> /// This is a convenience method for creating a proxy for a single /// interceptor. /// </p> /// </remarks> /// <param name="proxyInterface"> /// The interface that the proxy must implement. /// </param> /// <param name="interceptor"> /// The interceptor that the proxy must invoke. /// </param> /// <returns> /// A new AOP proxy for the supplied <paramref name="proxyInterface"/> /// and <paramref name="interceptor"/>. /// </returns> public static object GetProxy(Type proxyInterface, IInterceptor interceptor) { ProxyFactory proxyFactory = new ProxyFactory(); proxyFactory.AddInterface(proxyInterface); proxyFactory.AddAdvice(interceptor); return(proxyFactory.GetProxy()); }
public void AddRepeatedInterface() { ITimeStamped tst = new AnonymousClassTimeStamped(this); ProxyFactory pf = new ProxyFactory(tst); // We've already implicitly added this interface. // This call should be ignored without error pf.AddInterface(typeof(ITimeStamped)); // All cool ITimeStamped ts = (ITimeStamped)pf.GetProxy(); }
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated() { IAdvisedSupportListener listener = MockRepository.GenerateMock <IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must not fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must not fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); listener.AssertWasNotCalled(x => x.AdviceChanged(Arg <AdvisedSupport> .Is.Anything)); listener.AssertWasNotCalled(x => x.InterfacesChanged(Arg <AdvisedSupport> .Is.Anything)); }
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated() { IDynamicMock mock = new DynamicMock(typeof(IAdvisedSupportListener)); IAdvisedSupportListener listener = (IAdvisedSupportListener)mock.Object; ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must not fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must not fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); mock.Verify(); }
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated() { IAdvisedSupportListener listener = A.Fake <IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must not fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must not fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); A.CallTo(() => listener.AdviceChanged(A <AdvisedSupport> ._)).MustNotHaveHappened(); A.CallTo(() => listener.InterfacesChanged(A <AdvisedSupport> ._)).MustNotHaveHappened(); }
public void AdvisedSupportListenerMethodsAreCalledAppropriately() { IAdvisedSupportListener listener = MockRepository.GenerateMock <IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must fire the Activated callback... factory.GetProxy(); // must fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); listener.AssertWasCalled(x => x.Activated(Arg <AdvisedSupport> .Is.NotNull)); listener.AssertWasCalled(x => x.AdviceChanged(Arg <AdvisedSupport> .Is.NotNull)); listener.AssertWasCalled(x => x.InterfacesChanged(Arg <AdvisedSupport> .Is.NotNull)); }
public void AdvisedSupportListenerMethodsAreCalledAppropriately() { IAdvisedSupportListener listener = A.Fake <IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must fire the Activated callback... factory.GetProxy(); // must fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); A.CallTo(() => listener.Activated(A <AdvisedSupport> .That.Not.IsNull())).MustHaveHappened(); A.CallTo(() => listener.AdviceChanged(A <AdvisedSupport> .That.Not.IsNull())).MustHaveHappened(); A.CallTo(() => listener.InterfacesChanged(A <AdvisedSupport> .That.Not.IsNull())).MustHaveHappened(); }
public void AdvisedSupportListenerMethodsAreCalledAppropriately() { IDynamicMock mock = new DynamicMock(typeof(IAdvisedSupportListener)); IAdvisedSupportListener listener = (IAdvisedSupportListener)mock.Object; mock.Expect("Activated"); mock.Expect("AdviceChanged"); mock.Expect("InterfacesChanged"); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must fire the Activated callback... factory.GetProxy(); // must fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); mock.Verify(); }
private IRequestHandler GetRequestHandler() { if (this.requestHandler == null) { ProxyFactory proxyFactory = new ProxyFactory(this); proxyFactory.AddInterface(typeof(IRequestHandler)); proxyFactory.AddIntroduction(new DefaultIntroductionAdvisor(new HttpRequestHandler())); proxyFactory.ProxyTargetType = true; this.requestHandler = proxyFactory.GetProxy() as IRequestHandler; } return this.requestHandler; }
public void AddInterfaceWhenConfigurationIsFrozen() { ProxyFactory factory = new ProxyFactory(); factory.IsFrozen = true; Assert.Throws<AopConfigException>(() => factory.AddInterface(typeof(ITestObject))); }
/// <summary> /// Creates a new proxy for the supplied <paramref name="proxyInterface"/> /// and <paramref name="interceptor"/>. /// </summary> /// <remarks> /// <p> /// This is a convenience method for creating a proxy for a single /// interceptor. /// </p> /// </remarks> /// <param name="proxyInterface"> /// The interface that the proxy must implement. /// </param> /// <param name="interceptor"> /// The interceptor that the proxy must invoke. /// </param> /// <returns> /// A new AOP proxy for the supplied <paramref name="proxyInterface"/> /// and <paramref name="interceptor"/>. /// </returns> public static object GetProxy(Type proxyInterface, IInterceptor interceptor) { ProxyFactory proxyFactory = new ProxyFactory(); proxyFactory.AddInterface(proxyInterface); proxyFactory.AddAdvice(interceptor); return proxyFactory.GetProxy(); }
public void AdvisedSupportListenerMethodsAreCalledAppropriately() { IAdvisedSupportListener listener = MockRepository.GenerateMock<IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must fire the Activated callback... factory.GetProxy(); // must fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); listener.AssertWasCalled(x => x.Activated(Arg<AdvisedSupport>.Is.NotNull)); listener.AssertWasCalled(x => x.AdviceChanged(Arg<AdvisedSupport>.Is.NotNull)); listener.AssertWasCalled(x => x.InterfacesChanged(Arg<AdvisedSupport>.Is.NotNull)); }
private IRepositoryInterface CreateProxy(RepositoryInterfaceImpl target) { MapPersistenceExceptionTranslator mpet = new MapPersistenceExceptionTranslator(); mpet.AddTranslation(persistenceException, new InvalidDataAccessApiUsageException("", persistenceException)); ProxyFactory pf = new ProxyFactory(target); pf.AddInterface(typeof(IRepositoryInterface)); AddPersistenceExceptionTranslation(pf, mpet); return (IRepositoryInterface) pf.GetProxy(); }
public void AdvisedSupportListenerMethodsAre_NOT_CalledIfProxyHasNotBeenCreated() { IAdvisedSupportListener listener = MockRepository.GenerateMock<IAdvisedSupportListener>(); ProxyFactory factory = new ProxyFactory(new TestObject()); factory.AddListener(listener); // must not fire the AdviceChanged callback... factory.AddAdvice(new NopInterceptor()); // must not fire the InterfacesChanged callback... factory.AddInterface(typeof(ISerializable)); listener.AssertWasNotCalled(x => x.AdviceChanged(Arg<AdvisedSupport>.Is.Anything)); listener.AssertWasNotCalled(x => x.InterfacesChanged(Arg<AdvisedSupport>.Is.Anything)); }
/// <summary> /// Initialize the proxy. /// </summary> private void InitializeProxy() { if (this.adviceChain.Length == 0) { return; } var factory = new ProxyFactory(); foreach (var advice in this.adviceChain) { factory.AddAdvisor(new DefaultPointcutAdvisor(TruePointcut.True, advice)); } factory.ProxyTargetType = false; factory.AddInterface(typeof(IContainerDelegate)); // TODO: Is this really the right target??? Doesn't seem right. factory.Target = this; this.proxy = (IContainerDelegate)factory.GetProxy(); }