Пример #1
0
        public void Opens_Connection()
        {
            var options = new OptionsWrapper <RabbitMQOptions>(new RabbitMQOptions {
                HostName = Constants.LocalHost
            });
            var loggerFactory      = new LoggerFactory();
            var mockServiceFactory = new Mock <IRabbitMQServiceFactory>();
            var mockNameResolver   = new Mock <INameResolver>();
            var config             = new RabbitMQExtensionConfigProvider(options, mockNameResolver.Object, mockServiceFactory.Object, loggerFactory, _emptyConfig);
            var mockService        = new Mock <IRabbitMQService>();

            mockServiceFactory.Setup(m => m.CreateService(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(mockService.Object);

            RabbitMQAttribute attr = new RabbitMQAttribute
            {
                ConnectionStringSetting = string.Empty,
                HostName = Constants.LocalHost,
                UserName = "******",
                Password = "******",
                Port     = 5672
            };

            RabbitMQClientBuilder clientBuilder = new RabbitMQClientBuilder(config, options);

            var model = clientBuilder.Convert(attr);

            mockServiceFactory.Verify(m => m.CreateService(It.IsAny <string>(), Constants.LocalHost, "guest", "guest", 5672), Times.Exactly(1));
        }
Пример #2
0
        public void Creates_Context_Correctly()
        {
            var options = new RabbitMQOptions {
                HostName = Constants.LocalHost, RoutingKey = "hello"
            };
            var loggerFactory      = new LoggerFactory();
            var mockServiceFactory = new Mock <IRabbitMQServiceFactory>();
            var mockNameResolver   = new Mock <INameResolver>();
            var config             = new RabbitMQExtensionConfigProvider(new OptionsWrapper <RabbitMQOptions>(options), mockNameResolver.Object, mockServiceFactory.Object, (ILoggerFactory)loggerFactory, _emptyConfig);
            var attribute          = new RabbitMQAttribute {
                HostName = "131.107.174.10", RoutingKey = "route"
            };

            var actualContext = config.CreateContext(attribute);

            RabbitMQAttribute attr = new RabbitMQAttribute
            {
                HostName   = "131.107.174.10",
                RoutingKey = "route",
            };

            RabbitMQContext expectedContext = new RabbitMQContext
            {
                ResolvedAttribute = attr,
            };

            Assert.Equal(actualContext.ResolvedAttribute.HostName, expectedContext.ResolvedAttribute.HostName);
            Assert.Equal(actualContext.ResolvedAttribute.RoutingKey, expectedContext.ResolvedAttribute.RoutingKey);
        }
        public void TestWhetherConnectionIsPooled()
        {
            var options = new OptionsWrapper <RabbitMQOptions>(new RabbitMQOptions {
                HostName = Constants.LocalHost
            });
            var mockServiceFactory = new Mock <IRabbitMQServiceFactory>();

            mockServiceFactory.SetupSequence(m => m.CreateService(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .Returns(GetRabbitMQService())
            .Returns(GetRabbitMQService());
            var config             = new RabbitMQExtensionConfigProvider(options, new Mock <INameResolver>().Object, mockServiceFactory.Object, new LoggerFactory(), _emptyConfig);
            RabbitMQAttribute attr = GetTestAttribute();

            RabbitMQClientBuilder clientBuilder = new RabbitMQClientBuilder(config, options);

            var model  = clientBuilder.Convert(attr);
            var model2 = clientBuilder.Convert(attr);

            Assert.Equal(model, model2);
        }
Пример #4
0
        public void Handles_Null_Attributes_And_Options(string attrHostname, string attrQueueName, string optHostname, string optQueueName)
        {
            RabbitMQAttribute attr = new RabbitMQAttribute
            {
                HostName   = attrHostname,
                RoutingKey = attrQueueName,
            };

            RabbitMQOptions opt = new RabbitMQOptions
            {
                HostName   = optHostname,
                RoutingKey = optQueueName,
            };

            var loggerFactory      = new LoggerFactory();
            var mockServiceFactory = new Mock <IRabbitMQServiceFactory>();
            var mockNameResolver   = new Mock <INameResolver>();
            var config             = new RabbitMQExtensionConfigProvider(new OptionsWrapper <RabbitMQOptions>(opt), mockNameResolver.Object, mockServiceFactory.Object, (ILoggerFactory)loggerFactory, _emptyConfig);
            var actualContext      = config.CreateContext(attr);

            if (optHostname == null && optQueueName == null)
            {
                Assert.Equal(actualContext.ResolvedAttribute.HostName, attrHostname);
                Assert.Equal(actualContext.ResolvedAttribute.RoutingKey, attrQueueName);
            }
            else if (attrHostname == null && optQueueName == null)
            {
                Assert.Equal(actualContext.ResolvedAttribute.HostName, optHostname);
                Assert.Equal(actualContext.ResolvedAttribute.RoutingKey, attrQueueName);
            }
            else
            {
                Assert.Equal(actualContext.ResolvedAttribute.HostName, optHostname);
                Assert.Equal(actualContext.ResolvedAttribute.RoutingKey, optQueueName);
            }
        }