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()