def test_aget_dict(mocker): from jenkins_epo.github import CustomGitHub aiohttp = mocker.patch('jenkins_epo.github.aiohttp') session = aiohttp.ClientSession.return_value response = Mock(spec=['headers', 'json', 'status']) session.get = CoroutineMock(return_value=response) response.status = 200 response.content_type = 'application/json' response.headers = {'ETag': 'cafed0d0'} response.json = CoroutineMock(return_value={'data': 1}) GITHUB = CustomGitHub(access_token='cafed0d0') res = yield from GITHUB.user.aget(per_page='100') assert res._headers assert 'data' in res
def mock_request_response( controller, json={}, status=200, content_type="application/json", headers=None, ): mock_response = Mock() mock_response.json.return_value = asyncio.Future() mock_response.json.return_value.set_result(json) mock_response.status = status mock_response.content_type = content_type mock_response.headers = headers controller.session.request.return_value.__aenter__.side_effect = Mock( return_value=mock_response)
def test_apost(mocker): from jenkins_epo.github import CustomGitHub, ApiError aiohttp = mocker.patch('jenkins_epo.github.aiohttp') session = aiohttp.ClientSession.return_value response = Mock(spec=['headers', 'json', 'status']) session.post = CoroutineMock(return_value=response) response.status = 304 response.content_type = 'application/json' response.headers = {'ETag': 'cafed0d0'} response.json = CoroutineMock(return_value={'message': 'Not found'}) GITHUB = CustomGitHub(access_token='cafed0d0') with pytest.raises(ApiError): yield from GITHUB.user.apost(pouet=True)
def test_aget_html(mocker): from jenkins_epo.github import CustomGitHub aiohttp = mocker.patch('jenkins_epo.github.aiohttp') session = aiohttp.ClientSession.return_value response = Mock(spec=['headers', 'read', 'status']) session.get = CoroutineMock(return_value=response) response.status = 200 response.content_type = 'text/html' response.headers = {'ETag': 'cafed0d0'} response.read = CoroutineMock(return_value='<!DOCTYPE') GITHUB = CustomGitHub(access_token='cafed0d0') with pytest.raises(Exception): yield from GITHUB.user.aget() assert response.read.mock_calls
def test_aget_422(mocker): from jenkins_epo.github import CustomGitHub, ApiError aiohttp = mocker.patch('jenkins_epo.github.aiohttp') session = aiohttp.ClientSession.return_value response = Mock(spec=['headers', 'json', 'status']) session.get = CoroutineMock(return_value=response) response.status = 422 response.headers = {} response.content_type = 'application/json' response.json = CoroutineMock( return_value={'errors': [{'message': 'Pouet'}]}, ) GITHUB = CustomGitHub(access_token='cafed0d0') with pytest.raises(ApiError): yield from GITHUB.user.aget()
def test_get(mocker): ClientSession = mocker.patch('jenkins_epo.rest.aiohttp.ClientSession') from jenkins_epo.rest import Client client = Client() client = client('http://jenkins/path').subpath session = ClientSession.return_value response = Mock(name='response') response.content_type = 'text/x-python' session.get = CoroutineMock(return_value=response) response.read = CoroutineMock(return_value=repr(dict( unittest=True)).encode('utf-8')) payload = yield from client.aget(param=1) assert payload['unittest']
def test_get(mocker): ClientSession = mocker.patch('jenkins_epo.rest.aiohttp.ClientSession') from jenkins_epo.rest import Client client = Client() client = client('http://jenkins/path').subpath session = ClientSession.return_value response = Mock(name='response') response.content_type = 'text/x-python' session.get = CoroutineMock(return_value=response) response.read = CoroutineMock( return_value=repr(dict(unittest=True)).encode('utf-8') ) payload = yield from client.aget(param=1) assert payload['unittest']