1
1
import os
2
- from pathlib import PurePath
2
+ from pathlib import Path , PurePath
3
3
4
4
import pytest
5
5
from tests .unit_tests .infection_monkey .ransomware .ransomware_target_files import (
22
22
from tests .utils import hash_file , is_user_admin
23
23
24
24
from infection_monkey .ransomware import ransomware_payload as ransomware_payload_module
25
- from infection_monkey .ransomware .ransomware_payload import EXTENSION , RansomewarePayload
25
+ from infection_monkey .ransomware .ransomware_payload import (
26
+ EXTENSION ,
27
+ README_DEST ,
28
+ RansomewarePayload ,
29
+ )
26
30
from infection_monkey .telemetry .i_telem import ITelem
27
31
from infection_monkey .telemetry .messengers .i_telemetry_messenger import ITelemetryMessenger
28
32
@@ -42,7 +46,8 @@ def with_extension(filename):
42
46
@pytest .fixture
43
47
def ransomware_payload_config (ransomware_target ):
44
48
return {
45
- "directories" : {"linux_dir" : str (ransomware_target ), "windows_dir" : str (ransomware_target )}
49
+ "directories" : {"linux_dir" : str (ransomware_target ), "windows_dir" : str (ransomware_target )},
50
+ "other_behaviors" : {"readme" : False },
46
51
}
47
52
48
53
@@ -166,3 +171,19 @@ def test_telemetry_failure(monkeypatch, ransomware_payload, telemetry_messenger_
166
171
167
172
assert "/file/not/exist" in telem_1 .get_data ()["ransomware_attempts" ][0 ]
168
173
assert "No such file or directory" in telem_1 .get_data ()["ransomware_attempts" ][1 ]
174
+
175
+
176
+ def test_readme_false (ransomware_payload_config , ransomware_target , telemetry_messenger_spy ):
177
+ ransomware_payload_config ["other_behaviors" ]["readme" ] = False
178
+ ransomware_payload = RansomewarePayload (ransomware_payload_config , telemetry_messenger_spy )
179
+
180
+ ransomware_payload .run_payload ()
181
+ assert not Path (ransomware_target / README_DEST ).exists ()
182
+
183
+
184
+ def test_readme_true (ransomware_payload_config , ransomware_target , telemetry_messenger_spy ):
185
+ ransomware_payload_config ["other_behaviors" ]["readme" ] = True
186
+ ransomware_payload = RansomewarePayload (ransomware_payload_config , telemetry_messenger_spy )
187
+
188
+ ransomware_payload .run_payload ()
189
+ assert Path (ransomware_target / README_DEST ).exists ()
0 commit comments