public void GetSaoWithSingletonModeAndAop()
        {
            IApplicationContext ctx = new XmlApplicationContext("assembly://Spring.Services.Tests/Spring.Data.Spring.Remoting/saoSingleton-aop.xml");

            ContextRegistry.RegisterContext(ctx);

            //object saoFactory = ctx.GetObject("&remoteCounter");
            //Assert.IsNotNull(saoFactory);

            object obj = ctx.GetObject("remoteCounter");

            Assert.IsNotNull(obj, "Object is null even though a object has been exported.");
            Assert.IsTrue(AopUtils.IsAopProxy(obj));
            Assert.IsTrue((obj is ISimpleCounter), "Object should implement 'ISimpleCounter' interface.");


            MethodCounter aopCounter = ctx.GetObject("countingBeforeAdvice") as MethodCounter;

            Assert.IsNotNull(aopCounter);

            int aopCount = aopCounter.GetCalls("Count");

            Assert.AreEqual(0, aopCount);

            ISimpleCounter sc = (ISimpleCounter)obj;

            Assert.AreEqual(1, sc.Counter, "Remote object hasn't been activated by the server.");
            sc.Count();
            Assert.AreEqual(2, sc.Counter, "Remote object doesn't work in a 'Singleton' mode.");
            Assert.AreEqual(1, aopCounter.GetCalls("Count"));
        }
Пример #2
0
        public void GatewayWithConnectionFactoryAndDestinationName()
        {
            XmlApplicationContext ctx =
                (XmlApplicationContext)
                NmsTestUtils.GetContext(@"Nms\Config\NmsGatewayWithConnectionFactoryAndDestinationName.xml");
            IPollableChannel         channel = (IPollableChannel)ctx.GetObject("requestChannel");
            NmsMessageDrivenEndpoint gateway = (NmsMessageDrivenEndpoint)ctx.GetObject("nmsGateway");

            Assert.That(gateway.GetType(), Is.EqualTo(typeof(NmsMessageDrivenEndpoint)));
            ctx.Start();

            ThreadPerTaskExecutor executor = new ThreadPerTaskExecutor();

            executor.Execute(delegate
            {
                SimpleMessageListenerContainer listenerContainer =
                    (SimpleMessageListenerContainer)
                    ctx.GetObject("Spring.Messaging.Nms.Listener.SimpleMessageListenerContainer#0");
                ISessionAwareMessageListener messageListener =
                    (ISessionAwareMessageListener)listenerContainer.MessageListener;
                messageListener.OnMessage(new StubTextMessage("message-driven-test"),
                                          new StubSession("message-driven-test"));
            });

            IMessage message = channel.Receive(TimeSpan.FromMilliseconds(3000));

            Assert.That(message, Is.Not.Null);
            Assert.That(message.Payload, Is.EqualTo("message-driven-test"));
            ctx.Stop();
        }
Пример #3
0
        //[Test]
        public void BasicConfig()
        {
            NamespaceParserRegistry.RegisterParser(typeof(WcfNamespaceParser));
            IApplicationContext ctx = new XmlApplicationContext(
                ReadOnlyXmlTestResource.GetFilePath("ChannelFactoryObjectDefinitionParserTests.BasicConfig.xml", this.GetType()));

            Assert.IsTrue(ctx.ContainsObjectDefinition("channel"));

            RootObjectDefinition rod = ((IObjectDefinitionRegistry)ctx).GetObjectDefinition("channel") as RootObjectDefinition;

            Assert.IsNotNull(rod);

            Assert.IsTrue(rod.HasObjectType);
            Assert.AreEqual(typeof(ChannelFactoryObject <IContract>), rod.ObjectType);
            Assert.AreEqual(1, rod.ConstructorArgumentValues.NamedArgumentValues.Count);
            Assert.AreEqual("ecn", rod.ConstructorArgumentValues.GetNamedArgumentValue("endpointConfigurationName").Value);

            ChannelFactoryObject <IContract> cfo = ctx.GetObject("&channel") as ChannelFactoryObject <IContract>;

            Assert.IsNotNull(cfo);
            Assert.AreEqual(typeof(IContract), cfo.ObjectType);

            IContract contract = ctx.GetObject("channel") as IContract;

            Assert.IsNotNull(contract);
        }
Пример #4
0
        //[Test]
        public void CustomProperties()
        {
            NamespaceParserRegistry.RegisterParser(typeof(WcfNamespaceParser));
            IApplicationContext ctx = new XmlApplicationContext(
                ReadOnlyXmlTestResource.GetFilePath("ChannelFactoryObjectDefinitionParserTests.CustomProperties.xml", this.GetType()));

            Assert.IsTrue(ctx.ContainsObjectDefinition("channel"));

            RootObjectDefinition rod = ((IObjectDefinitionRegistry)ctx).GetObjectDefinition("channel") as RootObjectDefinition;

            Assert.IsNotNull(rod);

            Assert.IsTrue(rod.HasObjectType);
            Assert.AreEqual(typeof(ChannelFactoryObject <IContract>), rod.ObjectType);
            Assert.AreEqual(1, rod.ConstructorArgumentValues.NamedArgumentValues.Count);
            Assert.AreEqual("ecn", rod.ConstructorArgumentValues.GetNamedArgumentValue("endpointConfigurationName").Value);
            Assert.IsTrue(rod.PropertyValues.Contains("Credentials.Windows.ClientCredential"));
            Assert.AreEqual("Spring\\Bruno:gnirpS", rod.PropertyValues.GetPropertyValue("Credentials.Windows.ClientCredential").Value);

            ChannelFactoryObject <IContract> cfo = ctx.GetObject("&channel") as ChannelFactoryObject <IContract>;

            Assert.IsNotNull(cfo);
            Assert.AreEqual(typeof(IContract), cfo.ObjectType);
            Assert.AreEqual("Spring", cfo.Credentials.Windows.ClientCredential.Domain);
            Assert.AreEqual("Bruno", cfo.Credentials.Windows.ClientCredential.UserName);
            Assert.AreEqual("gnirpS", cfo.Credentials.Windows.ClientCredential.Password);

            IContract contract = ctx.GetObject("channel") as IContract;

            Assert.IsNotNull(contract);
        }
        protected void SetUp()
        {
            XmlConfigurator.Configure(new FileInfo("config/log4net.properties"));
            dLog.Info("Beginning InventoryManagerTestCase Setup");
            rand = new Random();

            try {
                //iManager = new InventoryManager();
                //oManager = new OrderManager();

                //Spring.NET
                XmlApplicationContext ctx = new XmlApplicationContext("config/spring.cfg.xml");
                iManager = (InventoryManager)ctx.GetObject("InventoryManager");
                oManager = (OrderManager)ctx.GetObject("OrderManager");

                i = new Inventory(rand.Next(), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250), rand.Next(10, 250));
                o = new Order(rand.Next(), new List <Burrito>(), new DateTime(), false, false, new Decimal(0));
                b = new Burrito(rand.Next(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), nextBool(), new Decimal(rand.NextDouble()));
            }
            catch (Exception e)
            {
                dLog.Error("Unable to initialize service/domain objects: " + e.Message + "\n" + e.StackTrace);
            }
            dLog.Info("Finishing InventoryManagerTestCase Setup");
        }
Пример #6
0
        public void TestMultipleSchedulers()
        {
            XmlApplicationContext ctx = new XmlApplicationContext("multipleSchedulers.xml");

            try
            {
                IScheduler scheduler1 = (IScheduler)ctx.GetObject("scheduler1");
                IScheduler scheduler2 = (IScheduler)ctx.GetObject("scheduler2");
                Assert.AreNotSame(scheduler1, scheduler2);
                Assert.AreEqual("quartz1", scheduler1.SchedulerName);
                Assert.AreEqual("quartz2", scheduler2.SchedulerName);

                XmlApplicationContext ctx2 = new XmlApplicationContext("multipleSchedulers.xml");
                try
                {
                    IScheduler scheduler1a = (IScheduler)ctx2.GetObject("scheduler1");
                    IScheduler scheduler2a = (IScheduler)ctx2.GetObject("scheduler2");
                    Assert.AreNotSame(scheduler1a, scheduler2a);
                    Assert.AreNotSame(scheduler1a, scheduler1);
                    Assert.AreNotSame(scheduler2a, scheduler2);
                    Assert.AreEqual("quartz1", scheduler1a.SchedulerName);
                    Assert.AreEqual("quartz2", scheduler2a.SchedulerName);
                }
                finally
                {
                    ctx2.Dispose();
                }
            }
            finally
            {
                ctx.Dispose();
            }
        }
Пример #7
0
        public void InjectOnField()
        {
            var testObj          = (AutowireTestFieldNormal)_applicationContext.GetObject("AutowireTestField");
            var objectDefinition = _applicationContext.ObjectFactory.GetObjectDefinition("AutowireTestField");

            Assert.That(testObj.ciao, Is.Not.Null);
            Assert.That(objectDefinition.DependsOn.Count, Is.EqualTo(0));
        }
Пример #8
0
        public void ImplicitlyRegisterSauceBéarnaiseAsSingleton()
        {
            var context = new XmlApplicationContext("ImplicitlyRegisterSauceBéarnaiseAsSingleton.xml");
            var sauce1  = (SauceBéarnaise)context.GetObject("Sauce");
            var sauce2  = (SauceBéarnaise)context.GetObject("Sauce");

            Assert.Same(sauce1, sauce2);
        }
Пример #9
0
        public void RegisterSauceBéarnaiseAsTransient()
        {
            var context = new XmlApplicationContext("RegisterSauceBéarnaiseAsTransient.xml");
            var sauce1  = (SauceBéarnaise)context.GetObject("Sauce");
            var sauce2  = (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotSame(sauce1, sauce2);
        }
Пример #10
0
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o1  = ctx.GetObject("SingletonObject");
            var o2  = ctx.GetObject("ProtoTypeObject");

            ctx.Dispose();
        }
Пример #11
0
        public void RegisterNamedIngredients()
        {
            var context = new XmlApplicationContext("RegisterNamedIngredients.xml");
            var meat    = context.GetObject("Meat");
            var sauce   = context.GetObject("Sauce");

            Assert.IsAssignableFrom <Steak>(meat);
            Assert.IsAssignableFrom <SauceBéarnaise>(sauce);
        }
Пример #12
0
    static void Main(string[] args)
    {
        IApplicationContext ctx = new XmlApplicationContext("objects.xml");
        var worker        = (IDoWorkForSomeTime)ctx.GetObject("plainWorker");
        var advisedWorker = (IDoWorkForSomeTime)ctx.GetObject("advisedWorker");

        worker.Work(4);
        advisedWorker.Work(4);
    }
        public void InjectIntoList()
        {
            var testObj          = (AutowireTestList)_applicationContext.GetObject("AutowireTestList");
            var objectDefinition = _applicationContext.ObjectFactory.GetObjectDefinition("AutowireTestList");

            Assert.That(testObj.foos, Is.Not.Null);
            Assert.That(testObj.foos.Count, Is.EqualTo(2));
            Assert.That(objectDefinition.DependsOn.Count, Is.EqualTo(2));
        }
Пример #14
0
        public void Main()
        {
            var ctx     = new XmlApplicationContext("q11630224/objects.xml");
            var report1 = (IReport)ctx.GetObject("report1");
            var report2 = (IReport)ctx.GetObject("report1");

            Console.WriteLine(UsageTrackingInterceptor.UsageCount);
            report1.WriteReport();
            report2.WriteReport();
            Console.WriteLine(UsageTrackingInterceptor.UsageCount);
        }
Пример #15
0
        public void InjectIntoDictionary()
        {
            var testObj = (AutowireTestDictionary)_applicationContext.GetObject("AutowireTestDictionary");
            var objectDefinition = _applicationContext.ObjectFactory.GetObjectDefinition("AutowireTestDictionary");

            Assert.That(testObj.foos, Is.Not.Null);
            Assert.That(testObj.foos.Count, Is.EqualTo(2));
            Assert.That(testObj.foos.ContainsKey("HelloFoo"), Is.True);
            Assert.That(testObj.foos.ContainsKey("CiaoFoo"), Is.True);
            Assert.That(objectDefinition.DependsOn.Count, Is.EqualTo(2));
        }
Пример #16
0
        public void UsingNullFactoryObjectIsNotAnOption()
        {
            var ctx = new XmlApplicationContext("objects.xml", "objects-ref1-as-nullfactoryobject.xml");

            var o = (MyClass)ctx.GetObject("MyObject");

            Assert.IsNull(o.Prop);

            var o2 = (MyClass)ctx.GetObject("MySecondObject");

            Assert.IsNotNull(o2.Prop);
        }
Пример #17
0
        public void ComponentsUseSpecifiedName()
        {
            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan2.xml", GetType()));
            var objectDefinitionNames = _applicationContext.ObjectFactory.GetObjectDefinitionNames();

            Assert.That(objectDefinitionNames.Count, Is.EqualTo(5 + 4));
            Assert.That(_applicationContext.GetObject("Component"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject("Service"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject("Repository"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject("Controller"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject("Configuration"), Is.Not.Null);
        }
Пример #18
0
        public void FailFieldInjectionTooManyObjects()
        {
            Exception ex = null;

            try
            {
                var testObj = (AutowireTestFieldNormal)_applicationContext.GetObject("AutowireTestFieldNormal");
            }
            catch (Exception e) { ex = e; }

            Assert.That(ex, Is.Not.Null, "Should throw an exception");
            Assert.That(ex.Message, Does.Contain("Injection of autowired dependencies failed"));
        }
Пример #19
0
        public void UsingNullFactoryObjectIsAnOptionIfWeMassageContextToAllowForNullReferences()
        {
            var ctx = new XmlApplicationContext("objects.xml", "objects-ref1-as-nullobject.xml");

            var o2 = (MyClass)ctx.GetObject("MySecondObject");

            Assert.IsNotNull(o2.Prop);

            var o = (MyClass)ctx.GetObject("MyObject");

            Assert.IsNotNull(o.Prop);
            Assert.IsInstanceOf <IMyOtherInterface>(o.Prop);
            Assert.IsInstanceOf <MyOtherClassNullObject>(o.Prop);
        }
Пример #20
0
        public void ScanComponentsAndAddToContext()
        {
            var prefix = "ComponentScan.ScanComponentsAndAddToContext.";

            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan1.xml", GetType()));
            var objectDefinitionNames = _applicationContext.ObjectFactory.GetObjectDefinitionNames();

            Assert.That(objectDefinitionNames.Count, Is.EqualTo(5 + 4));
            Assert.That(_applicationContext.GetObject(prefix + "ComponentImpl"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject(prefix + "ServiceImpl"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject(prefix + "RepositoryImpl"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject(prefix + "ControllerImpl"), Is.Not.Null);
            Assert.That(_applicationContext.GetObject(prefix + "ConfigurationImpl"), Is.Not.Null);
        }
Пример #21
0
        public void Main()
        {
            var ctx   = new XmlApplicationContext("objects.xml");
            var drive = ctx.GetObject("driver");

            Console.WriteLine(drive);

            var genImp = ctx.GetObject("GenericImplementation");

            Console.WriteLine(genImp);

            var genUsr = ctx.GetObject("GenUser");

            Console.WriteLine(genUsr);
        }
Пример #22
0
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");

            var o = (MyClass)ctx.GetObject("MyObject");

            Assert.AreEqual(typeof(MySecondClass), o.TheType);

            var o2 = (MyClass)ctx.GetObject("MyObject2");

            Assert.AreEqual(typeof(MySecondClass), o2.TheType);

            var o3 = (MyClass)ctx.GetObject("MyObject3");

            Assert.AreEqual(typeof(MySecondClass), o3.TheType);
        }
Пример #23
0
        public void TestInitialize()
        {
            IApplicationContext ctx = new XmlApplicationContext(
                "assembly://Topics.Core.Messaging.InProcess.UnitTests/Topics.Core.Messaging.InProcess.UnitTests.Config/Messaging.xml");

            _topicBus = (ITopicBus)ctx.GetObject("DefaultTopicBus");
        }
Пример #24
0
        public void TestSchedulerRepositoryExposure()
        {
            XmlApplicationContext ctx = new XmlApplicationContext("schedulerRepositoryExposure.xml");

            Assert.AreSame(SchedulerRepository.Instance.Lookup("myScheduler"), ctx.GetObject("scheduler"));
            ctx.Dispose();
        }
Пример #25
0
        public void RegisterMultipleTypes()
        {
            var context = new XmlApplicationContext("RegisterMultipleTypes.xml");
            var course  = (ICourse)context.GetObject("Course");

            Assert.NotNull(course);
        }
Пример #26
0
        public void ContainerCanComposeMayonnaiseWhenAutoWiringIsOverriden()
        {
            var context = new XmlApplicationContext("ContainerCanComposeMayonnaiseWhenAutoWiringIsOverriden.xml");
            var mayo    = context.GetObject("Mayonnaise");

            Assert.IsAssignableFrom <Mayonnaise>(mayo);
        }
Пример #27
0
        public void ContainerResolveMayonnaiseWithAutoWiringIsEnabledByDefault()
        {
            var context = new XmlApplicationContext("ContainerResolveMayonnaiseWithAutoWiringIsEnabledByDefault.xml");
            var mayo    = context.GetObject("Mayonnaise");

            Assert.IsAssignableFrom <Mayonnaise>(mayo);
        }
Пример #28
0
        public void ContainerResolvesSauceBéarnaise()
        {
            var            context = new XmlApplicationContext("sauce.xml");
            SauceBéarnaise sauce   = (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
Пример #29
0
        public void ContainerResolvesAutoWiredMayonnaise()
        {
            var context = new XmlApplicationContext("ContainerResolvesAutoWiredMayonnaise.xml");
            var mayo    = context.GetObject("Mayonnaise");

            Assert.IsAssignableFrom <Mayonnaise>(mayo);
        }
Пример #30
0
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o   = ctx.GetObject("MyObject");

            Console.WriteLine(o);
        }