Skip to content

Commit edef46d

Browse files
committed
add a few more tests to request modifiers and status rules
1 parent 309e212 commit edef46d

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

pkg/cli/crawl/request_modifiers.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@ func addUserAgentToRequest() crawler.RequestModifierFunc {
1717
func addPrefixUrlToRequest(prefixUrl string) crawler.RequestModifierFunc {
1818
return func(req *http.Request) {
1919
parsedPrefixUrl, err := url.Parse(prefixUrl)
20-
if err != nil {
20+
if err != nil || parsedPrefixUrl.String() == "" {
21+
// prefix url couldn't be parsed just abort
2122
return
2223
}
2324

24-
requestUrl, err := url.Parse(req.URL.String())
25-
if err != nil {
26-
return
27-
}
25+
requestUrl, _ := url.Parse(req.URL.String())
2826

2927
requestUrl.Scheme = parsedPrefixUrl.Scheme
3028
requestUrl.Host = parsedPrefixUrl.Host

pkg/cli/crawl/request_modifiers_test.go

+12
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,18 @@ func TestAddPrefixUrlToRequest(t *testing.T) {
4444
}
4545
}
4646

47+
func TestAddPrefixUrlToRequestWithInvalidPrefixUrl(t *testing.T) {
48+
prefixUrl := "https://this is not a valid url"
49+
50+
modifier := crawler.RequestModifier{}
51+
modifier.With(addPrefixUrlToRequest(prefixUrl))
52+
53+
req := httptest.NewRequest("GET", "https://example.com", strings.NewReader(""))
54+
modifier.Do(req)
55+
56+
assert.Equal(t, "https://example.com", req.URL.String())
57+
}
58+
4759
func TestAddCookiesToRequest(t *testing.T) {
4860
modifier := crawler.RequestModifier{}
4961
modifier.With(addCookiesToRequest(crawlerFlagOptions{

pkg/filter/status_rules_test.go

+8
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ func TestRuleIsGreaterThan(t *testing.T) {
5353
assert.Equal(t, ResultDoesNotApply, RuleIsGreaterThan("200-299", 200))
5454
}
5555

56+
func TestRuleIsGreaterThanInvalidQuery(t *testing.T) {
57+
assert.Equal(t, ResultDoesNotApply, RuleIsGreaterThan(">test", 200))
58+
}
59+
60+
func TestRuleIsSmallerThanInvalidQuery(t *testing.T) {
61+
assert.Equal(t, ResultDoesNotApply, RuleIsSmallerThan("<test", 200))
62+
}
63+
5664
func TestRuleIsSmallerThan(t *testing.T) {
5765
assert.Equal(t, ResultTrue, RuleIsSmallerThan("<400", 399))
5866
assert.Equal(t, ResultFalse, RuleIsSmallerThan("<400", 400))

0 commit comments

Comments
 (0)