public void Build_WithStreamSource_ReturnsExpected()
        {
            // Arrange
            var environment = @"
{
 
  'application_id': 'fa05c1a9-0fc1-4fbd-bae1-139850dec7a3',
  'application_name': 'my-app',
  'application_uris': [
    'my-app.10.244.0.34.xip.io'
  ],
  'application_version': 'fb8fbcc6-8d58-479e-bcc7-3b4ce5a7f0ca',
  'limits': {
    'disk': 1024,
    'fds': 16384,
    'mem': 256
  },
  'name': 'my-app',
  'space_id': '06450c72-4669-4dc6-8096-45f9777db68a',
  'space_name': 'my-space',
  'uris': [
    'my-app.10.244.0.34.xip.io',
    'my-app2.10.244.0.34.xip.io'
  ],
  'users': null,
  'version': 'fb8fbcc6-8d58-479e-bcc7-3b4ce5a7f0ca'
  }";
            var memStream   = CloudFoundryConfigurationProvider.GetMemoryStream(environment);
            var source      = new JsonStreamConfigurationSource(memStream);
            var provider    = new JsonStreamConfigurationProvider(source, memStream);
            ConfigurationBuilder builder = new ConfigurationBuilder();

            builder.Add(source);
            var root = builder.Build();


            Assert.Equal("fa05c1a9-0fc1-4fbd-bae1-139850dec7a3", root["application_id"]);
            Assert.Equal("1024", root["limits:disk"]);
            Assert.Equal("my-app.10.244.0.34.xip.io", root["uris:0"]);
            Assert.Equal("my-app2.10.244.0.34.xip.io", root["uris:1"]);
        }
示例#2
0
        public void Build_WithStreamSource_ReturnsExpected()
        {
            // Arrange
            var environment = @"
                {
                  ""application_id"": ""fa05c1a9-0fc1-4fbd-bae1-139850dec7a3"",
                  ""application_name"": ""my-app"",
                  ""application_uris"": [""my-app.10.244.0.34.xip.io""],
                  ""application_version"": ""fb8fbcc6-8d58-479e-bcc7-3b4ce5a7f0ca"",
                  ""limits"": {
                    ""disk"": 1024,
                    ""fds"": 16384,
                    ""mem"": 256
                  },
                  ""name"": ""my-app"",
                  ""space_id"": ""06450c72-4669-4dc6-8096-45f9777db68a"",
                  ""space_name"": ""my-space"",
                  ""uris"": [
                    ""my-app.10.244.0.34.xip.io"",
                    ""my-app2.10.244.0.34.xip.io""
                  ],
                  ""users"": null,
                  ""version"": ""fb8fbcc6-8d58-479e-bcc7-3b4ce5a7f0ca""
                  }";
            var memStream   = CloudFoundryConfigurationProvider.GetMemoryStream(environment);
            var source      = new JsonStreamConfigurationSource(memStream);
            var provider    = new JsonStreamConfigurationProvider(source);
            var builder     = new ConfigurationBuilder();

            builder.Add(source);
            var root = builder.Build();

            Assert.Equal("fa05c1a9-0fc1-4fbd-bae1-139850dec7a3", root["application_id"]);
            Assert.Equal("1024", root["limits:disk"]);
            Assert.Equal("my-app.10.244.0.34.xip.io", root["uris:0"]);
            Assert.Equal("my-app2.10.244.0.34.xip.io", root["uris:1"]);
        }
        public void Load_LoadsProvidedStream()
        {
            var environment = @"
                {
                    ""p-config-server"": [{
                        ""name"": ""myConfigServer"",
                        ""label"": ""p-config-server"",
                        ""tags"": [
                            ""configuration"",
                            ""spring-cloud""
                        ],
                        ""plan"": ""standard"",
                        ""credentials"": {
                            ""uri"": ""https://config-eafc353b-77e2-4dcc-b52a-25777e996ed9.apps.testcloud.com"",
                            ""client_id"": ""p-config-server-9bff4c87-7ffd-4536-9e76-e67ea3ec81d0"",
                            ""client_secret"": ""AJUAjyxP3nO9"",
                            ""access_token_uri"": ""https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token""
                        }
                    }],
                    ""p-service-registry"": [{
                        ""name"": ""myServiceRegistry"",
                        ""label"": ""p-service-registry"",
                        ""tags"": [
                            ""eureka"",
                            ""discovery"",
                            ""registry"",
                            ""spring-cloud""
                        ],
                        ""plan"": ""standard"",
                        ""credentials"": {
                            ""uri"": ""https://eureka-f4b98d1c-3166-4741-b691-79abba5b2d51.apps.testcloud.com"",
                            ""client_id"": ""p-service-registry-9121b185-cd3b-497c-99f7-8e8064d4a6f0"",
                            ""client_secret"": ""3Rv1U79siLDa"",
                            ""access_token_uri"": ""https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token""
                        }
                    }],
                    ""p-mysql"": [{
                        ""name"": ""mySql1"",
                        ""label"": ""p-mysql"",
                        ""tags"": [
                            ""mysql"",
                            ""relational""
                        ],
                        ""plan"": ""100mb-dev"",
                        ""credentials"": {
                            ""hostname"": ""192.168.0.97"",
                            ""port"": 3306,
                            ""name"": ""cf_0f5dda44_e678_4727_993f_30e6d455cc31"",
                            ""username"": ""9vD0Mtk3wFFuaaaY"",
                            ""password"": ""Cjn4HsAiKV8sImst"",
                            ""uri"": ""mysql://*****:*****@192.168.0.97:3306/cf_0f5dda44_e678_4727_993f_30e6d455cc31?reconnect=true"",
                            ""jdbcUrl"": ""jdbc:mysql://192.168.0.97:3306/cf_0f5dda44_e678_4727_993f_30e6d455cc31?user=9vD0Mtk3wFFuaaaY&password=Cjn4HsAiKV8sImst""
                        }
                    },
                    {
                        ""name"": ""mySql2"",
                        ""label"": ""p-mysql"",
                        ""tags"": [""mysql"",""relational""],
                        ""plan"": ""100mb-dev"",
                        ""credentials"": {
                            ""hostname"": ""192.168.0.97"",
                            ""port"": 3306,
                            ""name"": ""cf_b2d83697_5fa1_4a51_991b_975c9d7e5515"",
                            ""username"": ""gxXQb2pMbzFsZQW8"",
                            ""password"": ""lvMkGf6oJQvKSOwn"",
                            ""uri"": ""mysql://*****:*****@192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?reconnect=true"",
                            ""jdbcUrl"": ""jdbc:mysql://192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?user=gxXQb2pMbzFsZQW8&password=lvMkGf6oJQvKSOwn""
                        }
                    }]
                }";

            var memStream = CloudFoundryConfigurationProvider.GetMemoryStream(environment);
            var provider  = new JsonStreamConfigurationProvider(new JsonStreamConfigurationSource(memStream));

            provider.Load();

            string value = null;

            Assert.True(provider.TryGet("p-config-server:0:name", out value));
            Assert.Equal("myConfigServer", value);

            Assert.True(provider.TryGet("p-config-server:0:credentials:uri", out value));
            Assert.Equal("https://config-eafc353b-77e2-4dcc-b52a-25777e996ed9.apps.testcloud.com", value);

            Assert.True(provider.TryGet("p-service-registry:0:name", out value));
            Assert.Equal("myServiceRegistry", value);

            Assert.True(provider.TryGet("p-service-registry:0:credentials:uri", out value));
            Assert.Equal("https://eureka-f4b98d1c-3166-4741-b691-79abba5b2d51.apps.testcloud.com", value);

            Assert.True(provider.TryGet("p-mysql:1:name", out value));
            Assert.Equal("mySql2", value);

            Assert.True(provider.TryGet("p-mysql:1:credentials:uri", out value));
            Assert.Equal("mysql://*****:*****@192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?reconnect=true", value);
        }
示例#4
0
        public void Load_LoadsProvidedStream()
        {
            var environment = @"
{
    'p-config-server': [
    {
        'name': 'myConfigServer',
        'label': 'p-config-server',
        'tags': [
        'configuration',
        'spring-cloud'
        ],
        'plan': 'standard',
        'credentials': {
            'uri': 'https://config-eafc353b-77e2-4dcc-b52a-25777e996ed9.apps.testcloud.com',
            'client_id': 'p-config-server-9bff4c87-7ffd-4536-9e76-e67ea3ec81d0',
            'client_secret': 'AJUAjyxP3nO9',
            'access_token_uri': 'https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token'
        }
    }
    ],
    'p-service-registry': [
    {
        'name': 'myServiceRegistry',
        'label': 'p-service-registry',
        'tags': [
        'eureka',
        'discovery',
        'registry',
        'spring-cloud'
        ],
        'plan': 'standard',
        'credentials': {
            'uri': 'https://eureka-f4b98d1c-3166-4741-b691-79abba5b2d51.apps.testcloud.com',
            'client_id': 'p-service-registry-9121b185-cd3b-497c-99f7-8e8064d4a6f0',
            'client_secret': '3Rv1U79siLDa',
            'access_token_uri': 'https://p-spring-cloud-services.uaa.system.testcloud.com/oauth/token'
        }
    }
    ],
    'p-mysql': [
    {
        'name': 'mySql1',
        'label': 'p-mysql',
        'tags': [
        'mysql',
        'relational'
        ],
        'plan': '100mb-dev',
        'credentials': {
            'hostname': '192.168.0.97',
            'port': 3306,
            'name': 'cf_0f5dda44_e678_4727_993f_30e6d455cc31',
            'username': '******',
            'password': '******',
            'uri': 'mysql://*****:*****@192.168.0.97:3306/cf_0f5dda44_e678_4727_993f_30e6d455cc31?reconnect=true',
            'jdbcUrl': 'jdbc:mysql://192.168.0.97:3306/cf_0f5dda44_e678_4727_993f_30e6d455cc31?user=9vD0Mtk3wFFuaaaY&password=Cjn4HsAiKV8sImst'
        }
    },
    {
        'name': 'mySql2',
        'label': 'p-mysql',
        'tags': [
        'mysql',
        'relational'
        ],
        'plan': '100mb-dev',
        'credentials': {
            'hostname': '192.168.0.97',
            'port': 3306,
            'name': 'cf_b2d83697_5fa1_4a51_991b_975c9d7e5515',
            'username': '******',
            'password': '******',
            'uri': 'mysql://*****:*****@192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?reconnect=true',
            'jdbcUrl': 'jdbc:mysql://192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?user=gxXQb2pMbzFsZQW8&password=lvMkGf6oJQvKSOwn'
        }
    }
    ]
}";

            var memStream = CloudFoundryConfigurationProvider.GetMemoryStream(environment);
            var provider  = new JsonStreamConfigurationProvider(new JsonStreamConfigurationSource(memStream));

            provider.Load();

            string value = null;

            Assert.True(provider.TryGet("p-config-server:0:name", out value));
            Assert.Equal("myConfigServer", value);

            Assert.True(provider.TryGet("p-config-server:0:credentials:uri", out value));
            Assert.Equal("https://config-eafc353b-77e2-4dcc-b52a-25777e996ed9.apps.testcloud.com", value);

            Assert.True(provider.TryGet("p-service-registry:0:name", out value));
            Assert.Equal("myServiceRegistry", value);

            Assert.True(provider.TryGet("p-service-registry:0:credentials:uri", out value));
            Assert.Equal("https://eureka-f4b98d1c-3166-4741-b691-79abba5b2d51.apps.testcloud.com", value);

            Assert.True(provider.TryGet("p-mysql:1:name", out value));
            Assert.Equal("mySql2", value);

            Assert.True(provider.TryGet("p-mysql:1:credentials:uri", out value));
            Assert.Equal("mysql://*****:*****@192.168.0.97:3306/cf_b2d83697_5fa1_4a51_991b_975c9d7e5515?reconnect=true", value);
        }