dockercloud

This commit is contained in:
tifayuki 2016-01-14 13:12:51 +01:00
commit 2d9586a8a1
41 changed files with 2701 additions and 2 deletions

33
tests/test_http.py Normal file
View file

@ -0,0 +1,33 @@
from __future__ import absolute_import
import unittest
import requests
import unittest.mock as mock
import dockercloud
from dockercloud.api.base import send_request
from .fake_api import fake_resp
class SendRequestTestCase(unittest.TestCase):
@mock.patch('dockercloud.api.http.Request', return_value=requests.Request('GET', 'http://fake.com'))
@mock.patch.object(dockercloud.api.http.Session, 'send')
def test_http_send_request(self, mock_send, mock_Request):
json_obj = {'key': 'value'}
mock_send.return_value = fake_resp(lambda: (None, json_obj))
self.assertRaises(dockercloud.ApiError, send_request, 'METHOD', 'path', data='data')
headers = {'Content-Type': 'application/json', 'User-Agent': 'python-dockercloud/%s' % dockercloud.__version__}
headers.update(dockercloud.auth.get_auth_header())
mock_send.return_value = fake_resp(lambda: (200, json_obj))
self.assertEqual(json_obj, send_request('METHOD', 'path'))
mock_send.return_value = fake_resp(lambda: (204, json_obj))
self.assertIsNone(send_request('METHOD', 'path'))
mock_send.return_value = fake_resp(lambda: (401, json_obj))
self.assertRaises(dockercloud.AuthError, send_request, 'METHOD', 'path')
mock_send.return_value = fake_resp(lambda: (500, json_obj))
self.assertRaises(dockercloud.ApiError, send_request, 'METHOD', 'path')