Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
projectdiscovery
GitHub Repository: projectdiscovery/nuclei
Path: blob/dev/pkg/reporting/trackers/jira/jira_test.go
2070 views
1
package jira
2
3
import (
4
"strings"
5
"testing"
6
7
"github.com/projectdiscovery/nuclei/v3/pkg/model"
8
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
9
"github.com/projectdiscovery/nuclei/v3/pkg/output"
10
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters"
11
"github.com/stretchr/testify/require"
12
)
13
14
func TestLinkCreation(t *testing.T) {
15
jiraIntegration := &Integration{}
16
link := jiraIntegration.CreateLink("ProjectDiscovery", "https://projectdiscovery.io")
17
require.Equal(t, "[ProjectDiscovery|https://projectdiscovery.io]", link)
18
}
19
20
func TestHorizontalLineCreation(t *testing.T) {
21
jiraIntegration := &Integration{}
22
horizontalLine := jiraIntegration.CreateHorizontalLine()
23
require.True(t, strings.Contains(horizontalLine, "----"))
24
}
25
26
func TestTableCreation(t *testing.T) {
27
jiraIntegration := &Integration{}
28
29
table, err := jiraIntegration.CreateTable([]string{"key", "value"}, [][]string{
30
{"a", "b"},
31
{"c"},
32
{"d", "e"},
33
})
34
35
require.Nil(t, err)
36
expected := `| key | value |
37
| a | b |
38
| c | |
39
| d | e |
40
`
41
require.Equal(t, expected, table)
42
}
43
44
func Test_ShouldFilter_Tracker(t *testing.T) {
45
jiraIntegration := &Integration{
46
options: &Options{AllowList: &filters.Filter{
47
Severities: severity.Severities{severity.Critical},
48
}},
49
}
50
51
require.False(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{
52
SeverityHolder: severity.Holder{Severity: severity.Info},
53
}}))
54
require.True(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{
55
SeverityHolder: severity.Holder{Severity: severity.Critical},
56
}}))
57
58
t.Run("deny-list", func(t *testing.T) {
59
jiraIntegration := &Integration{
60
options: &Options{DenyList: &filters.Filter{
61
Severities: severity.Severities{severity.Critical},
62
}},
63
}
64
65
require.True(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{
66
SeverityHolder: severity.Holder{Severity: severity.Info},
67
}}))
68
require.False(t, jiraIntegration.ShouldFilter(&output.ResultEvent{Info: model.Info{
69
SeverityHolder: severity.Holder{Severity: severity.Critical},
70
}}))
71
})
72
}
73
74