Пример #1
0
        public void HostShouldAddRabbitOptionsConfiguration()
        {
            var hostBuilder = RabbitMQHost.CreateDefaultBuilder();

            var appSettings = new Dictionary <string, string>()
            {
                [$"{RabbitOptions.PREFIX}:host"]     = "ThisIsATest",
                [$"{RabbitOptions.PREFIX}:port"]     = "1234",
                [$"{RabbitOptions.PREFIX}:username"] = "******",
                [$"{RabbitOptions.PREFIX}:password"] = "******",
            };

            hostBuilder.ConfigureAppConfiguration(configBuilder =>
            {
                configBuilder.AddInMemoryCollection(appSettings);
            });

            using (var host = hostBuilder.Start())
            {
                var rabbitOptions = host.Services.GetService <IOptions <RabbitOptions> >()?.Value;

                Assert.NotNull(rabbitOptions);
                Assert.Equal("ThisIsATest", rabbitOptions.Host);
                Assert.Equal(1234, rabbitOptions.Port);
                Assert.Equal("TestUser", rabbitOptions.Username);
                Assert.Equal("TestPassword", rabbitOptions.Password);
            }
        }
Пример #2
0
        public void ShouldWorkWithRabbitMQConnection()
        {
            using (var host = RabbitMQHost.CreateDefaultBuilder()
                              .ConfigureServices(svc => svc.AddRabbitMQConnection(new ConfigurationBuilder().Build()))
                              .Start())
            {
                var connectionFactory = host.Services.GetRequiredService <RC.IConnectionFactory>();

                Assert.NotNull(connectionFactory);
            }
        }
Пример #3
0
        public void HostShouldSendCommandLineArgs()
        {
            var hostBuilder = RabbitMQHost.CreateDefaultBuilder(new string[] { "RabbitHostCommandKey=RabbitHostCommandValue" });

            using (var host = hostBuilder.Start())
            {
                var config = host.Services.GetService <IConfiguration>();

                Assert.Equal("RabbitHostCommandValue", config["RabbitHostCommandKey"]);
            }
        }
Пример #4
0
        public void HostShouldInitializeServices()
        {
            using (var host = RabbitMQHost.CreateDefaultBuilder().Start())
            {
                var lifecycleProcessor = host.Services.GetRequiredService <ILifecycleProcessor>();
                var rabbitHostService  = (RabbitHostService)host.Services.GetRequiredService <IHostedService>();

                Assert.True(lifecycleProcessor.IsRunning);
                Assert.NotNull(rabbitHostService);
            }
        }
Пример #5
0
        public void HostCanBeStarted()
        {
            MockRabbitHostedService hostedService;

            using (var host = RabbitMQHost.CreateDefaultBuilder()
                              .ConfigureServices(svc => svc.AddSingleton <IHostedService, MockRabbitHostedService>())
                              .Start())
            {
                Assert.NotNull(host);
                hostedService = (MockRabbitHostedService)host.Services.GetRequiredService <IHostedService>();
                Assert.NotNull(hostedService);
                Assert.Equal(1, hostedService.StartCount);
                Assert.Equal(0, hostedService.StopCount);
                Assert.Equal(0, hostedService.DisposeCount);
            }

            Assert.Equal(1, hostedService.StartCount);
            Assert.Equal(0, hostedService.StopCount);
            Assert.Equal(1, hostedService.DisposeCount);
        }