示例#1
0
        public TestContext(bool handMadeProxy, bool startPlugin, CatchExceptionGeneration catchExceptionsForRealProxy)
        {
            PluginHost     = new PluginHost(catchExceptionsForRealProxy);
            RealPlugin     = new ChoucroutePlugin();
            ConsumerPlugin = new ConsumerPlugin(this);

            PluginHost.PluginCreator           = key => key == PluginPluginId ? (IPlugin)RealPlugin : ConsumerPlugin;
            PluginHost.ServiceReferencesBinder = newPluginsLoaded => { };

            if (handMadeProxy)
            {
                ServiceHost.SetManualProxy(typeof(IChoucrouteService), IChoucrouteServiceHandMadeProxy.CreateProxy());
            }

            // The proxy is itself a IChoucrouteService.
            Assert.That(Service is IChoucrouteService);
            Assert.That(Service is ServiceProxyBase);
            // We check the Running attribute.
            Assert.That(Service.Status == RunningStatus.Disabled);

            Assert.That(PluginProxy == null);

            if (startPlugin)
            {
                PluginHost.Execute(ReadOnlyListEmpty <IPluginInfo> .Empty, ReadOnlyListEmpty <IPluginInfo> .Empty, new[] { PluginPluginId });
                Assert.That(PluginProxy.Status == RunningStatus.Started);
                Assert.That(Service.Status == RunningStatus.Started);
            }
        }
示例#2
0
        public TestContext( bool handMadeProxy, bool startPlugin, CatchExceptionGeneration catchExceptionsForRealProxy )
        {
            PluginHost = new PluginHost( catchExceptionsForRealProxy );
            RealPlugin = new ChoucroutePlugin();
            ConsumerPlugin = new ConsumerPlugin( this );

            PluginHost.PluginCreator = key => key == PluginPluginId ? (IPlugin)RealPlugin : ConsumerPlugin;
            PluginHost.ServiceReferencesBinder = newPluginsLoaded => { };
            
            if( handMadeProxy )
            {
                ServiceHost.SetManualProxy( typeof(IChoucrouteService), IChoucrouteServiceHandMadeProxy.CreateProxy() );
            }

            // The proxy is itself a IChoucrouteService.
            Assert.That( Service is IChoucrouteService );
            Assert.That( Service is ServiceProxyBase );
            // We check the Running attribute.
            Assert.That( Service.Status == RunningStatus.Disabled );

            Assert.That( PluginProxy == null );

            if( startPlugin )
            {
                PluginHost.Execute( ReadOnlyListEmpty<IPluginInfo>.Empty, ReadOnlyListEmpty<IPluginInfo>.Empty, new[] { PluginPluginId } );
                Assert.That( PluginProxy.Status == RunningStatus.Started );
                Assert.That( Service.Status == RunningStatus.Started );
            }
        }