| from unittest.mock import MagicMock, patch |
| |
| import pytest |
| import yaml |
| from freezegun import freeze_time |
| |
| from .lava.helpers import generate_testsuite_result, jobs_logs_response |
| |
| |
| def pytest_configure(config): |
| config.addinivalue_line( |
| "markers", "slow: marks tests as slow (deselect with '-m \"not slow\"')" |
| ) |
| |
| @pytest.fixture |
| def mock_sleep(): |
| """Mock time.sleep to make test faster""" |
| with patch("time.sleep", return_value=None): |
| yield |
| |
| |
| @pytest.fixture |
| def frozen_time(mock_sleep): |
| with freeze_time() as frozen_time: |
| yield frozen_time |
| |
| |
| RESULT_GET_TESTJOB_RESULTS = [{"metadata": {"result": "test"}}] |
| |
| |
| @pytest.fixture |
| def mock_proxy(): |
| def create_proxy_mock( |
| job_results=RESULT_GET_TESTJOB_RESULTS, |
| testsuite_results=[generate_testsuite_result()], |
| **kwargs |
| ): |
| proxy_mock = MagicMock() |
| proxy_submit_mock = proxy_mock.scheduler.jobs.submit |
| proxy_submit_mock.return_value = "1234" |
| |
| proxy_results_mock = proxy_mock.results.get_testjob_results_yaml |
| proxy_results_mock.return_value = yaml.safe_dump(job_results) |
| |
| proxy_test_suites_mock = proxy_mock.results.get_testsuite_results_yaml |
| proxy_test_suites_mock.return_value = yaml.safe_dump(testsuite_results) |
| |
| proxy_logs_mock = proxy_mock.scheduler.jobs.logs |
| proxy_logs_mock.return_value = jobs_logs_response() |
| |
| for key, value in kwargs.items(): |
| setattr(proxy_logs_mock, key, value) |
| |
| return proxy_mock |
| |
| yield create_proxy_mock |