public void AddServiceDiscovery_ThrowsIfServiceCollectionNull() { // Arrange IServiceCollection serviceCollection = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddServiceDiscovery(serviceCollection, (builder) => { })); Assert.Contains(nameof(serviceCollection), ex.Message); }
public void AddDiscoveryClient_ThrowsIfSetupOptionsNull() { // Arrange IServiceCollection services = new ServiceCollection(); Action <DiscoveryOptions> setupOptions = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, setupOptions)); Assert.Contains(nameof(setupOptions), ex.Message); }
public void AddDiscoverClient_ThrowsIfDiscoveryOptionsClientType_Unknown() { // Arrange IServiceCollection services = new ServiceCollection(); DiscoveryOptions discoveryOptions = new DiscoveryOptions(); // Act and Assert var ex = Assert.Throws <ArgumentException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, discoveryOptions)); Assert.Contains("UNKNOWN", ex.Message); }
public void AddDiscoveryClient_ThrowsIfConfigurtionNull() { // Arrange IServiceCollection services = new ServiceCollection(); IConfigurationRoot config = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, config)); Assert.Contains(nameof(config), ex.Message); }
public void AddDiscoveryClient_WithServiceName_NoVCAPs_ThrowsConnectorException() { // Arrange IServiceCollection services = new ServiceCollection(); IConfigurationRoot config = new ConfigurationBuilder().Build(); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, config, "foobar")); Assert.Contains("foobar", ex.Message); }
public void AddServiceDiscovery_WithServiceName_NoVCAPs_ThrowsConnectorException() { // Arrange IServiceCollection services = new ServiceCollection(); services.AddSingleton <IConfiguration>(new ConfigurationBuilder().Build()); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => DiscoveryServiceCollectionExtensions.AddServiceDiscovery(services, builder => builder.UseEureka("foobar"))); Assert.Contains("foobar", ex.Message); }
public void AddDiscoveryClient_ThrowsIfServiceCollectionNull() { // Arrange IServiceCollection services = null; IConfigurationRoot config = null; DiscoveryOptions options = null; Action <DiscoveryOptions> action = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, config)); Assert.Contains(nameof(services), ex.Message); ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, options)); Assert.Contains(nameof(services), ex.Message); ex = Assert.Throws <ArgumentNullException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, action)); Assert.Contains(nameof(services), ex.Message); }
public void AddDiscoveryClient_MultipleRegistryServices_ThrowsConnectorException() { // Arrange var env1 = @" { 'limits': { 'fds': 16384, 'mem': 1024, 'disk': 1024 }, 'application_name': 'spring-cloud-broker', 'application_uris': [ 'spring-cloud-broker.apps.testcloud.com' ], 'name': 'spring-cloud-broker', 'space_name': 'p-spring-cloud-services', 'space_id': '65b73473-94cc-4640-b462-7ad52838b4ae', 'uris': [ 'spring-cloud-broker.apps.testcloud.com' ], 'users': null, 'version': '07e112f7-2f71-4f5a-8a34-db51dbed30a3', 'application_version': '07e112f7-2f71-4f5a-8a34-db51dbed30a3', 'application_id': '798c2495-fe75-49b1-88da-b81197f2bf06' } }"; var env2 = @" { 'p-service-registry': [ { 'credentials': { 'uri': 'https://eureka-6a1b81f5-79e2-4d14-a86b-ddf584635a60.apps.testcloud.com', 'client_id': 'p-service-registry-06e28efd-24be-4ce3-9784-854ed8d2acbe', 'client_secret': 'dCsdoiuklicS', 'access_token_uri': 'https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token' }, 'syslog_drain_url': null, 'label': 'p-service-registry', 'provider': null, 'plan': 'standard', 'name': 'myDiscoveryService', 'tags': [ 'eureka', 'discovery', 'registry', 'spring-cloud' ] }, { 'credentials': { 'uri': 'https://eureka-6a1b81f5-79e2-4d14-a86b-ddf584635a60.apps.testcloud.com', 'client_id': 'p-service-registry-06e28efd-24be-4ce3-9784-854ed8d2acbe', 'client_secret': 'dCsdoiuklicS', 'access_token_uri': 'https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token' }, 'syslog_drain_url': null, 'label': 'p-service-registry', 'provider': null, 'plan': 'standard', 'name': 'myDiscoveryService2', 'tags': [ 'eureka', 'discovery', 'registry', 'spring-cloud' ] } ] } "; // Arrange IServiceCollection services = new ServiceCollection(); Environment.SetEnvironmentVariable("VCAP_APPLICATION", env1); Environment.SetEnvironmentVariable("VCAP_SERVICES", env2); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => DiscoveryServiceCollectionExtensions.AddDiscoveryClient(services, config)); Assert.Contains("Multiple", ex.Message); }
public void AddServiceDiscovery_MultipleRegistryServices_ThrowsConnectorException() { // Arrange var env1 = @" { ""limits"": { ""fds"": 16384, ""mem"": 1024, ""disk"": 1024 }, ""application_name"": ""spring-cloud-broker"", ""application_uris"": [ ""spring-cloud-broker.apps.testcloud.com"" ], ""name"": ""spring-cloud-broker"", ""space_name"": ""p-spring-cloud-services"", ""space_id"": ""65b73473-94cc-4640-b462-7ad52838b4ae"", ""uris"": [ ""spring-cloud-broker.apps.testcloud.com"" ], ""users"": null, ""version"": ""07e112f7-2f71-4f5a-8a34-db51dbed30a3"", ""application_version"": ""07e112f7-2f71-4f5a-8a34-db51dbed30a3"", ""application_id"": ""798c2495-fe75-49b1-88da-b81197f2bf06"" }"; var env2 = @" { ""p-service-registry"": [ { ""credentials"": { ""uri"": ""https://eureka-6a1b81f5-79e2-4d14-a86b-ddf584635a60.apps.testcloud.com"", ""client_id"": ""p-service-registry-06e28efd-24be-4ce3-9784-854ed8d2acbe"", ""client_secret"": ""dCsdoiuklicS"", ""access_token_uri"": ""https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token"" }, ""syslog_drain_url"": null, ""label"": ""p-service-registry"", ""provider"": null, ""plan"": ""standard"", ""name"": ""myDiscoveryService"", ""tags"": [ ""eureka"", ""discovery"", ""registry"", ""spring-cloud"" ] }, { ""credentials"": { ""uri"": ""https://eureka-6a1b81f5-79e2-4d14-a86b-ddf584635a60.apps.testcloud.com"", ""client_id"": ""p-service-registry-06e28efd-24be-4ce3-9784-854ed8d2acbe"", ""client_secret"": ""dCsdoiuklicS"", ""access_token_uri"": ""https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token"" }, ""syslog_drain_url"": null, ""label"": ""p-service-registry"", ""provider"": null, ""plan"": ""standard"", ""name"": ""myDiscoveryService2"", ""tags"": [ ""eureka"", ""discovery"", ""registry"", ""spring-cloud"" ] }] }"; // Arrange IServiceCollection services = new ServiceCollection(); Environment.SetEnvironmentVariable("VCAP_APPLICATION", env1); Environment.SetEnvironmentVariable("VCAP_SERVICES", env2); services.AddSingleton <IConfiguration>(new ConfigurationBuilder().AddCloudFoundry().Build()); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => DiscoveryServiceCollectionExtensions.AddServiceDiscovery(services, (options) => options.UseEureka())); Assert.Contains("Multiple", ex.Message); }