@@ -8,72 +8,81 @@ class MainTest(BaseTestCase):
8
8
@mock .patch ('pyt.__main__.discover_files' )
9
9
@mock .patch ('pyt.__main__.parse_args' )
10
10
@mock .patch ('pyt.__main__.find_vulnerabilities' )
11
- @mock .patch ('pyt.__main__ .text' )
11
+ @mock .patch ('pyt.formatters .text' )
12
12
def test_text_output (self , mock_text , mock_find_vulnerabilities , mock_parse_args , mock_discover_files ):
13
13
mock_find_vulnerabilities .return_value = 'stuff'
14
14
example_file = 'examples/vulnerable_code/inter_command_injection.py'
15
15
output_file = 'mocked_outfile'
16
16
17
+ import pyt .formatters .text
17
18
mock_discover_files .return_value = [example_file ]
18
19
mock_parse_args .return_value = mock .Mock (
19
20
project_root = None ,
20
21
baseline = None ,
21
- json = None ,
22
- output_file = output_file
22
+ formatter = pyt .formatters .text ,
23
+ output_file = output_file ,
24
+ only_unsanitised = False ,
23
25
)
24
26
with self .assertRaises (SystemExit ):
25
27
main (['parse_args is mocked' ])
26
28
assert mock_text .report .call_count == 1
27
29
mock_text .report .assert_called_with (
28
30
mock_find_vulnerabilities .return_value ,
29
- mock_parse_args .return_value .output_file
31
+ mock_parse_args .return_value .output_file ,
32
+ True ,
30
33
)
31
34
32
35
@mock .patch ('pyt.__main__.discover_files' )
33
36
@mock .patch ('pyt.__main__.parse_args' )
34
37
@mock .patch ('pyt.__main__.find_vulnerabilities' )
35
- @mock .patch ('pyt.__main__ .text' )
38
+ @mock .patch ('pyt.formatters .text' )
36
39
def test_no_vulns_found (self , mock_text , mock_find_vulnerabilities , mock_parse_args , mock_discover_files ):
37
40
mock_find_vulnerabilities .return_value = []
38
41
example_file = 'examples/vulnerable_code/inter_command_injection.py'
39
42
output_file = 'mocked_outfile'
40
43
44
+ import pyt .formatters .text
41
45
mock_discover_files .return_value = [example_file ]
42
46
mock_parse_args .return_value = mock .Mock (
43
47
project_root = None ,
44
48
baseline = None ,
45
- json = None ,
46
- output_file = output_file
49
+ formatter = pyt .formatters .text ,
50
+ output_file = output_file ,
51
+ only_unsanitised = True ,
47
52
)
48
53
main (['parse_args is mocked' ]) # No SystemExit
49
54
assert mock_text .report .call_count == 1
50
55
mock_text .report .assert_called_with (
51
56
mock_find_vulnerabilities .return_value ,
52
- mock_parse_args .return_value .output_file
57
+ mock_parse_args .return_value .output_file ,
58
+ False ,
53
59
)
54
60
55
61
@mock .patch ('pyt.__main__.discover_files' )
56
62
@mock .patch ('pyt.__main__.parse_args' )
57
63
@mock .patch ('pyt.__main__.find_vulnerabilities' )
58
- @mock .patch ('pyt.__main__ .json' )
64
+ @mock .patch ('pyt.formatters .json' )
59
65
def test_json_output (self , mock_json , mock_find_vulnerabilities , mock_parse_args , mock_discover_files ):
60
66
mock_find_vulnerabilities .return_value = 'stuff'
61
67
example_file = 'examples/vulnerable_code/inter_command_injection.py'
62
68
output_file = 'mocked_outfile'
63
69
70
+ import pyt .formatters .json
64
71
mock_discover_files .return_value = [example_file ]
65
72
mock_parse_args .return_value = mock .Mock (
66
73
project_root = None ,
67
74
baseline = None ,
68
- json = True ,
69
- output_file = output_file
75
+ formatter = pyt .formatters .json ,
76
+ output_file = output_file ,
77
+ only_unsanitised = False ,
70
78
)
71
79
with self .assertRaises (SystemExit ):
72
80
main (['parse_args is mocked' ])
73
81
assert mock_json .report .call_count == 1
74
82
mock_json .report .assert_called_with (
75
83
mock_find_vulnerabilities .return_value ,
76
- mock_parse_args .return_value .output_file
84
+ mock_parse_args .return_value .output_file ,
85
+ True ,
77
86
)
78
87
79
88
0 commit comments