2022-11-01 20:28:50 +05:30
|
|
|
package fuzz
|
|
|
|
|
|
|
|
|
|
import (
|
2023-09-18 21:31:32 +03:00
|
|
|
"github.com/projectdiscovery/retryablehttp-go"
|
2022-11-01 20:28:50 +05:30
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestRuleIsExecutable(t *testing.T) {
|
|
|
|
|
rule := &Rule{Part: "query"}
|
|
|
|
|
err := rule.Compile(nil, nil)
|
|
|
|
|
require.NoError(t, err, "could not compile rule")
|
|
|
|
|
|
2023-09-18 21:31:32 +03:00
|
|
|
req, err := retryablehttp.NewRequest("GET", "https://example.com/?url=localhost", nil)
|
|
|
|
|
require.NoError(t, err, "could not build request")
|
|
|
|
|
|
|
|
|
|
result := rule.isExecutable(req)
|
2022-11-01 20:28:50 +05:30
|
|
|
require.True(t, result, "could not get correct result")
|
|
|
|
|
|
2023-09-18 21:31:32 +03:00
|
|
|
req, err = retryablehttp.NewRequest("GET", "https://example.com/", nil)
|
|
|
|
|
require.NoError(t, err, "could not build request")
|
|
|
|
|
|
|
|
|
|
result = rule.isExecutable(req)
|
2022-11-01 20:28:50 +05:30
|
|
|
require.False(t, result, "could not get correct result")
|
|
|
|
|
}
|