Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
projectdiscovery
GitHub Repository: projectdiscovery/nuclei
Path: blob/dev/pkg/protocols/code/code_test.go
2070 views
1
//go:build linux || darwin
2
3
package code
4
5
import (
6
"context"
7
"testing"
8
9
"github.com/stretchr/testify/require"
10
11
"github.com/projectdiscovery/nuclei/v3/pkg/model"
12
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
13
"github.com/projectdiscovery/nuclei/v3/pkg/output"
14
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
15
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
16
)
17
18
func TestCodeProtocol(t *testing.T) {
19
options := testutils.DefaultOptions
20
21
testutils.Init(options)
22
templateID := "testing-code"
23
request := &Request{
24
Engine: []string{"sh"},
25
Source: "echo test",
26
}
27
executerOpts := testutils.NewMockExecuterOptions(options, &testutils.TemplateInfo{
28
ID: templateID,
29
Info: model.Info{SeverityHolder: severity.Holder{Severity: severity.Low}, Name: "test"},
30
})
31
err := request.Compile(executerOpts)
32
require.Nil(t, err, "could not compile code request")
33
34
var gotEvent output.InternalEvent
35
ctxArgs := contextargs.NewWithInput(context.Background(), "")
36
err = request.ExecuteWithResults(ctxArgs, nil, nil, func(event *output.InternalWrappedEvent) {
37
gotEvent = event.InternalEvent
38
})
39
require.Nil(t, err, "could not run code request")
40
require.NotEmpty(t, gotEvent, "could not get event items")
41
}
42
43