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