Example #1
0
        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");
        }
Example #2
0
        /// <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));
            }
        }