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); }
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); }
public void Provider_Throws_For_Malformed() { var prov = new SpringBootEnvProvider("{\"a\":}"); Assert.ThrowsAny <JsonException>(() => prov.Load()); }