Make assertQueryStringIs usage simpler
As requested in https://review.openstack.org/#/c/65728/, this "fixes" assertQueryStringIs so it takes a query string, rather than a dict of lists, which is a less convenient format in many tests. Change-Id: Ib4c49ba71f7e12bb5bcb4dfde77974f3418c7854
This commit is contained in:
@@ -19,6 +19,7 @@ import httpretty
|
||||
import mock
|
||||
from mox3 import mox
|
||||
import requests
|
||||
from six.moves.urllib import parse as urlparse
|
||||
import testtools
|
||||
|
||||
from keystoneclient.openstack.common import jsonutils
|
||||
@@ -69,8 +70,13 @@ class TestCase(testtools.TestCase):
|
||||
elif body:
|
||||
self.assertEqual(body, httpretty.last_request().body)
|
||||
|
||||
def assertQueryStringIs(self, val):
|
||||
self.assertEqual(httpretty.last_request().querystring, val)
|
||||
def assertQueryStringIs(self, qs=''):
|
||||
"""Verify the QueryString matches what is expected.
|
||||
|
||||
The qs parameter should be of the format \'foo=bar&abc=xyz\'
|
||||
"""
|
||||
expected = urlparse.parse_qs(qs)
|
||||
self.assertEqual(expected, httpretty.last_request().querystring)
|
||||
|
||||
def assertRequestHeaderEqual(self, name, val):
|
||||
"""Verify that the last request made contains a header and its value
|
||||
|
@@ -141,7 +141,7 @@ class TenantTests(utils.TestCase):
|
||||
self.stub_url(httpretty.GET, ['tenants'], json=self.TEST_TENANTS)
|
||||
|
||||
tenant_list = self.client.tenants.list(limit=1)
|
||||
self.assertQueryStringIs({'limit': ['1']})
|
||||
self.assertQueryStringIs('limit=1')
|
||||
[self.assertTrue(isinstance(t, tenants.Tenant)) for t in tenant_list]
|
||||
|
||||
@httpretty.activate
|
||||
@@ -149,7 +149,7 @@ class TenantTests(utils.TestCase):
|
||||
self.stub_url(httpretty.GET, ['tenants'], json=self.TEST_TENANTS)
|
||||
|
||||
tenant_list = self.client.tenants.list(marker=1)
|
||||
self.assertQueryStringIs({'marker': ['1']})
|
||||
self.assertQueryStringIs('marker=1')
|
||||
[self.assertTrue(isinstance(t, tenants.Tenant)) for t in tenant_list]
|
||||
|
||||
@httpretty.activate
|
||||
@@ -157,7 +157,7 @@ class TenantTests(utils.TestCase):
|
||||
self.stub_url(httpretty.GET, ['tenants'], json=self.TEST_TENANTS)
|
||||
|
||||
tenant_list = self.client.tenants.list(limit=1, marker=1)
|
||||
self.assertQueryStringIs({'marker': ['1'], 'limit': ['1']})
|
||||
self.assertQueryStringIs('marker=1&limit=1')
|
||||
[self.assertTrue(isinstance(t, tenants.Tenant)) for t in tenant_list]
|
||||
|
||||
@httpretty.activate
|
||||
|
@@ -258,9 +258,9 @@ class CrudTests(object):
|
||||
'Expected different %s' % attr)
|
||||
|
||||
if hasattr(ref, 'name'):
|
||||
self.assertQueryStringIs({'name': ref['name']})
|
||||
self.assertQueryStringIs('name=%s' % ref['name'])
|
||||
else:
|
||||
self.assertQueryStringIs({})
|
||||
self.assertQueryStringIs('')
|
||||
|
||||
@httpretty.activate
|
||||
def test_update(self, ref=None, req_ref=None):
|
||||
|
Reference in New Issue
Block a user