sintonia/python_apps/api_clients/tests/test_apirequest.py

27 lines
874 B
Python

import unittest
import json
from mock import MagicMock, patch
from api_clients.api_client import ApcUrl, ApiRequest
class ResponseInfo:
def get_content_type(self):
return 'application/json'
class TestApiRequest(unittest.TestCase):
def test_init(self):
u = ApiRequest('request_name', ApcUrl('/test/ing'))
self.assertEqual(u.name, "request_name")
def test_call(self):
ret = json.dumps( {'ok':'ok'} )
read = MagicMock()
read.read = MagicMock(return_value=ret)
read.info = MagicMock(return_value=ResponseInfo())
u = 'http://localhost/testing'
with patch('urllib.request.urlopen') as mock_method:
mock_method.return_value = read
request = ApiRequest('mm', ApcUrl(u))()
self.assertEqual(request, json.loads(ret))
if __name__ == '__main__': unittest.main()