コード例 #1
0
        public void ConsulConfigurationProviderCanSet()
        {
            var configurationOptions = new ConfigurationOptions
            {
                Prefix = "test/"
            };
            var mockConsulHandler    = new Mock <IConsulHandler>();
            var mockConsulKvEndpoint = new Mock <IConsulKvEndpoint>();

            mockConsulKvEndpoint
            .Setup(e => e.Get("test/", null))
            .Returns(Task.FromResult(new QueryResult <KVPair[]>
            {
                StatusCode = HttpStatusCode.OK,
                Response   = new KVPair[] { }
            }));

            mockConsulKvEndpoint
            .Setup(e => e.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken?>()))
            .Returns(Task.FromResult(new WriteResult <bool> {
                Response = true, StatusCode = HttpStatusCode.OK
            }));

            var provider = new ConsulConfigurationProvider(configurationOptions, mockConsulHandler.Object, mockConsulKvEndpoint.Object);

            provider.Load();

            Assert.True(provider.SetAsync("k", "v").Result);
            Assert.True(provider.TryGet("k", out var v));
            Assert.Equal("v", v);
        }
コード例 #2
0
        public void ConsulConfigurationProviderCanGet()
        {
            var configurationOptions = new ConfigurationOptions
            {
                Prefix = "test/"
            };
            var mockConsulHandler    = new Mock <IConsulHandler>();
            var mockConsulKvEndpoint = new Mock <IConsulKvEndpoint>();

            mockConsulKvEndpoint
            .Setup(e => e.Get("test/", null))
            .Returns(Task.FromResult(new QueryResult <KVPair[]>
            {
                StatusCode = HttpStatusCode.OK,
                Response   = new [] { new KVPair("test/k")
                                      {
                                          Value = Encoding.UTF8.GetBytes("v")
                                      } }
            }));
            var provider = new ConsulConfigurationProvider(configurationOptions, mockConsulHandler.Object, mockConsulKvEndpoint.Object);

            provider.Load();

            Assert.True(provider.TryGet("k", out var v));
            Assert.Equal("v", v);
        }
コード例 #3
0
        private void Bot574Test()
        {
            var provider = new ConsulConfigurationProvider(() => GetClientMock(), "sym.store.bot.bot574");

            provider.Load();

            provider.TryGet("amqp_uri", out var amqp_uri).ShouldBe(true);
            amqp_uri.ShouldBe("amqp://common");

            provider.TryGet("scheduler_uri", out var scheduler_uri).ShouldBe(true);
            scheduler_uri.ShouldBe("http://scheduler");

            provider.TryGet("store_id", out var store_id).ShouldBe(true);
            store_id.ShouldBe("3211");

            provider.TryGet("site_id", out var site_id).ShouldBe(true);
            site_id.ShouldBe("somesite");

            provider.TryGet("another_key", out var another_key).ShouldBe(false);
            another_key.ShouldBe(null);
        }
コード例 #4
0
 public ConsulConfigurationProviderTests()
 {
     _client   = new ConsulClient();
     _prefix   = Guid.NewGuid() + "/";
     _provider = new ConsulConfigurationProvider(() => new ConsulClient(), QueryOptions.Default, _prefix);
 }