public void ValidateServiceBusSettings() { ApplicationConfiguration appConfig = ApplicationConfiguration.Current; Assert.IsTrue(ApplicationConfiguration.IsLoaded); ServiceBusConfigurationSettings sbSettings = appConfig.GetConfigurationSection <ServiceBusConfigurationSettings>(ServiceBusConfigurationSettings.SectionName); Assert.IsNotNull(sbSettings, "No ServiceBusSettings section was found"); Assert.IsFalse(String.IsNullOrEmpty(sbSettings.DefaultEndpoint), "DefaultEndpoint not specified"); Assert.IsFalse(String.IsNullOrEmpty(sbSettings.DefaultIssuerName), "DefaultIssuerName not specified"); Assert.IsFalse(String.IsNullOrEmpty(sbSettings.DefaultIssuerSecret), "DefaultIssuerSecret not specified"); Assert.IsTrue(sbSettings.Endpoints != null && sbSettings.Endpoints.Count > 0, "Endpoints collection is empty"); ServiceBusEndpointInfo firstEndpoint = sbSettings.Endpoints.Get(0); Assert.IsNotNull(firstEndpoint, "First endpoint is null"); Assert.IsFalse(String.IsNullOrEmpty(firstEndpoint.Name), "Element name not specified"); Assert.IsFalse(String.IsNullOrEmpty(firstEndpoint.ServiceNamespace), "ServiceNamespace not specified"); Assert.IsFalse(String.IsNullOrEmpty(firstEndpoint.ServicePath), "ServicePath not specified"); Assert.IsFalse(String.IsNullOrEmpty(firstEndpoint.IssuerName), "IssuerName not specified"); Assert.IsFalse(String.IsNullOrEmpty(firstEndpoint.IssuerSecret), "IssuerSecret not specified"); ServiceBusEndpointInfo secondEndpoint = sbSettings.Endpoints.Get(1); Assert.IsNotNull(secondEndpoint, "First endpoint is null"); Assert.IsFalse(String.IsNullOrEmpty(secondEndpoint.Name), "Element name not specified"); Assert.IsFalse(String.IsNullOrEmpty(secondEndpoint.ServiceNamespace), "ServiceNamespace not specified"); Assert.IsFalse(String.IsNullOrEmpty(secondEndpoint.ServicePath), "ServicePath not specified"); // Assert.IsFalse(String.IsNullOrEmpty(secondEndpoint.IssuerName), "IssuerName not specified"); // Assert.IsFalse(String.IsNullOrEmpty(secondEndpoint.IssuerSecret), "IssuerSecret not specified"); }
/// <summary> /// Returns a new OnPremiseConfigurationSource configured with the specified settings. /// </summary> /// <returns>A new configuration source.</returns> public override IConfigurationSource CreateSource() { // The initial configuration containing the Service Bus endpoint information is expected to be defined in app.config. string configFileName = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; SystemConfigurationSource systemConfig = new SystemConfigurationSource(); ServiceBusConfigurationSettings serviceBusConfig = systemConfig.GetSection(ServiceBusConfigurationSettings.SectionName) as ServiceBusConfigurationSettings; if (serviceBusConfig != null) { ServiceBusEndpointInfo defaultEndpointInfo = UseDefaultServiceBusEndpoint ? serviceBusConfig.Endpoints[serviceBusConfig.DefaultEndpoint] : serviceBusConfig.Endpoints[ServiceBusEndpoint]; if (defaultEndpointInfo != null) { return(new OnPremiseConfigurationSource(defaultEndpointInfo)); } else { if (UseDefaultServiceBusEndpoint) { throw new ConfigurationErrorsException(String.Format(CultureInfo.InvariantCulture, ExceptionMessages.DefaultServiceBusEndpointNotFound, configFileName, ServiceBusConfigurationSettings.SectionName)); } else { throw new ConfigurationErrorsException(String.Format(CultureInfo.InvariantCulture, ExceptionMessages.SpecifiedServiceBusEndpointNotFoundInConfigFile, configFileName, ServiceBusConfigurationSettings.SectionName, ServiceBusEndpoint)); } } } else { throw new ConfigurationErrorsException(String.Format(CultureInfo.InvariantCulture, ExceptionMessages.ConfigSectionNotFoundInConfigFile, configFileName, ServiceBusConfigurationSettings.SectionName)); } }