import requests from unittest.mock import Mock from labelaudit.lib.vapi.api_client import ApiClient def build_api_client(): base_url = 'http://api.notreal.com' access_token = 'my-access-token' return ApiClient(base_url, access_token) def test_request_args(): api_client = build_api_client() requests.request = Mock() api_client.request('get', 'endpoint') requests.request.assert_called_with( 'get', 'http://api.notreal.com/endpoint', headers={ 'access-token': 'my-access-token', 'version': ApiClient.API_VERSION } ) def test_request_response(): api_client = build_api_client() mock_response = Mock(status_code=200) requests.request = Mock(return_value=mock_response) assert api_client.request('get', 'endpoint') == mock_response def test_get_calls_request(): api_client = build_api_client() api_client.request = Mock() api_client.get('endpoint', foo='bar') api_client.request.assert_called_with('get', 'endpoint', foo='bar') def test_post_calls_request(): api_client = build_api_client() api_client.request = Mock() api_client.post('endpoint', foo='bar') api_client.request.assert_called_with('post', 'endpoint', foo='bar') def test_put_calls_request(): api_client = build_api_client() api_client.request = Mock() api_client.put('endpoint', foo='bar') api_client.request.assert_called_with('put', 'endpoint', foo='bar') def test_delete_calls_request(): api_client = build_api_client() api_client.request = Mock() api_client.delete('endpoint', foo='bar') api_client.request.assert_called_with('delete', 'endpoint', foo='bar')