@Test public void testFieldValidation() throws Exception { Map value = new ObjectMapper().readValue(getClass().getResourceAsStream("nested.json"), Map.class); Field fl = Field.parseField(value); List<String>[] findFixes = MappingUtils.findTypos(Collections.singletonList("nam"), fl); assertThat(findFixes[1], contains("name")); findFixes = MappingUtils.findTypos(Collections.singletonList("link.url"), fl); assertThat(findFixes[1], contains("links.url")); findFixes = MappingUtils.findTypos(Collections.singletonList("ulr"), fl); assertThat(findFixes[1], contains("links.url")); findFixes = MappingUtils.findTypos(Collections.singletonList("likn"), fl); assertThat(findFixes[1], contains("links")); findFixes = MappingUtils.findTypos(Collections.singletonList("_uid"), fl); assertThat(findFixes, is(nullValue())); }
@Test public void testFieldInclude() throws Exception { Map value = new ObjectMapper().readValue(getClass().getResourceAsStream("nested.json"), Map.class); Field fl = Field.parseField(value); Field filtered = MappingUtils.filter(fl, Collections.singleton("*a*e"), Collections.<String>emptyList()); assertThat(fl.name(), is(filtered.name())); assertThat(fl.type(), is(filtered.type())); Field[] props = filtered.properties(); assertThat(props.length, is(2)); assertThat(props[0].name(), is("date")); assertThat(props[1].name(), is("name")); }