Example #1
0
def reload_new_conf(report_value, reg1, reg2):
    """"
    Return a new ossec configuration with a changed report_value

    Parameters
    ----------
    report_value: str
        Value that will be used for the report_changes option.
    reg1: str
        Registry path that will be written in the configuration for WINDOWS_REGISTRY_1.
    reg2: str
        Registry path that will be written in the configuration for WINDOWS_REGISTRY_2.
    """
    new_conf_params = {
        'WINDOWS_REGISTRY_1': reg1,
        'WINDOWS_REGISTRY_2': reg2,
        'REPORT_CHANGES_1': report_value,
        'REPORT_CHANGES_2': report_value
    }

    conf_params, conf_metadata = generate_params(extra_params=new_conf_params,
                                                 modes=['scheduled'])
    new_conf = load_wazuh_configurations(configurations_path,
                                         __name__,
                                         params=conf_params,
                                         metadata=conf_metadata)
    # Load the third configuration in the yaml
    restart_wazuh_with_new_conf(
        set_section_wazuh_conf(new_conf[2].get('sections')))
    # Wait for FIM scan to finish
    detect_initial_scan(wazuh_log_monitor)
Example #2
0
def change_conf(dir_value):
    p, m = generate_params(extra_params={'DIRECTORY': dir_value},
                           apply_to_all=({'SKIP': skip} for skip in ['yes', 'no']),
                           modes=['scheduled'])

    return load_wazuh_configurations(configurations_path, __name__,
                                     params=p,
                                     metadata=m
                                     )
def change_conf(report_value):
    """"Return a new ossec configuration with a changed report_value"""
    conf_params, conf_metadata = generate_params(extra_params={'REPORT_CHANGES': {'report_changes': report_value},
                                                               'TEST_DIRECTORIES': directory_str,
                                                               'NODIFF_FILE': nodiff_file,
                                                               'MODULE_NAME': __name__})

    return load_wazuh_configurations(configurations_path, __name__,
                                     params=conf_params,
                                     metadata=conf_metadata
                                     )
# Marks

pytestmark = pytest.mark.tier(level=0)

# Variables

test_directories = []
testdir = os.path.join(PREFIX, 'testdir1')
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# Configurations

p, m = generate_params(extra_params={'TEST_DIRECTORIES': '', 'MODULE_NAME': __name__})
configuration1 = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)

p, m = generate_params(extra_params={'TEST_DIRECTORIES': testdir, 'MODULE_NAME': __name__})
configuration2 = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)

# Merge both list of configurations into the final one to avoid skips and configuration issues
configurations = configuration1 + configuration2


# Fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_directories = [os.path.join(PREFIX, 'testdir1')]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1 = test_directories[0]
DEFAULT_SIZE = 50 * 1024

# Configurations

conf_params, conf_metadata = generate_params(
    extra_params={
        'REPORT_CHANGES': {
            'report_changes': 'yes'
        },
        'TEST_DIRECTORIES': directory_str,
        'MODULE_NAME': __name__
    })

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# Fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
Example #6
0
# Variables

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_directories = [os.path.join(PREFIX, 'testdir1')]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1 = test_directories[0]

# Configurations

conf_params, conf_metadata = generate_params(extra_params={'REPORT_CHANGES': {'report_changes': 'yes'},
                                                           'TEST_DIRECTORIES': directory_str,
                                                           'FILE_SIZE_ENABLED': 'no',
                                                           'FILE_SIZE_LIMIT': '1KB',
                                                           'DISK_QUOTA_ENABLED': 'no',
                                                           'DISK_QUOTA_LIMIT': '2KB',
                                                           'MODULE_NAME': __name__})

configurations = load_wazuh_configurations(configurations_path, __name__, params=conf_params, metadata=conf_metadata)


# Fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #7
0
pytestmark = [pytest.mark.tier(level=1)]

# Variables
test_directories = [os.path.join(PREFIX, 'testdir1')]

directory_str = ','.join(test_directories)
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1 = test_directories[0]
NUM_FILES = 100000

# Configurations

p, m = generate_params(extra_params={"TEST_DIRECTORIES": testdir1})

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=p,
                                           metadata=m)

# Fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #8
0
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_directories = [os.path.join(PREFIX, 'testdir1')]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1 = test_directories[0]

# Configurations

file_size_values = ['1KB', '100KB', '1MB', '10MB']

conf_params, conf_metadata = generate_params(extra_params={'REPORT_CHANGES': {'report_changes': 'yes'},
                                                           'TEST_DIRECTORIES': directory_str,
                                                           'FILE_SIZE_ENABLED': 'yes',
                                                           'DISK_QUOTA_ENABLED': 'no',
                                                           'DISK_QUOTA_LIMIT': '2KB',
                                                           'MODULE_NAME': __name__},
                                             apply_to_all=({'FILE_SIZE_LIMIT': file_size_elem}
                                                           for file_size_elem in file_size_values))

configurations = load_wazuh_configurations(configurations_path, __name__, params=conf_params, metadata=conf_metadata)


# Fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #9
0
directory_str = ','.join(test_directories)
testdir_reports, testdir_nodiff = test_directories
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
options = {CHECK_ALL}

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

conf_params, conf_metadata = generate_params(
    {
        'REPORT_CHANGES': {
            'report_changes': 'yes'
        },
        'TEST_DIRECTORIES': directory_str,
        'NODIFF_FILE': nodiff_file,
        'MODULE_NAME': __name__
    }, {
        'report_changes': 'yes',
        'test_directories': directory_str,
        'nodiff_file': nodiff_file,
        'module_name': __name__
    })
configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# fixtures


@pytest.fixture(scope='module', params=configurations)
test_directories = [os.path.join(PREFIX, 'testdir1'), os.path.join(PREFIX, 'testdir2')]

directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf_integrity_scan.yaml')
testdir1, testdir2 = test_directories

file_list = []
for i in range(3000):
    file_list.append(f'regular_{i}')

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

conf_params, conf_metadata = generate_params(extra_params={'TEST_DIRECTORIES': [testdir1, testdir2]},
                                             modes=['realtime', 'whodata'])

configurations = load_wazuh_configurations(configurations_path, __name__, params=conf_params, metadata=conf_metadata)


# fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


def extra_configuration_before_yield():
    # Create 3000 files before restarting Wazuh to make sure the integrity scan will not finish before testing
    for testdir in test_directories:
Example #11
0
                               REGULAR, EventChecker, check_time_travel,
                               create_file, delete_file, modify_file_content,
                               generate_params)
from wazuh_testing.tools import FileMonitor, load_wazuh_configurations, truncate_file

# variables

test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_hard_link.yaml')
testdir1 = os.path.join('/', 'testdir1')
test_directories = [testdir1]

# configurations

p, m = generate_params()

params, metadata = list(), list()
for check_inode in [{'check_inode': 'yes'}, {'check_inode': 'no'}]:
    for p_dict, m_dict in zip(p, m):
        p_dict['INODE'] = check_inode
        m_dict['inode'] = check_inode
        params.append(deepcopy(p_dict))
        metadata.append(deepcopy(m_dict))

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=params,
                                           metadata=metadata)

# fixtures
import pytest

from test_fim.test_follow_symbolic_link.common import configurations_path, testdir1, \
    modify_symlink, testdir_link, wait_for_symlink_check, wait_for_audit, test_directories, \
    extra_configuration_after_yield, extra_configuration_before_yield, testdir_target, testdir2
from wazuh_testing.fim import (generate_params, create_file, REGULAR, callback_detect_event,
                               check_time_travel, modify_file_content, LOG_FILE_PATH)
from wazuh_testing.tools import (check_apply_test,
                                 load_wazuh_configurations, FileMonitor)

# All tests in this module apply to linux and macos only
pytestmark = [pytest.mark.linux, pytest.mark.darwin]

# configurations

conf_params, conf_metadata = generate_params()
configurations = load_wazuh_configurations(configurations_path, __name__,
                                           params=conf_params,
                                           metadata=conf_metadata
                                           )

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)


# fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param
test_directories = [
    os.path.join(PREFIX, 'testdir1'),
    os.path.join(PREFIX, 'testdir2'),
    os.path.join(PREFIX, 'testdir1', 'subdir')
]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1, testdir2, testdir1_subdir = test_directories

# configurations

conf_params = {'TEST_DIRECTORIES': directory_str, 'MODULE_NAME': __name__}
conf_metadata = {'test_directories': directory_str, 'module_name': __name__}
p, m = generate_params(conf_params, conf_metadata, modes=['scheduled'])
configurations = load_wazuh_configurations(
    configurations_path,
    __name__,
    params=p,
    metadata=m,
)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param
test_directories = [os.path.join(PREFIX, 'testdir1'), os.path.join(PREFIX, 'testdir2')]

directory_str = ','.join(test_directories + [os.path.join(PREFIX, 'noexists')])

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1, testdir2 = test_directories

# configurations

monitoring_modes = ['scheduled']

conf_params = {'TEST_DIRECTORIES': directory_str, 'MODULE_NAME': __name__}
conf_metadata = {'test_directories': directory_str, 'module_name': __name__}
p, m = generate_params(conf_params, conf_metadata, modes=monitoring_modes)

configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)


# fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# tests

@pytest.mark.parametrize('folder', [
Example #15
0
# Marks

pytestmark = [pytest.mark.linux, pytest.mark.tier(level=1)]

# variables
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')

configurations_path = os.path.join(test_data_path,
                                   'wazuh_disabled_sync_conf.yaml')
test_directories = [os.path.join(PREFIX, 'testdir1')]
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

p, m = generate_params(extra_params={"TEST_DIRECTORIES": test_directories[0]})

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=p,
                                           metadata=m)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #16
0
pytestmark = [pytest.mark.linux, pytest.mark.tier(level=2)]

# Variables
test_directories = [os.path.join(PREFIX, 'testdir1')]

directory_str = ','.join(test_directories)
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf_whodata_thread.yaml')
testdir1 = test_directories[0]

# Configurations


p, m = generate_params(extra_params={"TEST_DIRECTORIES": testdir1}, modes=['whodata'])

configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)


# Fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# Tests
Example #17
0
# configurations

monitoring_modes = ['scheduled']
conf_params = {
    'PROJECT_ID': project_id,
    'SUBSCRIPTION_NAME': subscription_name,
    'CREDENTIALS_FILE': credentials_file,
    'INTERVAL': interval,
    'PULL_ON_START': pull_on_start,
    'MAX_MESSAGES': max_messages,
    'MODULE_NAME': __name__
}

p, m = generate_params(extra_params=conf_params,
                       apply_to_all=({
                           'LOGGING': logging_value
                       } for logging_value in logging),
                       modes=monitoring_modes)

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=p,
                                           metadata=m)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param
wazuh_log_monitor = FileMonitor(fim.LOG_FILE_PATH)

# Variables

fname = "testfile"
symlink_root_path = PREFIX
symlink_name = "symlink"
symlink_path = os.path.join(symlink_root_path, symlink_name)
link_interval = 2

param_dir = {'FOLLOW_MODE': 'yes', 'LINK_PATH': symlink_path}

# Configurations

conf_params, conf_metadata = fim.generate_params(extra_params=param_dir,
                                                 modes=['whodata'])
configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# Functions


def extra_configuration_before_yield():
    """
    Setup the symlink to one folder
    """
    # Symlink pointing to testdir1
    fim.create_file(fim.SYMLINK,
                    symlink_root_path,
Example #19
0
pytestmark = [pytest.mark.linux, pytest.mark.tier(level=1)]

# variables

test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
test_directories = [os.path.join('/', 'testdir1')]
force_restart_after_restoring = True

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

prefilter = '/usr/sbin/prelink -y'
conf_params, conf_metadata = generate_params(
    extra_params={'PREFILTER_CMD': prefilter})

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #20
0
timeout = DEFAULT_TIMEOUT


# Extra functions
def extra_configuration_before_yield():
    # Create files before starting the service
    create_file(REGULAR, testdir1, 'regular0', content='')
    create_file(REGULAR, testdir1, 'regular1', content='')
    create_file(REGULAR, testdir1, 'regular2', content='')


# Configurations

conf_params = {'TEST_DIRECTORIES': directory_str, 'MODULE_NAME': __name__}
conf_metadata = {'test_directories': directory_str, 'module_name': __name__}
p, m = generate_params(conf_params, conf_metadata)

configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)


# Fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# Tests

@pytest.mark.parametrize('filename', [
pytestmark = pytest.mark.tier(level=0)

# variables

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_directories = [os.path.join(PREFIX, 'testdir1'), os.path.join(PREFIX, 'testdir2'),
                    os.path.join(PREFIX, 'testdir1', 'subdir')]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1, testdir2, testdir1_subdir = test_directories

# configurations

conf_params = {'TEST_DIRECTORIES': directory_str, 'MODULE_NAME': __name__}
p, m = generate_params(extra_params=conf_params)
configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)


# fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# tests


@pytest.mark.parametrize('file, file_content, tags_to_apply', [
pytestmark = [pytest.mark.linux, pytest.mark.darwin]

# variables

test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
force_restart_after_restoring = True
monitoring_modes = ['scheduled']
test_directories = []

# configurations

priority_list = ['0', '4', '-5']

p, m = generate_params(modes=monitoring_modes)

params, metadata = list(), list()
for pr in priority_list:
    for p_dict, m_dict in zip(p, m):
        p_dict['PROCESS_PRIORITY'] = pr
        m_dict['process_priority'] = pr
        params.append(deepcopy(p_dict))
        metadata.append(deepcopy(m_dict))

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=params,
                                           metadata=metadata)

Example #23
0
pytestmark = [pytest.mark.tier(level=2), pytest.mark.linux, pytest.mark.win32]

# variables
test_directories = [os.path.join(PREFIX, 'testdir1')] * 2
directory_str = ','.join(test_directories)
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path,
                                   'wazuh_conf_dup_entries.yaml')
testdir1, _ = test_directories

# Configuration

p, m = generate_params(extra_params={
    'MODULE_NAME': __name__,
    'TEST_DIRECTORIES': directory_str
})

params, metadata = list(), list()
for mode in ['scheduled', 'realtime', 'whodata']:
    p_fim, m_fim = get_fim_mode_param(mode, key='FIM_MODE2')
    if p_fim:
        for p_dict, m_dict in zip(p, m):
            p_dict.update(p_fim.items())
            m_dict.update(m_fim.items())
            params.append(deepcopy(p_dict))
            metadata.append(deepcopy(m_dict))

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=params,
# variables
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')

configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')

test_directories = [os.path.join(PREFIX, 'testdir1')]

directory_str = ','.join(test_directories)
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
scan_days = ['thursday', 'wednesday', 'saturday', 'monday']
scan_times = ['9PM', '20:00', '12am', '12pm']

# configurations

p, m = generate_params(extra_params={'TEST_DIRECTORIES': directory_str, 'SCAN_DAY': scan_days, 'SCAN_TIME': scan_times},
                       modes=['scheduled'] * len(scan_days))

configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m)


# functions

def replace_date(date, days):
    """
    Add a number of days to the given date and calculates if it should change the month as well.

    Parameters
    ----------
    date : datetime
        Source date to be modified
    days : int
Example #25
0
from wazuh_testing import logger
from wazuh_testing.tools.configuration import load_wazuh_configurations, check_apply_test
from wazuh_testing.tools.monitoring import FileMonitor

# Marks

pytestmark = [
    pytest.mark.linux, pytest.mark.sunos5, pytest.mark.darwin,
    pytest.mark.tier(level=1)
]

wazuh_log_monitor = FileMonitor(fim.LOG_FILE_PATH)

# configurations

conf_params, conf_metadata = fim.generate_params(
    extra_params={'FOLLOW_MODE': 'yes'})
configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# tests
pytestmark = [pytest.mark.linux, pytest.mark.darwin, pytest.mark.sunos5, pytest.mark.tier(level=0)]

# variables

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_directories = [os.path.join(PREFIX, 'testdir1'), os.path.join(PREFIX, 'testdir2'),
                    os.path.join(PREFIX, 'testdir1', 'subdir')]
directory_str = ','.join(test_directories)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1, testdir2, testdir1_subdir = test_directories

# configurations

conf_params = {'TEST_DIRECTORIES': directory_str, 'MODULE_NAME': __name__}
p, m = generate_params(extra_params=conf_params, modes=['scheduled'])
configurations = load_wazuh_configurations(configurations_path, __name__, params=p, metadata=m, )


# fixtures

@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param


# tests

def extra_configuration_before_yield():
    create_file(REGULAR, testdir1, 'test_1', content='')
Example #27
0
monitoring_modes = ['scheduled']
conf_params = {
    'PROJECT_ID': project_id,
    'SUBSCRIPTION_NAME': subscription_name,
    'CREDENTIALS_FILE': credentials_file,
    'ENABLED': enabled,
    'PULL_ON_START': pull_on_start,
    'MAX_MESSAGES': max_messages,
    'INTERVAL': interval,
    'LOGGING': logging,
    'DAY': day,
    'WDAY': wday,
    'TIME': time,
    'MODULE_NAME': __name__
}
p, m = generate_params(extra_params=conf_params, modes=monitoring_modes)
configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=p,
                                           metadata=m)
force_restart_after_restoring = True

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #28
0
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir_modify, testdir_restore = test_directories
WAZUH_RULES = {
    'DELETE', 'WRITE_DAC', 'FILE_WRITE_DATA', 'FILE_WRITE_ATTRIBUTES'
}
previous_rules = set()

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

windows_audit_interval = 20
conf_params, conf_metadata = generate_params(extra_params={
    'TEST_DIRECTORIES':
    directory_str,
    'WINDOWS_AUDIT_INTERVAL':
    str(windows_audit_interval)
},
                                             modes=['whodata'])

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
Example #29
0
    test_data_path, 'wazuh_conf_complex_win32.yaml'
    if sys.platform == 'win32' else 'wazuh_conf_complex.yaml')
testdir = os.path.join(PREFIX, 'testdir')
subdir = 'subdir'
test_directories = [testdir]
for n in range(5):
    testdir = (os.path.join(testdir, subdir + str(n + 1)))
    test_directories.append(testdir)

tag = 'Sample_tag'

wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)

# configurations

conf_params, conf_metadata = generate_params(extra_params={'TAGS': tag})

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=conf_params,
                                           metadata=conf_metadata)

# fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param

Example #30
0
directory_str = ','.join(test_directories)
wazuh_log_monitor = FileMonitor(LOG_FILE_PATH)
test_data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                              'data')
configurations_path = os.path.join(test_data_path, 'wazuh_conf.yaml')
testdir1 = test_directories[0]
NUM_FILES = 10

# Configurations

file_limit_list = ['10']
conf_params = {'TEST_DIRECTORIES': testdir1, 'MODULE_NAME': __name__}

p, m = generate_params(extra_params=conf_params,
                       apply_to_all=({
                           'FILE_LIMIT': file_limit_elem
                       } for file_limit_elem in file_limit_list))

configurations = load_wazuh_configurations(configurations_path,
                                           __name__,
                                           params=p,
                                           metadata=m)

# Fixtures


@pytest.fixture(scope='module', params=configurations)
def get_configuration(request):
    """Get configurations from the module."""
    return request.param