use of net.htmlparser.jericho.Source in project zaproxy by zaproxy.
the class SpiderSitemapXMLParserUnitTest method shouldNotRequireSourceToParseMessage.
@Test
public void shouldNotRequireSourceToParseMessage() {
// Given
Source undefinedSource = null;
SpiderSitemapXMLParser spiderParser = createSpiderSitemapXMLParser();
HttpMessage message = createMessageWith("NoUrlsSitemap.xml");
// When
boolean completelyParsed = spiderParser.parseResource(message, undefinedSource, BASE_DEPTH);
// Then
assertThat(completelyParsed, is(equalTo(true)));
}
use of net.htmlparser.jericho.Source in project zaproxy by zaproxy.
the class SpiderHtmlFormParserUnitTest method shouldParseFormAsGetIfFormHasNoMethod.
@Test
public void shouldParseFormAsGetIfFormHasNoMethod() {
// Given
SpiderHtmlFormParser htmlParser = createSpiderHtmlFormParser();
TestSpiderParserListener listener = createTestSpiderParserListener();
htmlParser.addSpiderParserListener(listener);
HttpMessage messageHtmlResponse = createMessageWith("NoMethodForm.html");
Source source = createSource(messageHtmlResponse);
// When
boolean completelyParsed = htmlParser.parseResource(messageHtmlResponse, source, BASE_DEPTH);
// Then
assertThat(completelyParsed, is(equalTo(false)));
assertThat(listener.getNumberOfUrlsFound(), is(equalTo(1)));
assertThat(listener.getUrlsFound(), contains("http://example.org/?field1=Text+1&field2=Text+2&submit=Submit"));
}
use of net.htmlparser.jericho.Source in project zaproxy by zaproxy.
the class SpiderHtmlFormParserUnitTest method shouldParseGetFormWithoutSubmitField.
@Test
public void shouldParseGetFormWithoutSubmitField() {
// Given
SpiderHtmlFormParser htmlParser = createSpiderHtmlFormParser();
TestSpiderParserListener listener = createTestSpiderParserListener();
htmlParser.addSpiderParserListener(listener);
HttpMessage messageHtmlResponse = createMessageWith("GET", "FormNoSubmitField.html");
Source source = createSource(messageHtmlResponse);
// When
boolean completelyParsed = htmlParser.parseResource(messageHtmlResponse, source, BASE_DEPTH);
// Then
assertThat(completelyParsed, is(equalTo(false)));
assertThat(listener.getNumberOfUrlsFound(), is(equalTo(1)));
assertThat(listener.getUrlsFound(), contains("http://example.org/?field1=Text+1&field2=Text+2"));
}
use of net.htmlparser.jericho.Source in project zaproxy by zaproxy.
the class SpiderHtmlFormParserUnitTest method shouldSetValuesToFieldsWithNoValueWhenParsingGetForm.
@Test
public void shouldSetValuesToFieldsWithNoValueWhenParsingGetForm() {
// Given
DefaultValueGenerator valueGenerator = new DefaultValueGenerator();
SpiderHtmlFormParser htmlParser = createSpiderHtmlFormParser(valueGenerator);
TestSpiderParserListener listener = createTestSpiderParserListener();
htmlParser.addSpiderParserListener(listener);
Date date = new Date(1474370354555L);
valueGenerator.setDefaultDate(date);
HttpMessage msg = createMessageWith("GET", "FormNoDefaultValues.html");
Source source = createSource(msg);
// When
boolean completelyParsed = htmlParser.parseResource(msg, source, BASE_DEPTH);
// Then
assertThat(completelyParsed, is(equalTo(false)));
assertThat(listener.getNumberOfResourcesFound(), is(equalTo(9)));
assertThat(listener.getUrlsFound(), contains("http://example.org/?_file=test_file.txt&_hidden&_no-type=ZAP&_password=ZAP&_text=ZAP&submit=Submit", "http://example.org/html5/number?_number=1&_number-max=2&_number-min=1&submit=Submit", "http://example.org/html5/range?_range=1&_range-max=4&_range-min=3&submit=Submit", "http://example.org/html5/misc?_color=%23ffffff&_email=foo-bar%40example.com&_tel=9999999999&_url=http%3A%2F%2Fwww.example.com&submit=Submit", "http://example.org/unknown?_unknown&submit=Submit", "http://example.org/selects?_select-one-option=first-option&_select-selected-option=selected-option&_select-two-options=last-option&submit=Submit", "http://example.org/radio?_radio=second-radio&submit=Submit", "http://example.org/checkbox?_checkbox=second-checkbox&submit=Submit", "http://example.org/html5/date-time?" + params(param("_date", formattedDate("yyyy-MM-dd", date)), param("_datetime", formattedDate("yyyy-MM-dd'T'HH:mm:ss'Z'", date)), param("_datetime-local", formattedDate("yyyy-MM-dd'T'HH:mm:ss", date)), param("_month", formattedDate("yyyy-MM", date)), param("_time", formattedDate("HH:mm:ss", date)), param("_week", formattedDate("yyyy-'W'ww", date)), param("submit", "Submit"))));
}
use of net.htmlparser.jericho.Source in project zaproxy by zaproxy.
the class SpiderHtmlFormParserUnitTest method shouldUseRelativePathBaseHtmlUrlWhenParsingGetFormWithRelativeAction.
@Test
public void shouldUseRelativePathBaseHtmlUrlWhenParsingGetFormWithRelativeAction() {
// Given
SpiderHtmlFormParser htmlParser = createSpiderHtmlFormParser();
TestSpiderParserListener listener = createTestSpiderParserListener();
htmlParser.addSpiderParserListener(listener);
HttpMessage msg = createMessageWith("GET", "FormWithHtmlBase.html", "action/relative", "base/relative/path/", "/a/b.html");
Source source = createSource(msg);
// When
boolean completelyParsed = htmlParser.parseResource(msg, source, BASE_DEPTH);
// Then
assertThat(completelyParsed, is(equalTo(false)));
assertThat(listener.getNumberOfUrlsFound(), is(equalTo(1)));
assertThat(listener.getUrlsFound(), contains("http://example.com/a/base/relative/path/action/relative?q=Search&submit=Submit"));
}
Aggregations