@@ -2,20 +2,13 @@ package phraseaccesstoken
2
2
3
3
import (
4
4
"context"
5
- "fmt"
6
5
"testing"
7
6
8
7
"github.com/google/go-cmp/cmp"
9
8
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors"
10
9
"github.com/trufflesecurity/trufflehog/v3/pkg/engine/ahocorasick"
11
10
)
12
11
13
- var (
14
- validPattern = "1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890"
15
- invalidPattern = "7cf4135a4e7f7ac228d36f210f151917a86f5dbd6"
16
- keyword = "phrase"
17
- )
18
-
19
12
func TestPhrase_Pattern (t * testing.T ) {
20
13
d := Scanner {}
21
14
ahoCorasickCore := ahocorasick .NewAhoCorasickCore ([]detectors.Detector {d })
@@ -26,47 +19,47 @@ func TestPhrase_Pattern(t *testing.T) {
26
19
}{
27
20
{
28
21
name : "valid pattern - with keyword phrase" ,
29
- input : fmt . Sprintf ( "%s token = '%s'" , keyword , validPattern ) ,
30
- want : []string {validPattern },
22
+ input : "phrase token = 1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" ,
23
+ want : []string {"1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" },
31
24
},
32
25
{
33
26
name : "valid pattern - ignore duplicate" ,
34
- input : fmt . Sprintf ( "%s token = '%s ' | '%s'" , keyword , validPattern , validPattern ) ,
35
- want : []string {validPattern },
27
+ input : "phrase token = '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890 ' | '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890'" ,
28
+ want : []string {"1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" },
36
29
},
37
30
{
38
31
name : "valid pattern - key out of prefix range" ,
39
- input : fmt . Sprintf ( "%s keyword is not close to the real key in the data\n = '%s'" , keyword , validPattern ) ,
32
+ input : "phrase keyword is not close to the real key in the data\n = '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890'" ,
40
33
want : []string {},
41
34
},
42
35
{
43
36
name : "invalid pattern" ,
44
- input : fmt . Sprintf ( "%s = '%s'" , keyword , invalidPattern ) ,
37
+ input : "phrase = 7cf4135a4e7f7ac228d36f210f151917a86f5dbd6" ,
45
38
want : []string {},
46
39
},
47
40
{
48
41
name : "finds all valid matches" ,
49
- input : fmt . Sprintf ( "%s token1 = '%s '\n %s token2 = '%s'" , keyword , validPattern , keyword , "abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" ) ,
50
- want : []string {validPattern , "abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" },
42
+ input : "phrase token1 = '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890 '\n phrase token2 = 'abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'" ,
43
+ want : []string {"1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" , "abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" },
51
44
},
52
45
{
53
46
name : "invalid pattern - too short" ,
54
- input : fmt . Sprintf ( "%s = '%s'" , keyword , "1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef12345678" ) ,
47
+ input : "phrase = '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef12345678'" ,
55
48
want : []string {},
56
49
},
57
50
{
58
51
name : "invalid pattern - too long" ,
59
- input : fmt . Sprintf ( "%s = '%s'" , keyword , "1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef123456789012" ) ,
52
+ input : "phrase = '1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef123456789012'" ,
60
53
want : []string {},
61
54
},
62
55
{
63
56
name : "invalid pattern - contains uppercase" ,
64
- input : fmt . Sprintf ( "%s = '%s'" , keyword , "1A2B3C4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" ) ,
57
+ input : "phrase = '1A2B3C4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890'" ,
65
58
want : []string {},
66
59
},
67
60
{
68
61
name : "invalid pattern - contains special characters" ,
69
- input : fmt . Sprintf ( "%s = '%s'" , keyword , " 1a2b3c4d-e6f7890abcdef1234567890abcdef1234567890abcdef1234567890" ) ,
62
+ input : "phrase = '1a2b3c4d-e6f7890abcdef1234567890abcdef1234567890abcdef1234567890'" ,
70
63
want : []string {},
71
64
},
72
65
}
0 commit comments