2023-06-13 17:27:26 +02:00

48 lines
1.3 KiB
Go

package main
import (
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
)
var fileTestcases = map[string]testutils.TestCase{
"protocols/file/matcher-with-or.yaml": &fileWithOrMatcher{},
"protocols/file/matcher-with-and.yaml": &fileWithAndMatcher{},
"protocols/file/extract.yaml": &fileWithExtractor{},
}
type fileWithOrMatcher struct{}
// Execute executes a test case and returns an error if occurred
func (h *fileWithOrMatcher) Execute(filePath string) error {
results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "protocols/file/data/", debug)
if err != nil {
return err
}
return expectResultsCount(results, 1)
}
type fileWithAndMatcher struct{}
// Execute executes a test case and returns an error if occurred
func (h *fileWithAndMatcher) Execute(filePath string) error {
results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "protocols/file/data/", debug)
if err != nil {
return err
}
return expectResultsCount(results, 1)
}
type fileWithExtractor struct{}
// Execute executes a test case and returns an error if occurred
func (h *fileWithExtractor) Execute(filePath string) error {
results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "protocols/file/data/", debug)
if err != nil {
return err
}
return expectResultsCount(results, 1)
}