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 six
|
||||
import testtools
|
||||
from testtools import matchers
|
||||
|
||||
from keystoneclient import exceptions
|
||||
@@ -72,11 +71,8 @@ class ClientTest(utils.TestCase):
|
||||
self.assertEqual(httpretty.last_request().method, 'GET')
|
||||
self.assertEqual(httpretty.last_request().path, '/hi')
|
||||
|
||||
req_headers = httpretty.last_request().headers
|
||||
|
||||
self.assertEqual(req_headers.getheader('X-Auth-Token'), 'token')
|
||||
self.assertEqual(req_headers.getheader('User-Agent'),
|
||||
httpclient.USER_AGENT)
|
||||
self.assertRequestHeaderEqual('X-Auth-Token', 'token')
|
||||
self.assertRequestHeaderEqual('User-Agent', httpclient.USER_AGENT)
|
||||
|
||||
# Automatic JSON parsing
|
||||
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().body, '[1, 2, 3]')
|
||||
|
||||
req_headers = httpretty.last_request().headers
|
||||
|
||||
self.assertEqual(req_headers.getheader('X-Auth-Token'), 'token')
|
||||
self.assertEqual(req_headers.getheader('Content-Type'),
|
||||
'application/json')
|
||||
self.assertEqual(req_headers.getheader('User-Agent'),
|
||||
httpclient.USER_AGENT)
|
||||
self.assertRequestHeaderEqual('X-Auth-Token', 'token')
|
||||
self.assertRequestHeaderEqual('Content-Type', 'application/json')
|
||||
self.assertRequestHeaderEqual('User-Agent', httpclient.USER_AGENT)
|
||||
|
||||
@httpretty.activate
|
||||
def test_forwarded_for(self):
|
||||
@@ -136,8 +128,8 @@ class ClientTest(utils.TestCase):
|
||||
self.stub_url(httpretty.GET)
|
||||
|
||||
cl.request(self.TEST_URL, 'GET')
|
||||
self.assertEqual(httpretty.last_request().headers['Forwarded'],
|
||||
"for=%s;by=%s" % (ORIGINAL_IP, httpclient.USER_AGENT))
|
||||
forwarded = "for=%s;by=%s" % (ORIGINAL_IP, httpclient.USER_AGENT)
|
||||
self.assertRequestHeaderEqual('Forwarded', forwarded)
|
||||
|
||||
def test_client_deprecated(self):
|
||||
# Can resolve symbols from the keystoneclient.client module.
|
||||
@@ -153,7 +145,7 @@ class ClientTest(utils.TestCase):
|
||||
client.HTTPClient
|
||||
|
||||
|
||||
class BasicRequestTests(testtools.TestCase):
|
||||
class BasicRequestTests(utils.TestCase):
|
||||
|
||||
url = 'http://keystone.test.com/'
|
||||
|
||||
@@ -196,7 +188,7 @@ class BasicRequestTests(testtools.TestCase):
|
||||
self.request(headers=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):
|
||||
self.assertThat(self.logger.debug_log,
|
||||
|
@@ -72,6 +72,15 @@ class TestCase(testtools.TestCase):
|
||||
def assertQueryStringIs(self, 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):
|
||||
|
||||
|
Reference in New Issue
Block a user