From f1e9ce3dd7bf688f3d12dcc5b4aab24c4b113b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Rebollo=20P=C3=A9rez?= Date: Tue, 5 Dec 2023 12:34:31 +0000 Subject: [PATCH] docs: update IT README --- tests/integration/README.md | 125 +++++++++++++++--------------------- 1 file changed, 53 insertions(+), 72 deletions(-) diff --git a/tests/integration/README.md b/tests/integration/README.md index 85e5332b90..142b9abac1 100644 --- a/tests/integration/README.md +++ b/tests/integration/README.md @@ -13,17 +13,19 @@ tests modify the system date and there could be some synchronization issues. This guide will cover the following platforms: [Linux](#linux), [Windows](#windows) and [MacOS](#macos). -You can run these tests on a manager or an agent. In case you are using an agent, please remember to register it and use -the correct version (Wazuh branch). +You can run these tests on a manager or an agent. In case you are using an agent, please remember to register it and use the correct version (Wazuh branch). _We are skipping Wazuh installation steps. For further information, -check [Wazuh documentation](https://documentation.wazuh.com/3.11/installation-guide/index.html)._ +check [Wazuh documentation](https://documentation.wazuh.com/current/installation-guide/index.html)._ ### Linux _We are using **CentOS** for this example:_ -- Install **Wazuh** +- Install and start **Wazuh** + +> [!NOTE] +> In case you are using an agent, please remember to register to the manager - Disable firewall (only for **CentOS**) @@ -32,41 +34,40 @@ systemctl stop firewalld systemctl disable firewalld ``` -- Install Python and its dependencies - -```shell script -# Install dependencies -yum install make gcc policycoreutils-python automake autoconf libtool epel-release git which sudo wget -y - -# Install development dependencies for jq library -yum groupinstall "Development Tools" -y +- Install Python3 -# Install Python3 +```sheel script yum install python36 python36-pip python36-devel -y - -# Install Python libraries -pip3 install pytest freezegun jq jsonschema pyyaml==5.3 psutil distro pandas==0.25.3 pytest-html==2.0.1 numpydoc==0.9.2 ``` -- Add some internal options and restart +- Install integration tests dependencies ```shell script -# Enable debug 2 -echo 'syscheck.debug=2' >> $wazuh_path/etc/local_internal_options.conf +cd wazuh-qa +python -m pip install -r requirements.txt +``` -# Avoid agent disconnections when travelling in time (only for agents) -sed -i "s:60:99999999999:g" /var/ossec/etc/ossec.conf +- Install wazuh-testing framework -# Disable log rotation -echo 'monitord.rotate_log=0' >> $wazuh_path/etc/local_internal_options.conf +```shell script +cd deps/wazuh_testing/ +python setup.py install +``` -# Restart Wazuh -/var/ossec/bin/wazuh-control restart +> [!NOTE] +> When developing tests, utilize the following command to seamlessly update the framework with each modification. + +``` +python -m pip install . -e ``` + ### Windows -- Install **Wazuh** +- Install and start **Wazuh** + +> [!NOTE] +> In case you are using an agent, please remember to register to the manager - Download and install [Python](https://www.python.org/downloads/windows/) @@ -79,68 +80,52 @@ echo 'monitord.rotate_log=0' >> $wazuh_path/etc/local_internal_options.conf choco install jq ``` -- Install Python dependencies +- Install integration tests dependencies ```shell script -pip install pytest freezegun jsonschema pyyaml==5.4 psutil paramiko distro pywin32 pypiwin32 wmi pandas==0.25.3 pytest-html==2.0.1 numpydoc==0.9.2 +cd wazuh-qa +python -m pip install -r requirements.txt ``` -- Change `time-reconnect` from `C:\Program Files (x86)\ossec-agent\ossec.conf` - -```xml -99999999999 -``` - -- Add some internal options +- Install wazuh-testing framework ```shell script -# Enable debug 2 -echo 'syscheck.debug=2' >> "C:\Program Files (x86)\ossec-agent\local_internal_options.conf" - -# Disable log rotation -echo 'monitord.rotate_log=0' >> "C:\Program Files (x86)\ossec-agent\local_internal_options.conf" +cd deps/wazuh_testing/ +python setup.py install ``` -- Restart **Wazuh** using the GUI +> [!NOTE] +> When developing tests, utilize the following command to seamlessly update the framework with each modification. +``` +python -m pip install . -e +``` ### MacOS -- Install **Wazuh** +- Install and start **Wazuh** -- Install Python and its dependencies +> [!NOTE] +> Remember to register the agent to the manager -```shell script # Install Python -brew install python3 -# Install dependencies -brew install autoconf automake libtool - -# Install Python libraries -pip3 install filetype freezegun jq jsonschema lockfile numpydoc psutil pytest-html pytest-testinfra pyyaml +```shell script +brew install python3 ``` -- Add some internal options and restart +- Install Python and its dependencies ```shell script - -# Enable debug 2 -echo 'syscheck.debug=2' >> /Library/Ossec/etc/local_internal_options.conf - -# Avoid agent disconnections when travelling in time -brew install gnu-sed -gsed -i "s:60:99999999999:g" /Library/Ossec/etc/ossec.conf - -# Disable log rotation -echo 'monitord.rotate_log=0' >> /Library/Ossec/etc/local_internal_options.conf - -# Restart Wazuh -/Library/Ossec/bin/wazuh-control restart +cd wazuh-qa +python -m pip install -r requirements.txt ``` ------------ +- Install wazuh-testing framework -Finally, copy your `wazuh-qa` repository within your testing environment and you are set. +```shell script +cd deps/wazuh_testing/ +python setup.py install +``` ## Integration tests @@ -278,14 +263,11 @@ This will be our python module with all the needed code to test everything. ### Dependencies -To run them, we need to install all these Python dependencies: - +It is necessary to install the wazuh testing framework dependencies: ```shell script -pip3 install distro freezegun jq jsonschema psutil pytest pyyaml==5.3 pandas==0.25.3 pytest-html==2.0.1 numpydoc==0.9.2 +python -m pip install -r requirements.txt ``` -_**NOTE:** `jq` library can only be installed with `pip` on **Linux**_ - ### Wazuh-Testing package We have a Python package at `wazuh-qa/deps/` with all the tools needed to run these tests. From file monitoring classes @@ -354,7 +336,6 @@ To install it: ```shell script cd wazuh-qa/deps/wazuh_testing -pip3 install . ``` _**NOTE:** It is important to reinstall this package every time we modify anything