From af56c2f7051f12527054bcf2e184367ab3a6aeb1 Mon Sep 17 00:00:00 2001 From: Tomas Turina Date: Thu, 24 Jun 2021 10:20:07 -0300 Subject: [PATCH] Add changes based in review: write local internal options and other fixes --- deps/wazuh_testing/wazuh_testing/github.py | 2 - deps/wazuh_testing/wazuh_testing/office365.py | 2 - .../test_configuration/test_invalid.py | 96 ++++++++---------- .../test_configuration/test_invalid.py | 98 ++++++++----------- 4 files changed, 79 insertions(+), 119 deletions(-) diff --git a/deps/wazuh_testing/wazuh_testing/github.py b/deps/wazuh_testing/wazuh_testing/github.py index 0f6e5cec6d..58fe518138 100644 --- a/deps/wazuh_testing/wazuh_testing/github.py +++ b/deps/wazuh_testing/wazuh_testing/github.py @@ -2,8 +2,6 @@ # Created by Wazuh, Inc. . # This program is free software; you can redistribute it and/or modify it under the terms of GPLv2 -import os - def callback_detect_enabled_err(line): if 'wm_github_read(): ERROR: Invalid content for tag \'enabled\' at module \'github\'.' in line: diff --git a/deps/wazuh_testing/wazuh_testing/office365.py b/deps/wazuh_testing/wazuh_testing/office365.py index d6ea201336..9054650666 100644 --- a/deps/wazuh_testing/wazuh_testing/office365.py +++ b/deps/wazuh_testing/wazuh_testing/office365.py @@ -2,8 +2,6 @@ # Created by Wazuh, Inc. . # This program is free software; you can redistribute it and/or modify it under the terms of GPLv2 -import os - def callback_detect_enabled_err(line): if 'wm_office365_read(): ERROR: Invalid content for tag \'enabled\' at module \'office365\'.' in line: diff --git a/tests/integration/test_github/test_configuration/test_invalid.py b/tests/integration/test_github/test_configuration/test_invalid.py index 1f2fabcddf..1ae075a7e3 100644 --- a/tests/integration/test_github/test_configuration/test_invalid.py +++ b/tests/integration/test_github/test_configuration/test_invalid.py @@ -9,8 +9,7 @@ from wazuh_testing import global_parameters from wazuh_testing.github import callback_detect_enabled_err, callback_detect_only_future_events_err, \ callback_detect_interval_err, callback_detect_curl_max_size_err, callback_detect_time_delay_err, \ - callback_detect_org_name_err, callback_detect_api_token_err, callback_detect_event_type_err, \ - callback_detect_read_err + callback_detect_org_name_err, callback_detect_api_token_err, callback_detect_event_type_err from wazuh_testing.tools import LOG_FILE_PATH from wazuh_testing.tools.configuration import load_wazuh_configurations from wazuh_testing.tools.monitoring import FileMonitor @@ -29,6 +28,10 @@ # configurations +local_internal_options = { + 'wazuh_modules.debug': 2 +} + cases = [ # Case 1: Invalid enabled (version 4.3) { @@ -165,6 +168,20 @@ configurations = load_wazuh_configurations(configurations_path, __name__, params=params, metadata=metadata) +# callbacks + +callbacks = { + 'invalid_enabled': callback_detect_enabled_err, + 'invalid_only_future_events': callback_detect_only_future_events_err, + 'invalid_interval': callback_detect_interval_err, + 'invalid_curl_max_size': callback_detect_curl_max_size_err, + 'invalid_time_delay': callback_detect_time_delay_err, + 'invalid_org_name': callback_detect_org_name_err, + 'invalid_api_token': callback_detect_api_token_err, + 'invalid_event_type': callback_detect_event_type_err + } + + # fixtures @pytest.fixture(scope='module', params=configurations) @@ -173,14 +190,28 @@ def get_configuration(request): return request.param +@pytest.fixture(scope="module") +def get_local_internal_options(): + """Get internal configuration.""" + return local_internal_options + + # tests -def test_invalid(get_configuration, configure_environment, reset_ossec_log): +def test_invalid(get_local_internal_options, configure_local_internal_options, + get_configuration, configure_environment, reset_ossec_log): """ Checks if an invalid configuration is detected Using invalid configurations with different attributes, expect an error message and github unable to start. + + Args: + get_local_internal_options (fixture): Get internal configuration. + configure_local_internal_options (fixture): Set internal configuration for testing. + get_configuration (fixture): Get configurations from the module. + configure_environment (fixture): Configure a custom environment for testing. + reset_ossec_log (fixture): Reset ossec.log and start a new monitor """ # Configuration error -> ValueError raised try: @@ -191,57 +222,8 @@ def test_invalid(get_configuration, configure_environment, reset_ossec_log): metadata = get_configuration.get('metadata') tags_to_apply = metadata['tags'] - if tags_to_apply == 'invalid_enabled': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_enabled_err, - accum_results=1, - error_message='Did not receive expected ' - 'Invalid element in the configuration').result() - elif tags_to_apply == 'invalid_only_future_events': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_only_future_events_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_interval': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_interval_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_curl_max_size': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_curl_max_size_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_time_delay': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_time_delay_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_org_name': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_org_name_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_api_token': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_api_token_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_event_type': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_event_type_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - else: - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_read_err, - accum_results=1, - error_message='Did not receive expected ' - 'wm_gcp_read(): ERROR:').result() + wazuh_log_monitor.start(timeout=global_parameters.default_timeout, + callback=callbacks[tags_to_apply], + accum_results=1, + error_message='Did not receive expected ' + 'Invalid element in the configuration').result() diff --git a/tests/integration/test_office365/test_configuration/test_invalid.py b/tests/integration/test_office365/test_configuration/test_invalid.py index fcec9e9bff..1b8c37f9bf 100644 --- a/tests/integration/test_office365/test_configuration/test_invalid.py +++ b/tests/integration/test_office365/test_configuration/test_invalid.py @@ -9,8 +9,7 @@ from wazuh_testing import global_parameters from wazuh_testing.office365 import callback_detect_enabled_err, callback_detect_only_future_events_err, \ callback_detect_interval_err, callback_detect_curl_max_size_err, callback_detect_tenant_id_err, \ - callback_detect_client_id_err, callback_detect_client_secret_err, callback_detect_subscription_err, \ - callback_detect_read_err + callback_detect_client_id_err, callback_detect_client_secret_err, callback_detect_subscription_err from wazuh_testing.tools import LOG_FILE_PATH from wazuh_testing.tools.configuration import load_wazuh_configurations from wazuh_testing.tools.monitoring import FileMonitor @@ -29,6 +28,10 @@ # configurations +local_internal_options = { + 'wazuh_modules.debug': 2 +} + cases = [ # Case 1: Invalid enabled (version 4.3) { @@ -165,6 +168,20 @@ configurations = load_wazuh_configurations(configurations_path, __name__, params=params, metadata=metadata) +# callbacks + +callbacks = { + 'invalid_enabled': callback_detect_enabled_err, + 'invalid_only_future_events': callback_detect_only_future_events_err, + 'invalid_interval': callback_detect_interval_err, + 'invalid_curl_max_size': callback_detect_curl_max_size_err, + 'invalid_tenant_id': callback_detect_tenant_id_err, + 'invalid_client_id': callback_detect_client_id_err, + 'invalid_client_secret': callback_detect_client_secret_err, + 'invalid_subscription': callback_detect_subscription_err + } + + # fixtures @pytest.fixture(scope='module', params=configurations) @@ -173,14 +190,28 @@ def get_configuration(request): return request.param +@pytest.fixture(scope="module") +def get_local_internal_options(): + """Get internal configuration.""" + return local_internal_options + + # tests -def test_invalid(get_configuration, configure_environment, reset_ossec_log): +def test_invalid(get_local_internal_options, configure_local_internal_options, + get_configuration, configure_environment, reset_ossec_log): """ Checks if an invalid configuration is detected Using invalid configurations with different attributes, - expect an error message and github unable to start. + expect an error message and office365 unable to start. + + Args: + get_local_internal_options (fixture): Get internal configuration. + configure_local_internal_options (fixture): Set internal configuration for testing. + get_configuration (fixture): Get configurations from the module. + configure_environment (fixture): Configure a custom environment for testing. + reset_ossec_log (fixture): Reset ossec.log and start a new monitor """ # Configuration error -> ValueError raised try: @@ -191,57 +222,8 @@ def test_invalid(get_configuration, configure_environment, reset_ossec_log): metadata = get_configuration.get('metadata') tags_to_apply = metadata['tags'] - if tags_to_apply == 'invalid_enabled': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_enabled_err, - accum_results=1, - error_message='Did not receive expected ' - 'Invalid element in the configuration').result() - elif tags_to_apply == 'invalid_only_future_events': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_only_future_events_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_interval': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_interval_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_curl_max_size': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_curl_max_size_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_tenant_id': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_tenant_id_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_client_id': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_client_id_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_client_secret': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_client_secret_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - elif tags_to_apply == 'invalid_subscription': - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_subscription_err, - accum_results=1, - error_message='Did not receive expected ' - 'sched_scan_validate_parameters(): ERROR').result() - else: - wazuh_log_monitor.start(timeout=global_parameters.default_timeout, - callback=callback_detect_read_err, - accum_results=1, - error_message='Did not receive expected ' - 'wm_gcp_read(): ERROR:').result() + wazuh_log_monitor.start(timeout=global_parameters.default_timeout, + callback=callbacks[tags_to_apply], + accum_results=1, + error_message='Did not receive expected ' + 'Invalid element in the configuration').result()