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)); }
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); }
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); } }