|
@ -19,44 +19,42 @@ from httmock import urlmatch, response, HTTMock, all_requests |
|
|
|
|
|
|
|
|
from ..connection import ConnectionManager |
|
|
from ..connection import ConnectionManager |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try: |
|
|
try: |
|
|
import unittest |
|
|
import unittest |
|
|
except ImportError: |
|
|
except ImportError: |
|
|
import unittest2 as unittest |
|
|
import unittest2 as unittest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestConnection(unittest.TestCase): |
|
|
class TestConnection(unittest.TestCase): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def setUp(self): |
|
|
def setUp(self): |
|
|
self._conn = ConnectionManager( |
|
|
self._conn = ConnectionManager( |
|
|
base_url="http://localhost/", |
|
|
|
|
|
headers={}, |
|
|
|
|
|
timeout=60) |
|
|
|
|
|
|
|
|
base_url="http://localhost/", |
|
|
|
|
|
headers={}, |
|
|
|
|
|
timeout=60) |
|
|
|
|
|
|
|
|
@all_requests |
|
|
@all_requests |
|
|
def response_content_success(self, url, request): |
|
|
def response_content_success(self, url, request): |
|
|
headers = {'content-type': 'application/json'} |
|
|
headers = {'content-type': 'application/json'} |
|
|
content = b'response_ok' |
|
|
content = b'response_ok' |
|
|
return response(200, content, headers, None, 5, request) |
|
|
return response(200, content, headers, None, 5, request) |
|
|
|
|
|
|
|
|
def test_raw_get(self): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_raw_get(self): |
|
|
with HTTMock(self.response_content_success): |
|
|
with HTTMock(self.response_content_success): |
|
|
resp = self._conn.raw_get("/known_path") |
|
|
resp = self._conn.raw_get("/known_path") |
|
|
self.assertEqual(resp.content, b'response_ok') |
|
|
self.assertEqual(resp.content, b'response_ok') |
|
|
self.assertEqual(resp.status_code, 200) |
|
|
|
|
|
|
|
|
self.assertEqual(resp.status_code, 200) |
|
|
|
|
|
|
|
|
def test_raw_post(self): |
|
|
def test_raw_post(self): |
|
|
|
|
|
|
|
|
@urlmatch(path="/known_path", method="post") |
|
|
@urlmatch(path="/known_path", method="post") |
|
|
def response_post_success(url, request): |
|
|
def response_post_success(url, request): |
|
|
headers = {'content-type': 'application/json'} |
|
|
headers = {'content-type': 'application/json'} |
|
|
content = 'response'.encode("utf-8") |
|
|
content = 'response'.encode("utf-8") |
|
|
return response(201, content, headers, None, 5, request) |
|
|
return response(201, content, headers, None, 5, request) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with HTTMock(response_post_success): |
|
|
with HTTMock(response_post_success): |
|
|
resp = self._conn.raw_post("/known_path", |
|
|
resp = self._conn.raw_post("/known_path", |
|
|
{'field': 'value'}) |
|
|
|
|
|
|
|
|
{'field': 'value'}) |
|
|
self.assertEqual(resp.content, b'response') |
|
|
self.assertEqual(resp.content, b'response') |
|
|
self.assertEqual(resp.status_code, 201) |
|
|
self.assertEqual(resp.status_code, 201) |
|
|
|
|
|
|
|
@ -69,32 +67,30 @@ class TestConnection(unittest.TestCase): |
|
|
|
|
|
|
|
|
with HTTMock(response_put_success): |
|
|
with HTTMock(response_put_success): |
|
|
resp = self._conn.raw_put("/known_path", |
|
|
resp = self._conn.raw_put("/known_path", |
|
|
{'field': 'value'}) |
|
|
|
|
|
|
|
|
{'field': 'value'}) |
|
|
self.assertEqual(resp.content, b'response') |
|
|
self.assertEqual(resp.content, b'response') |
|
|
self.assertEqual(resp.status_code, 200) |
|
|
self.assertEqual(resp.status_code, 200) |
|
|
|
|
|
|
|
|
def test_raw_get_fail(self): |
|
|
def test_raw_get_fail(self): |
|
|
|
|
|
|
|
|
@urlmatch(netloc="localhost", path="/known_path", method="get") |
|
|
@urlmatch(netloc="localhost", path="/known_path", method="get") |
|
|
def response_get_fail(url, request): |
|
|
def response_get_fail(url, request): |
|
|
headers = {'content-type': 'application/json'} |
|
|
headers = {'content-type': 'application/json'} |
|
|
content = "404 page not found".encode("utf-8") |
|
|
content = "404 page not found".encode("utf-8") |
|
|
return response(404, content, headers, None, 5, request) |
|
|
return response(404, content, headers, None, 5, request) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with HTTMock(response_get_fail): |
|
|
with HTTMock(response_get_fail): |
|
|
resp = self._conn.raw_get("/known_path") |
|
|
resp = self._conn.raw_get("/known_path") |
|
|
|
|
|
|
|
|
self.assertEqual(resp.content, b"404 page not found") |
|
|
self.assertEqual(resp.content, b"404 page not found") |
|
|
self.assertEqual(resp.status_code, 404) |
|
|
|
|
|
|
|
|
|
|
|
def test_raw_post_fail(self): |
|
|
|
|
|
|
|
|
self.assertEqual(resp.status_code, 404) |
|
|
|
|
|
|
|
|
|
|
|
def test_raw_post_fail(self): |
|
|
@urlmatch(netloc="localhost", path="/known_path", method="post") |
|
|
@urlmatch(netloc="localhost", path="/known_path", method="post") |
|
|
def response_post_fail(url, request): |
|
|
def response_post_fail(url, request): |
|
|
headers = {'content-type': 'application/json'} |
|
|
headers = {'content-type': 'application/json'} |
|
|
content = str(["Start can't be blank"]).encode("utf-8") |
|
|
content = str(["Start can't be blank"]).encode("utf-8") |
|
|
return response(404, content, headers, None, 5, request) |
|
|
return response(404, content, headers, None, 5, request) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with HTTMock(response_post_fail): |
|
|
with HTTMock(response_post_fail): |
|
|
resp = self._conn.raw_post("/known_path", |
|
|
resp = self._conn.raw_post("/known_path", |
|
|
{'field': 'value'}) |
|
|
{'field': 'value'}) |
|
@ -102,7 +98,6 @@ class TestConnection(unittest.TestCase): |
|
|
self.assertEqual(resp.status_code, 404) |
|
|
self.assertEqual(resp.status_code, 404) |
|
|
|
|
|
|
|
|
def test_raw_put_fail(self): |
|
|
def test_raw_put_fail(self): |
|
|
|
|
|
|
|
|
@urlmatch(netloc="localhost", path="/known_path", method="put") |
|
|
@urlmatch(netloc="localhost", path="/known_path", method="put") |
|
|
def response_put_fail(url, request): |
|
|
def response_put_fail(url, request): |
|
|
headers = {'content-type': 'application/json'} |
|
|
headers = {'content-type': 'application/json'} |
|
@ -124,7 +119,7 @@ class TestConnection(unittest.TestCase): |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.del_param_headers("test") |
|
|
self._conn.del_param_headers("test") |
|
|
self.assertEqual(self._conn.headers, {}) |
|
|
self.assertEqual(self._conn.headers, {}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_clean_param_headers(self): |
|
|
def test_clean_param_headers(self): |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self.assertEqual(self._conn.headers, |
|
|
self.assertEqual(self._conn.headers, |
|
@ -136,12 +131,12 @@ class TestConnection(unittest.TestCase): |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self.assertTrue(self._conn.exist_param_headers("test")) |
|
|
self.assertTrue(self._conn.exist_param_headers("test")) |
|
|
self.assertFalse(self._conn.exist_param_headers("test_no")) |
|
|
self.assertFalse(self._conn.exist_param_headers("test_no")) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_param_headers(self): |
|
|
def test_get_param_headers(self): |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self.assertTrue(self._conn.exist_param_headers("test")) |
|
|
self.assertTrue(self._conn.exist_param_headers("test")) |
|
|
self.assertFalse(self._conn.exist_param_headers("test_no")) |
|
|
self.assertFalse(self._conn.exist_param_headers("test_no")) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_headers(self): |
|
|
def test_get_headers(self): |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self._conn.add_param_headers("test", "value") |
|
|
self.assertEqual(self._conn.headers, |
|
|
self.assertEqual(self._conn.headers, |
|
|