public void TryGet_Tree()
        {
            var prov = new SpringBootEnvProvider()
            {
                SpringApplicationJson =
                    @"{
                        ""a.b.c"": {
                                     ""e.f"": {
                                                ""g"":""h"",
                                                ""i.j"":""k""
                                              }
                                   },
                        ""l.m.n"": ""o"",
                        ""p"": null
                    }"
            };

            prov.Load();
            prov.TryGet("a:b:c:e:f:i:j", out var value);
            Assert.NotNull(value);
            Assert.Equal("k", value);
            prov.TryGet("l:m:n", out value);
            Assert.NotNull(value);
            Assert.Equal("o", value);
        }
示例#2
0
        public void TryGet_Flat()
        {
            var prov = new SpringBootEnvProvider("{\"management.metrics.tags.application.type\":\"${spring.cloud.dataflow.stream.app.type:unknown}\"}");

            prov.Load();
            prov.TryGet("management:metrics:tags:application:type", out var value);
            Assert.NotNull(value);
            Assert.Equal("${spring.cloud.dataflow.stream.app.type:unknown}", value);
        }
        public void TryGet_Malformed()
        {
            var testOutputHelper = new TestOutputHelper();

            var prov = new SpringBootEnvProvider(new XunitLoggerFactory(testOutputHelper))
            {
                SpringApplicationJson =
                    @"{""test\"":}"
            };

            prov.Load();

            Assert.Contains("SPRING_APPLICATION_JSON", testOutputHelper.Output);
        }
示例#4
0
        public void Provider_Throws_For_Malformed()
        {
            var prov = new SpringBootEnvProvider("{\"a\":}");

            Assert.ThrowsAny <JsonException>(() => prov.Load());
        }