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"));
        }
Beispiel #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();
        }
Beispiel #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);
        }
Beispiel #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");
        }
        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();
            }
        }
Beispiel #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));
        }
Beispiel #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);
        }
Beispiel #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);
        }
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o1  = ctx.GetObject("SingletonObject");
            var o2  = ctx.GetObject("ProtoTypeObject");

            ctx.Dispose();
        }
Beispiel #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);
        }
Beispiel #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));
        }
        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);
        }
Beispiel #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));
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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"));
        }
Beispiel #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);
        }
Beispiel #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);
        }
        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);
        }
Beispiel #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);
        }
Beispiel #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");
        }
        public void TestSchedulerRepositoryExposure()
        {
            XmlApplicationContext ctx = new XmlApplicationContext("schedulerRepositoryExposure.xml");

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

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

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

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

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

            Assert.IsAssignableFrom <Mayonnaise>(mayo);
        }
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o   = ctx.GetObject("MyObject");

            Console.WriteLine(o);
        }