Commit Graph

5996 Commits

Author SHA1 Message Date
Mike Salvatore 61c3efdf83 Tests: Speed up blackbox tests by 1 minute each
The "keep_tunnel_open_time" option adds an unnecessary 60 second delay
to each test (except the tunneling test, where it is necessary). By
setting the time to 0, each test now runs 60 seconds faster.
2021-07-21 08:23:02 -04:00
Shreya af7651c53b island: Move `get_mode()` and `set_mode()` to a single file `island_mode_service.py` 2021-07-21 17:49:28 +05:30
Shreya 79be5d5a22 cc: Set island mode in `Main.tsx`'s constructor
`Main.tsx`'s `updateStatus()` was being called every 10 seconds,
which meant that `islandMode` was updated every 10 seconds.
If you were on the configuration page, and you refreshed the page
at the right moment (as soon as/just before `updateStatus()`
was being called), the config tabs showed were correct according to
the mode. If you refreshed at the wrong moment, you would get the
default tabs i.e. the tabs shown for the advanced mode (see
`ConfigurePage.js`'s `getSectionsOrder()`).
2021-07-21 08:04:38 -04:00
VakarisZ 64787faf77
Merge pull request #1334 from guardicore/ransomware_mode_at_sidebar
Island UI: add island scenario/mode to side navigation
2021-07-21 08:54:09 +03:00
Mike Salvatore 320d7b48d0 Tests: Skip batching telemetry tests on Windows
The batching telemetry tests do not function properly on Windows. They
sometimes pass and sometimes fail due to a race condition. I've been
unable to get this race condition to manifest on Linux and I believe
this is likely due to differences in how threads and the GIL are handled
between the two operating systems.
2021-07-20 12:29:47 -04:00
Mike Salvatore 4affb11128 Tests: Ensure cleanup of batching_telemetry_messenger
Since an "assert" halts a test, the BatchingTelemetryMessenger may not
be deconstructed. This results in pytest hanging. By adding a finally
clause, we ensure the cleanup of the BatchingTelemetryMessenger.
2021-07-20 12:23:13 -04:00
VakarisZ e3921ed454 Island UI: improve the side navigation with an icon of the chosen scenario 2021-07-20 17:10:16 +03:00
Mike Salvatore 42dcb697e9
Merge pull request #1340 from guardicore/config_UI_bug_on_submit
Island UI: fix config import UI bug
2021-07-20 09:29:14 -04:00
Mike Salvatore 5f3182298c
Merge pull request #1336 from guardicore/speed-up-unit-tests
Speed up unit tests
2021-07-20 09:04:51 -04:00
VakarisZ d9cf28251f Island UI: fix a bug that caused the config UI to remain the same even on configuration submit 2021-07-20 14:43:53 +03:00
Shreya 7b79c297b9 island: Replace config "filter" for "manipulator" as file names/constants/functions 2021-07-20 16:31:36 +05:30
Shreya af86cb088f island: Fix stuff in `config_manipulator.py` after testing 2021-07-20 16:26:32 +05:30
Shreya 42b558674e tests: Fix/add unit tests based on addition of `config_manipulator.py` 2021-07-20 16:11:35 +05:30
Shreya eabbca4f32 island: Fix circular import error in `config_manipulator.py` 2021-07-20 16:10:22 +05:30
Shreya 9b2ec5c316 island: Move config manipulator functions from `config.py` to `config_manipulator.py` 2021-07-20 15:43:03 +05:30
Shreya 5159a577e4 tests: Add tests for config manipulator per mode 2021-07-20 14:15:27 +05:30
Shreya 9c48c115be island: Return and log if config update was not successful on mode set 2021-07-20 14:01:20 +05:30
Shreya fab7738174 island: Add config filter for advanced mode 2021-07-20 13:17:30 +05:30
Shreya 0681782505 island: Pass `mode` as an enum instead of enum value when updating config, and update typehints 2021-07-20 13:16:06 +05:30
VakarisZ ff9d649b76 Island UI: rename a method in Main.tsx to be more specific: getSideNavHeader -> getIslandModeTitle 2021-07-20 08:58:21 +03:00
Mike Salvatore adb1006b57 Update the CHANGELOG 2021-07-19 15:01:40 -04:00
Mike Salvatore d9a1f22969 Tests: Mark ZeroLogon tests as slow
The ZerologonExploiter relies on impacket. Importing impacket is slow
(approximately .72s). By moving the import statement in zerologon tests
and marking them as slow, the import (and tests) can now be skipped by
running `pytest -m 'not slow'`.
2021-07-19 14:26:40 -04:00
Mike Salvatore 2496ed0889 Tests: Use SSHExploiter instead of WmiExploiter in expliot telem tests
WmiExploiter relies on impacket. Importing impacket is slow, which has a
negative impact on the speed of pytest collection. SSHExploiter is much
quicker to import.
2021-07-19 14:06:31 -04:00
Mike Salvatore 0000486f20 Agent: Minor changes to ransomware_readme.txt 2021-07-19 13:38:47 -04:00
Mike Salvatore 845c9d9ac3 Tests: Address deprecation warning in config.py 2021-07-19 12:41:35 -04:00
Mike Salvatore 41cf0f07c3 Tests: Address mongomock deprication warnings 2021-07-19 12:38:56 -04:00
Mike Salvatore ac52c308f3 Tests: Mark slow tests with @pytest.mark.slow
This allows you to skip slow tests by running `pytest -m 'not slow'`.
2021-07-19 12:34:12 -04:00
Mike Salvatore f0033d0c7c Tests: Convert test_get_all_mitigations() from unittest to pytest 2021-07-19 12:26:32 -04:00
Mike Salvatore ac9bd8dee7 Tests: Remove two extra calls to encrypt_string()
Calls to encrypt_string() result in calls to pyAesCrypt.encryptStream().
These calls are very slow (about .150ms). Modifying these tests to use
static ciphertext instead of encrypting the file each time saves
approximately 300ms when running the unit test suite.
2021-07-19 08:56:48 -04:00
Mike Salvatore 162e375c87 Tests: Make flask_client a session-scoped fixture 2021-07-19 08:14:49 -04:00
Mike Salvatore 5222230487 Tests: Add monkeypatch_session fixture 2021-07-19 08:14:35 -04:00
Mike Salvatore 2897755cae Tests: Move contents of tests/conftest.py 2021-07-19 08:10:37 -04:00
Shreya 5603773083 island: Remove unused import and sort imports 2021-07-19 17:35:31 +05:30
Shreya 28461bd607 tests: Monkeypath `ConfigService.update_config_on_mode_set` for POST test in `test_island_mode.py` 2021-07-19 17:20:31 +05:30
Mike Salvatore e12bc7ac28 Tests: Remove unnecessary sleep(1) 2021-07-19 07:46:29 -04:00
Mike Salvatore 81f7de74ab
Merge pull request #1333 from guardicore/ransomware-skip-encrypt-readme
Ransomware skip encrypt readme
2021-07-19 06:59:41 -04:00
VakarisZ b798e67163
Merge pull request #1331 from guardicore/1293/attack-no-change-tabs
Fix bug where we can't change tab from attack to another tab in Configure
2021-07-19 13:59:33 +03:00
VakarisZ 8584217e3b Island UI: add island scenario/mode to the top of the side navigation if it's chosen 2021-07-19 13:53:28 +03:00
Mike Salvatore 52412ab1b7 Tests: Add test_readme.txt to .gitattributes 2021-07-19 06:41:53 -04:00
Mike Salvatore c451a51b66 Agent: Add ransomware_readme.txt to .gitattributes 2021-07-19 06:41:53 -04:00
Mike Salvatore 1d7476637d Tests: Remove hash_file() and use get_file_sha256_hash() instead 2021-07-19 06:41:52 -04:00
Mike Salvatore 8879dae276 Agent: Don't encrypt ransomware README.txt
Fixes #1304
2021-07-19 06:41:37 -04:00
Shreya Malviya 743619b81b island: Apply config filter as per mode 2021-07-19 15:37:53 +05:30
Shreya Malviya f1a3e1fc25 island: Separate `island_mode_service.py` to separate files for get and
set mode services
2021-07-19 15:34:48 +05:30
VakarisZ 491c44a13b Island UI: remove unnecessary setting of this.currentFormData in ConfigurePage.js because it's a state variable 2021-07-19 12:23:49 +03:00
Ilija Lazoroski f376c12db1 ui: Fix bug where we can't change tab from attack to another tab in configure 2021-07-19 12:07:04 +03:00
Ilija Lazoroski f574af4225 ui: Fix bug where we can't change tab from attack to another tab in
configure
2021-07-19 12:04:41 +03:00
Mike Salvatore 3912b85d08 Common: Add get_file_sha256_hash() 2021-07-16 10:22:35 -04:00
Shreya Malviya d3de80feed island: Add filters for default config as per mode 2021-07-16 19:45:32 +05:30
Mike Salvatore 07937d7238 Agent: Move ransomware readme constants to ransomware/consts.py 2021-07-16 10:05:58 -04:00