@Test
public void testDeserializationDefaultValues() throws IOException {
String serialized =
String.format("{\"class\":\"%s\"}", SearchFiltersQuestion.class.getCanonicalName());
SearchFiltersQuestion q =
BatfishObjectMapper.mapper().readValue(serialized, SearchFiltersQuestion.class);
assertThat(q.getFilterSpecifier(), notNullValue());
assertThat(q.getType(), is(Type.PERMIT));
assertThat(q.getNodesSpecifier(), notNullValue());
assertThat(q.getDataPlane(), equalTo(false));
assertThat(q.getNodes(), nullValue());
assertThat(q.getHeaderSpace().getDstIps(), nullValue());
assertThat(q.getHeaderSpace().getSrcIps(), nullValue());
SearchFiltersParameters parameters = q.toSearchFiltersParameters();
for (IpSpaceSpecifier s :
Arrays.asList(
parameters.getSourceIpSpaceSpecifier(), parameters.getDestinationIpSpaceSpecifier())) {
assertThat(
s.resolve(ImmutableSet.of(), MockSpecifierContext.builder().build()).getEntries().stream()
.map(Entry::getIpSpace)
.collect(ImmutableList.toImmutableList()),
hasItem(UniverseIpSpace.INSTANCE));
assertThat(q.getLineNumber(), nullValue());
}
}