public void GivenAOptionSetOverridesDefaultValues() { var defaultOptions = new OpenMessageAzureProviderOptions <string> { ConnectionString = "default" }; var mockOptions = new Mock <IOptions <OpenMessageAzureProviderOptions <string> > >(); mockOptions.Setup(x => x.Value).Returns(defaultOptions); var target = new OpenMessageAzureProviderOptionsConfigurator <string>(mockOptions.Object); var testOptions = new OpenMessageAzureProviderOptions <string>(); target.Configure(testOptions); testOptions.ConnectionString.Should().Be(defaultOptions.ConnectionString); }
public NamespaceManager(IOptions <OpenMessageAzureProviderOptions <T> > options, IQueueNamingConvention queueNamingConvention, ITopicNamingConvention topicNamingConvention, ISubscriptionNamingConvention subscriptionNamingConvention, ILogger <NamespaceManager <T> > logger) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (queueNamingConvention == null) { throw new ArgumentNullException(nameof(queueNamingConvention)); } if (topicNamingConvention == null) { throw new ArgumentNullException(nameof(topicNamingConvention)); } if (subscriptionNamingConvention == null) { throw new ArgumentNullException(nameof(subscriptionNamingConvention)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (string.IsNullOrWhiteSpace(options.Value?.ConnectionString)) { throw new ArgumentException($"The connection string has not been set for the type: {typeof(T).GetFriendlyName()}"); } _options = options.Value; _logger = logger; _queueNamingConvention = queueNamingConvention; _topicNamingConvention = topicNamingConvention; _subscriptionNamingConvention = subscriptionNamingConvention; }