@Override protected Question createQuestion() { return new SearchFiltersQuestion(); } }
public SearchFiltersQuestion build() { return new SearchFiltersQuestion( _complementHeaderSpace, _filters, _generateExplanations, _headers, _nodeSpecifierInput, _startLocation, _type); } }
@Test public void testAnswer() { SearchFiltersQuestion question = new SearchFiltersQuestion(); SearchFiltersAnswerer answerer = new SearchFiltersAnswerer(question, _batfish); TableAnswerElement ae = (TableAnswerElement) answerer.answer(); assertThat( ae, hasRows( containsInAnyOrder( ImmutableList.of( allOf( hasColumn(COL_ACTION, equalTo("PERMIT"), Schema.STRING), hasColumn(COL_FILTER_NAME, equalTo(ACL.getName()), Schema.STRING)), allOf( hasColumn(COL_ACTION, equalTo("PERMIT"), Schema.STRING), hasColumn( COL_FILTER_NAME, equalTo(BLOCKED_LINE_ACL.getName()), Schema.STRING)), allOf( hasColumn(COL_ACTION, equalTo("PERMIT"), Schema.STRING), hasColumn(COL_FILTER_NAME, equalTo(SRC_ACL.getName()), Schema.STRING)))))); }
@Test public void testSetQuery() { SearchFiltersQuestion question = new SearchFiltersQuestion(); assertThat(question.getType(), is(Type.PERMIT)); assertThat(question.getLineNumber(), nullValue()); question = SearchFiltersQuestion.builder().setAction("deny").build(); assertThat(question.getType(), is(Type.DENY)); assertThat(question.getLineNumber(), nullValue()); question = SearchFiltersQuestion.builder().setAction("matchLine 5").build(); assertThat(question.getType(), is(Type.MATCH_LINE)); assertThat(question.getLineNumber(), is(5)); question = SearchFiltersQuestion.builder().setAction("permit").build(); assertThat(question.getType(), is(Type.PERMIT)); assertThat(question.getLineNumber(), nullValue()); exception.expect(BatfishException.class); exception.expectMessage("Unrecognized query: foo"); SearchFiltersQuestion.builder().setAction("foo").build(); }
@Test public void testReachFilterNodeSpecifierDefault() { SearchFiltersQuestion q = new SearchFiltersQuestion(); Set<String> nodes = q.getNodesSpecifier().resolve(_batfish.specifierContext()); assertThat(nodes, contains(_config.getHostname())); q = SearchFiltersQuestion.builder() .setFilterSpecifier(ACL.getName()) .setAction("permit") .setNodeSpecifier("UNMATCHABLE") .build(); nodes = q.getNodesSpecifier().resolve(_batfish.specifierContext()); assertThat(nodes, emptyIterable()); }
new SearchFiltersQuestion() .toSearchFiltersParameters() .toBuilder()