monkey/envs/monkey_zoo/blackbox
VakarisZ 986e52716f Finished telemetry performance test (time measurements, refactoring) 2020-04-23 19:46:58 +03:00
..
analyzers Finished telemetry performance test (time measurements, refactoring) 2020-04-23 19:46:58 +03:00
island_client Finished telemetry performance test (time measurements, refactoring) 2020-04-23 19:46:58 +03:00
island_configs BB fixes: updated struts2 configuration and increased tunneling timeout 2020-04-09 16:22:07 +03:00
log_handlers Added more logs to testing output and changed printing to logging to attach testing output to test 2019-10-07 12:20:19 +03:00
tests Finished telemetry performance test (time measurements, refactoring) 2020-04-23 19:46:58 +03:00
utils Added some documentation and improved logging in Blackbox 2019-10-06 15:05:34 +03:00
README.md Finished telemetry fabrication 2020-04-23 19:44:24 +03:00
__init__.py Basic skeleton for blackbox script 2019-08-27 15:52:39 +03:00
conftest.py Refactored to run series of tests, improved configurations, file structure 2019-09-11 12:39:28 +03:00
pytest.ini Added module + filename + line number to logs output in Blackbox 2019-10-07 13:49:13 +03:00
requirements.txt Removed unused package requirement 2019-10-03 15:43:18 +03:00
test_blackbox.py Finished fabricated monkey telemetry sending 2020-04-16 16:39:10 +03:00

README.md

Automatic blackbox tests

Prerequisites

  1. Download google sdk: https://cloud.google.com/sdk/docs/
  2. Download service account key for MonkeyZoo project (if you deployed MonkeyZoo via terraform scripts then you already have it). GCP console -> IAM -> service accounts(you can use the same key used to authenticate terraform scripts)
  3. Deploy the relevant branch + complied executables to the Island machine on GCP.

Running the tests

In order to execute the entire test suite, you must know the external IP of the Island machine on GCP. You can find this information in the GCP Console Compute Engine/VM Instances under External IP.

Running in command line

Run the following command:

monkey\envs\monkey_zoo\blackbox>python -m pytest --island=35.207.152.72:5000 test_blackbox.py

Running in PyCharm

Configure a PyTest configuration with the additional argument --island=35.207.152.72 on the monkey\envs\monkey_zoo\blackbox.

Running telemetry performance test

To run telemetry performance test follow these steps:

  1. Gather monkey telemetries.
    1. Enable "Export monkey telemetries" in Configuration -> Internal -> Tests if you don't have exported telemetries already.
    2. Run monkey and wait until infection is done.
    3. All telemetries are gathered in monkey/test_telems
  2. Run telemetry performance test.
    1. Move directory monkey/test_telems to envs/monkey_zoo/blackbox/tests/performance/test_telems
    2. (Optional) Use envs/monkey_zoo/blackbox/tests/performance/utils/telem_parser.py to multiply telemetries gathered.
      1. Run telem_parser.py scrip with working directory set to monkey\envs\monkey_zoo\blackbox
      2. Pass integer to indicate the multiplier. For example running telem_parser.py 4 will replicate telemetries 4 times.
    3. Run blackbox tests, telemetry performance test will run as part of it.