Add AssertRequestHeaderEqual test helper and make use of it
This will be a fairly common pattern and so should be a helper of its own. Change-Id: Ic06add6dfe40c7d3ab88dfdd99a9087fdebd9b67
This commit is contained in:
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
import httpretty
|
import httpretty
|
||||||
import six
|
import six
|
||||||
import testtools
|
|
||||||
from testtools import matchers
|
from testtools import matchers
|
||||||
|
|
||||||
from keystoneclient import exceptions
|
from keystoneclient import exceptions
|
||||||
@@ -72,11 +71,8 @@ class ClientTest(utils.TestCase):
|
|||||||
self.assertEqual(httpretty.last_request().method, 'GET')
|
self.assertEqual(httpretty.last_request().method, 'GET')
|
||||||
self.assertEqual(httpretty.last_request().path, '/hi')
|
self.assertEqual(httpretty.last_request().path, '/hi')
|
||||||
|
|
||||||
req_headers = httpretty.last_request().headers
|
self.assertRequestHeaderEqual('X-Auth-Token', 'token')
|
||||||
|
self.assertRequestHeaderEqual('User-Agent', httpclient.USER_AGENT)
|
||||||
self.assertEqual(req_headers.getheader('X-Auth-Token'), 'token')
|
|
||||||
self.assertEqual(req_headers.getheader('User-Agent'),
|
|
||||||
httpclient.USER_AGENT)
|
|
||||||
|
|
||||||
# Automatic JSON parsing
|
# Automatic JSON parsing
|
||||||
self.assertEqual(body, {"hi": "there"})
|
self.assertEqual(body, {"hi": "there"})
|
||||||
@@ -118,13 +114,9 @@ class ClientTest(utils.TestCase):
|
|||||||
self.assertEqual(httpretty.last_request().method, 'POST')
|
self.assertEqual(httpretty.last_request().method, 'POST')
|
||||||
self.assertEqual(httpretty.last_request().body, '[1, 2, 3]')
|
self.assertEqual(httpretty.last_request().body, '[1, 2, 3]')
|
||||||
|
|
||||||
req_headers = httpretty.last_request().headers
|
self.assertRequestHeaderEqual('X-Auth-Token', 'token')
|
||||||
|
self.assertRequestHeaderEqual('Content-Type', 'application/json')
|
||||||
self.assertEqual(req_headers.getheader('X-Auth-Token'), 'token')
|
self.assertRequestHeaderEqual('User-Agent', httpclient.USER_AGENT)
|
||||||
self.assertEqual(req_headers.getheader('Content-Type'),
|
|
||||||
'application/json')
|
|
||||||
self.assertEqual(req_headers.getheader('User-Agent'),
|
|
||||||
httpclient.USER_AGENT)
|
|
||||||
|
|
||||||
@httpretty.activate
|
@httpretty.activate
|
||||||
def test_forwarded_for(self):
|
def test_forwarded_for(self):
|
||||||
@@ -136,8 +128,8 @@ class ClientTest(utils.TestCase):
|
|||||||
self.stub_url(httpretty.GET)
|
self.stub_url(httpretty.GET)
|
||||||
|
|
||||||
cl.request(self.TEST_URL, 'GET')
|
cl.request(self.TEST_URL, 'GET')
|
||||||
self.assertEqual(httpretty.last_request().headers['Forwarded'],
|
forwarded = "for=%s;by=%s" % (ORIGINAL_IP, httpclient.USER_AGENT)
|
||||||
"for=%s;by=%s" % (ORIGINAL_IP, httpclient.USER_AGENT))
|
self.assertRequestHeaderEqual('Forwarded', forwarded)
|
||||||
|
|
||||||
def test_client_deprecated(self):
|
def test_client_deprecated(self):
|
||||||
# Can resolve symbols from the keystoneclient.client module.
|
# Can resolve symbols from the keystoneclient.client module.
|
||||||
@@ -153,7 +145,7 @@ class ClientTest(utils.TestCase):
|
|||||||
client.HTTPClient
|
client.HTTPClient
|
||||||
|
|
||||||
|
|
||||||
class BasicRequestTests(testtools.TestCase):
|
class BasicRequestTests(utils.TestCase):
|
||||||
|
|
||||||
url = 'http://keystone.test.com/'
|
url = 'http://keystone.test.com/'
|
||||||
|
|
||||||
@@ -196,7 +188,7 @@ class BasicRequestTests(testtools.TestCase):
|
|||||||
self.request(headers=headers)
|
self.request(headers=headers)
|
||||||
|
|
||||||
for k, v in six.iteritems(headers):
|
for k, v in six.iteritems(headers):
|
||||||
self.assertEqual(httpretty.last_request().headers[k], v)
|
self.assertRequestHeaderEqual(k, v)
|
||||||
|
|
||||||
for header in six.iteritems(headers):
|
for header in six.iteritems(headers):
|
||||||
self.assertThat(self.logger.debug_log,
|
self.assertThat(self.logger.debug_log,
|
||||||
|
@@ -72,6 +72,15 @@ class TestCase(testtools.TestCase):
|
|||||||
def assertQueryStringIs(self, val):
|
def assertQueryStringIs(self, val):
|
||||||
self.assertEqual(httpretty.last_request().querystring, val)
|
self.assertEqual(httpretty.last_request().querystring, val)
|
||||||
|
|
||||||
|
def assertRequestHeaderEqual(self, name, val):
|
||||||
|
"""Verify that the last request made contains a header and its value
|
||||||
|
|
||||||
|
The request must have already been made and httpretty must have been
|
||||||
|
activated for the request.
|
||||||
|
"""
|
||||||
|
headers = httpretty.last_request().headers
|
||||||
|
self.assertEqual(headers.getheader(name), val)
|
||||||
|
|
||||||
|
|
||||||
if tuple(sys.version_info)[0:2] < (2, 7):
|
if tuple(sys.version_info)[0:2] < (2, 7):
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user