Beispiel #1
0
        public void ServiceEndpointCanBeRetrievedViaMappedConfigKey()
        {
            var source = new ConsulConfigurationSource()
                         .UseCache(new InMemoryEmergencyCache())
                         .MapService("myservice1", "serviceEndpoints:v1:myservice", EndpointFormatters.AddressAndPort, NodeSelectors.First);

            var consulState = new ConsulState();

            consulState = consulState.UpdateService(new Service
            {
                Name  = "myservice1",
                Nodes = new[]
                {
                    new ServiceNode
                    {
                        Address = "myaddress",
                        Port    = 80
                    },
                }
            });

            var configProvider = _consul.LoadConfigProvider(source, consulState);

            string serviceEndpoint;

            configProvider.TryGet("serviceEndpoints:v1:myservice", out serviceEndpoint).Should().BeTrue();
            serviceEndpoint.Should().Be("myaddress:80");
        }
Beispiel #2
0
        public void TreeOfKeysBeRetrievedViaMappedConfigPrefix()
        {
            var source = new ConsulConfigurationSource()
                         .UseCache(new InMemoryEmergencyCache())
                         .MapKeyPrefix("apps/myapp", "consul");

            var consulState = new ConsulState();

            consulState = consulState.UpdateKVNodes(new[]
            {
                new KeyValueNode("apps/myapp/folder1/item1", "value1"),
                new KeyValueNode("apps/myapp/folder1/item2", "value2"),
                new KeyValueNode("apps/myapp/folder2/item1", "value3")
            });

            var configProvider = _consul.LoadConfigProvider(source, consulState);

            VerifyConfigKey(configProvider, "consul:folder1:item1", "value1");
            VerifyConfigKey(configProvider, "consul:folder1:item2", "value2");
            VerifyConfigKey(configProvider, "consul:folder2:item1", "value3");
        }