예제 #1
0
 public void SetUp()
 {
     _mock = new MockRepository();
     _configurationSettingsRepository = _mock.StrictMock <IConfigurationSettingsRepository>();
     _logger = _mock.StrictMock <ILogger>();
     _configurationSettingsProvider = new ConfigurationSettingsProvider(_configurationSettingsRepository, _logger);
 }
        public void TestEndpointSettings_FromDirect(IObjectMapper objectMapper, string prefix, string valueQueueName,
                                                    int?valueConsumerLimit)
        {
            var confgurationProviderMock = new Mock <IConfigurationProvider>(MockBehavior.Strict);

            const string keyQueueName     = nameof(EndpointSettings.QueueName);
            const string keyConsumerLimit = nameof(EndpointSettings.ConsumerLimit);

            // ReSharper disable once RedundantAssignment
            // Yes it is used in the lambda setup
            // Output variables must be assigned before setup
            var tempString = valueQueueName;

            confgurationProviderMock
            .Setup(_ => _.TryGetSetting(prefix + keyQueueName, out tempString))
            .Returns(() => valueQueueName != null);
            tempString = valueConsumerLimit?.ToString();
            confgurationProviderMock
            .Setup(_ => _.TryGetSetting(prefix + keyConsumerLimit, out tempString))
            .Returns(() => valueConsumerLimit.HasValue);

            if (!string.IsNullOrEmpty(prefix))
            {
                string tempString2;
                confgurationProviderMock
                .Setup(_ => _.TryGetSetting(keyQueueName, out tempString2))
                .Returns(() => false);
                confgurationProviderMock
                .Setup(_ => _.TryGetSetting(keyConsumerLimit, out tempString2))
                .Returns(() => false);
            }

            var settingsProvider = new ConfigurationSettingsProvider(confgurationProviderMock.Object, objectMapper);

            var successFlag = settingsProvider.TryGetSettings(prefix, out EndpointSettings settings);

            Assert.True(successFlag);
            Assert.Equal(valueQueueName, settings.QueueName);
            Assert.Equal(valueConsumerLimit, settings.ConsumerLimit);

            if (string.IsNullOrEmpty(prefix))
            {
                return;
            }

            successFlag = settingsProvider.TryGetSettings(null, out settings);
            Assert.False(successFlag);
        }
예제 #3
0
        protected override void Load(ContainerBuilder builder)
        {
            ConfigurationSettingsProvider provider = new ConfigurationSettingsProvider();

            ClientSettings settings = new ClientSettings();

            provider.ReadDefaultConfiguration().GetSection(nameof(ClientSettings)).Bind(settings);

            builder.RegisterInstance(settings)
            .As <ClientSettings>()
            .SingleInstance();

            builder.RegisterInstance(provider)
            .As <IConfigurationSettingsProvider>()
            .SingleInstance();
        }
        public void EmptyConfiguration(IObjectMapper objectMapper, string prefix)
        {
            var confgurationProviderMock = new Mock <IConfigurationProvider>(MockBehavior.Strict);

            string tempString;

            confgurationProviderMock
            .Setup(_ => _.TryGetSetting(It.IsAny <string>(), out tempString))
            .Returns(() => false);

            var settingsProvider = new ConfigurationSettingsProvider(confgurationProviderMock.Object, objectMapper);

            var successFlag = settingsProvider.TryGetSettings(prefix, out EndpointSettings settings);

            Assert.False(successFlag);
            Assert.Null(settings);
        }
예제 #5
0
        protected override void Load(ContainerBuilder builder)
        {
            BsonMapper.Global.RegisterType <UInt256>
            (
                serialize: (uri) => uri.ToByteArray(),
                deserialize: (bson) => new UInt256(bson.AsBinary)
            );

            ConfigurationSettingsProvider provider = new ConfigurationSettingsProvider();

            DatabaseSettings settings = new DatabaseSettings();

            provider.ReadDefaultConfiguration().GetSection(nameof(DatabaseSettings)).Bind(settings);

            builder.RegisterInstance(settings)
            .As <DatabaseSettings>()
            .SingleInstance();
        }
예제 #6
0
        public void Should_map_the_settings_from_the_configuration_provider()
        {
            IConfigurationProvider configurationProvider = new FileConfigurationProvider();
            var converterCache = new DynamicObjectConverterCache(new DynamicImplementationBuilder());
            var settingsProvider = new ConfigurationSettingsProvider(configurationProvider, converterCache);

            RabbitMqSettings settings;
            Assert.IsTrue(settingsProvider.TryGetSettings("RabbitMQ", out settings));

            Assert.IsNotNull(settings);

            Assert.AreEqual("localhost", settings.Host);
            Assert.AreEqual("vortex", settings.VirtualHost);
            Assert.AreEqual("joe", settings.Username);
            Assert.AreEqual("guess", settings.Password);
            Assert.AreEqual(5672, settings.Port);
            Assert.AreEqual(0, settings.Heartbeat);

            Assert.IsNull(settings.Options);
        }
예제 #7
0
        public void Should_map_the_settings_from_the_configuration_provider()
        {
            IConfigurationProvider configurationProvider = new FileConfigurationProvider();
            var converterCache   = new DynamicObjectConverterCache(new DynamicImplementationBuilder());
            var settingsProvider = new ConfigurationSettingsProvider(configurationProvider, converterCache);

            RabbitMqSettings settings;

            Assert.IsTrue(settingsProvider.TryGetSettings("RabbitMQ", out settings));

            Assert.IsNotNull(settings);

            Assert.AreEqual("localhost", settings.Host);
            Assert.AreEqual("vortex", settings.VirtualHost);
            Assert.AreEqual("joe", settings.Username);
            Assert.AreEqual("guess", settings.Password);
            Assert.AreEqual(5672, settings.Port);
            Assert.AreEqual(0, settings.Heartbeat);

            Assert.IsNull(settings.Options);
        }