diff --git a/cmd/integration-test/loader.go b/cmd/integration-test/loader.go index 2c2beb4cd..8e5ea40ff 100644 --- a/cmd/integration-test/loader.go +++ b/cmd/integration-test/loader.go @@ -172,7 +172,14 @@ func (h *nonExistentTemplateList) Execute(nonExistingTemplateList string) error ts := httptest.NewServer(router) defer ts.Close() - _, err := testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-template-url", ts.URL+"/404") + configFileData := `remote-template-domain: [ "` + ts.Listener.Addr().String() + `" ]` + err := os.WriteFile("test-config.yaml", []byte(configFileData), permissionutil.ConfigFilePermission) + if err != nil { + return err + } + defer os.Remove("test-config.yaml") + + _, err = testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-template-url", ts.URL+"/404", "-config", "test-config.yaml") if err == nil { return fmt.Errorf("expected error for nonexisting workflow url") } @@ -188,7 +195,14 @@ func (h *nonExistentWorkflowList) Execute(nonExistingWorkflowList string) error ts := httptest.NewServer(router) defer ts.Close() - _, err := testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-workflow-url", ts.URL+"/404") + configFileData := `remote-template-domain: [ "` + ts.Listener.Addr().String() + `" ]` + err := os.WriteFile("test-config.yaml", []byte(configFileData), permissionutil.ConfigFilePermission) + if err != nil { + return err + } + defer os.Remove("test-config.yaml") + + _, err = testutils.RunNucleiBareArgsAndGetResults(debug, nil, "-target", ts.URL, "-workflow-url", ts.URL+"/404", "-config", "test-config.yaml") if err == nil { return fmt.Errorf("expected error for nonexisting workflow url") } diff --git a/pkg/testutils/integration.go b/pkg/testutils/integration.go index 8b5a71b1a..8bd78a53b 100644 --- a/pkg/testutils/integration.go +++ b/pkg/testutils/integration.go @@ -14,6 +14,7 @@ import ( "github.com/gobwas/ws" "github.com/julienschmidt/httprouter" + "github.com/projectdiscovery/utils/conversion" ) // ExtraArgs @@ -74,9 +75,7 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( if debug { fmt.Println(string(data)) } - if len(data) < 1 && err != nil { - return nil, fmt.Errorf("%v: %v", err.Error(), string(data)) - } + dataStr := conversion.String(data) var parts []string items := strings.Split(string(data), "\n") for _, i := range items { @@ -84,6 +83,11 @@ func RunNucleiBareArgsAndGetResults(debug bool, env []string, extra ...string) ( parts = append(parts, i) } } + + if (dataStr == "" || len(parts) == 0) && err != nil { + return nil, fmt.Errorf("%v: %v", err.Error(), dataStr) + } + return parts, nil }