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"); }
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"); }