public String getString(final String key, final String defaultValue) { final String result = getString(key); return result != null ? result : defaultValue; }
public Instant getInstant(final String key) { if (jsonObject == null) { throw new NullPointerException("json object is null"); } if (is(Map.class)) { final String value = getString(key); return value != null ? parse(value) : null; } else { throw new IllegalArgumentException("not a map but a " + jsonObject.getClass().getSimpleName()); } }
@Test public void shouldGetString() { final Map<String, ?> map = singletonMap("key", "value"); assertThat(jsonMapFrom(map).getString("key"), is("value")); }
@Test public void shouldGetStringFromLong() { final Map<String, ?> map = singletonMap("key", 2L); assertThat(jsonMapFrom(map).getString("key"), is("2")); }
@Test public void shouldFallbackOnDefaultString() { final JsonMap empty = jsonMapFrom(new HashMap<String, Object>()); assertThat(empty.getString("key", "default"), is("default")); }
@Test public void shouldGetStringFromDouble() { final Map<String, ?> map = singletonMap("key", 2.0d); assertThat(jsonMapFrom(map).getString("key"), is("2.0")); }
@Test public void shouldGetStringFromInteger() { final Map<String, ?> map = singletonMap("key", 1); assertThat(jsonMapFrom(map).getString("key"), is("1")); }
@Test public void shouldGetInnerValueByDottedKeys() { /** * { * "outer" : { * "innter": { * "key" : "value" * } * } */ final Map<String, ?> inner = singletonMap("key", "value"); final Map<String, ?> map = singletonMap("outer", singletonMap("inner", inner)); assertThat(jsonMapFrom(map).get("outer.inner").getString("key"), is("value")); }
@Test public void shouldGetStringFromBoolean() { final Map<String, ?> map = new HashMap<String, Boolean>() {{ put("somethingTrue", TRUE); put("somethingFalse", FALSE); }}; assertThat(jsonMapFrom(map).getString("somethingTrue"), is("true")); assertThat(jsonMapFrom(map).getString("somethingFalse"), is("false")); }
@Test public void shouldCreateStatusRepresentationWithDetailInclUrl() { // given final StatusRepresentation json = statusRepresentationOf( applicationStatus( mock(ApplicationInfo.class), mock(ClusterInfo.class), mock(SystemInfo.class), mock(VersionInfo.class), mock(TeamInfo.class), singletonList( statusDetail("someDetail", OK, "some message", link("item", "http://example.org/some/url", "some title")) ) ) ); // then assertThat(json.application.status, is(OK)); final JsonMap jsonMap = jsonMapFrom(json.application.statusDetails.get("someDetail")); final JsonMap link = jsonMap.get("links").asListOf(JsonMap.class).get(0); assertThat(link.getString("href"), is("http://example.org/some/url")); assertThat(link.getString("title"), is("some title")); assertThat(link.getString("rel"), is("item")); }