56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
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
|