from unittest.mock import patch from pytest import fixture from .client import request def test_discord_request(sample, _response): assert _response == sample.response def test_discord_request_client_setup(sample, mock_get_request_client, _response): mock_get_request_client.assert_called_once_with( base_url = sample.base_url, headers = { 'Authorization': f'bearer {sample.api_token}' }, ) ##################################################################### @fixture(name='_response') def fixture_response(sample): return request( method = sample.method, endpoint = sample.endpoint, **sample.payload, ) ##################################################################### @fixture(name='mock_get_request_client', autouse=True) def fixture_mock_get_request_client(sample): with patch('scwrypts.http.linear.client.get_request_client') as mock: mock.return_value = lambda method, endpoint, **kwargs: sample.response yield mock @fixture(name='mock_getenv', autouse=True) def fixture_mock_getenv(sample): with patch('scwrypts.http.linear.client.getenv',) as mock: mock.side_effect = lambda name, **kwargs: { 'LINEAR__API_TOKEN': sample.api_token, }[name] yield mock