From e88afc046b2ab833a307869d775b820252341612 Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Tue, 4 Oct 2016 18:10:06 +1100 Subject: [PATCH] Clean up requests-mock usage In line with other clients testing we've found that having the requests-mock fixture at self.requests can be misleading for new people as it looks like you're calling requests itself. Also make use of some of the new features of requests-mock like query parsing, json handling, method names. Change-Id: Id61b88c53478d49f91c3f880ed5b90d638051ba0 --- novaclient/tests/unit/fixture_data/agents.py | 18 +- .../tests/unit/fixture_data/aggregates.py | 28 +-- .../unit/fixture_data/availability_zones.py | 12 +- novaclient/tests/unit/fixture_data/base.py | 4 +- novaclient/tests/unit/fixture_data/certs.py | 12 +- novaclient/tests/unit/fixture_data/client.py | 16 +- .../tests/unit/fixture_data/cloudpipe.py | 20 +- .../tests/unit/fixture_data/fixedips.py | 13 +- .../tests/unit/fixture_data/floatingips.py | 118 +++++---- novaclient/tests/unit/fixture_data/fping.py | 12 +- novaclient/tests/unit/fixture_data/hosts.py | 73 +++--- .../tests/unit/fixture_data/hypervisors.py | 42 ++-- novaclient/tests/unit/fixture_data/images.py | 32 ++- .../tests/unit/fixture_data/keypairs.py | 27 +-- novaclient/tests/unit/fixture_data/limits.py | 6 +- .../tests/unit/fixture_data/networks.py | 35 ++- novaclient/tests/unit/fixture_data/quotas.py | 34 +-- .../unit/fixture_data/security_group_rules.py | 23 +- .../unit/fixture_data/security_groups.py | 39 ++- .../tests/unit/fixture_data/server_groups.py | 20 +- .../unit/fixture_data/server_migrations.py | 26 +- novaclient/tests/unit/fixture_data/servers.py | 225 ++++++++---------- novaclient/tests/unit/utils.py | 14 +- novaclient/tests/unit/v2/test_agents.py | 6 +- novaclient/tests/unit/v2/test_hypervisors.py | 5 +- novaclient/tests/unit/v2/test_servers.py | 24 +- 26 files changed, 416 insertions(+), 468 deletions(-) diff --git a/novaclient/tests/unit/fixture_data/agents.py b/novaclient/tests/unit/fixture_data/agents.py index 46a0bb67b..44cbd9343 100644 --- a/novaclient/tests/unit/fixture_data/agents.py +++ b/novaclient/tests/unit/fixture_data/agents.py @@ -32,9 +32,9 @@ class Fixture(base.Fixture): } } - self.requests.register_uri('POST', self.url(), - json=post_os_agents, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=post_os_agents, + headers=self.json_headers) put_os_agents_1 = { "agent": { @@ -45,10 +45,10 @@ class Fixture(base.Fixture): } } - self.requests.register_uri('PUT', self.url(1), - json=put_os_agents_1, - headers=self.json_headers) + self.requests_mock.put(self.url(1), + json=put_os_agents_1, + headers=self.json_headers) - self.requests.register_uri('DELETE', self.url(1), - headers=self.json_headers, - status_code=202) + self.requests_mock.delete(self.url(1), + headers=self.json_headers, + status_code=202) diff --git a/novaclient/tests/unit/fixture_data/aggregates.py b/novaclient/tests/unit/fixture_data/aggregates.py index 96c3d2072..3ea64b8b7 100644 --- a/novaclient/tests/unit/fixture_data/aggregates.py +++ b/novaclient/tests/unit/fixture_data/aggregates.py @@ -29,25 +29,25 @@ class Fixture(base.Fixture): 'availability_zone': 'nova1'}, ]} - self.requests.register_uri('GET', self.url(), - json=get_os_aggregates, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_aggregates, + headers=self.json_headers) get_aggregates_1 = {'aggregate': get_os_aggregates['aggregates'][0]} - self.requests.register_uri('POST', self.url(), - json=get_aggregates_1, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=get_aggregates_1, + headers=self.json_headers) for agg_id in (1, 2): for method in ('GET', 'PUT'): - self.requests.register_uri(method, self.url(agg_id), - json=get_aggregates_1, - headers=self.json_headers) + self.requests_mock.register_uri(method, self.url(agg_id), + json=get_aggregates_1, + headers=self.json_headers) - self.requests.register_uri('POST', self.url(agg_id, 'action'), - json=get_aggregates_1, - headers=self.json_headers) + self.requests_mock.post(self.url(agg_id, 'action'), + json=get_aggregates_1, + headers=self.json_headers) - self.requests.register_uri('DELETE', self.url(1), status_code=202, - headers=self.json_headers) + self.requests_mock.delete(self.url(1), status_code=202, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/availability_zones.py b/novaclient/tests/unit/fixture_data/availability_zones.py index 36659d70a..da1619019 100644 --- a/novaclient/tests/unit/fixture_data/availability_zones.py +++ b/novaclient/tests/unit/fixture_data/availability_zones.py @@ -39,9 +39,9 @@ class V1(base.Fixture): ] } - self.requests.register_uri('GET', self.url(), - json=get_os_availability_zone, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_availability_zone, + headers=self.json_headers) get_os_zone_detail = { self.zone_info_key: [ @@ -86,6 +86,6 @@ class V1(base.Fixture): ] } - self.requests.register_uri('GET', self.url('detail'), - json=get_os_zone_detail, - headers=self.json_headers) + self.requests_mock.get(self.url('detail'), + json=get_os_zone_detail, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/base.py b/novaclient/tests/unit/fixture_data/base.py index 899a60929..6580787a9 100644 --- a/novaclient/tests/unit/fixture_data/base.py +++ b/novaclient/tests/unit/fixture_data/base.py @@ -24,9 +24,9 @@ class Fixture(fixtures.Fixture): json_headers = {'Content-Type': 'application/json', 'x-openstack-request-id': fakes.FAKE_REQUEST_ID} - def __init__(self, requests, compute_url=COMPUTE_URL): + def __init__(self, requests_mock, compute_url=COMPUTE_URL): super(Fixture, self).__init__() - self.requests = requests + self.requests_mock = requests_mock self.compute_url = compute_url def url(self, *args, **kwargs): diff --git a/novaclient/tests/unit/fixture_data/certs.py b/novaclient/tests/unit/fixture_data/certs.py index 1dedaa4a3..5bc419e56 100644 --- a/novaclient/tests/unit/fixture_data/certs.py +++ b/novaclient/tests/unit/fixture_data/certs.py @@ -40,9 +40,9 @@ class Fixture(base.Fixture): 'data': 'foo' } } - self.requests.register_uri('GET', self.url('root'), - json=get_os_certificate, - headers=self.json_headers) + self.requests_mock.get(self.url('root'), + json=get_os_certificate, + headers=self.json_headers) post_os_certificates = { 'certificate': { @@ -50,6 +50,6 @@ class Fixture(base.Fixture): 'data': 'bar' } } - self.requests.register_uri('POST', self.url(), - json=post_os_certificates, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=post_os_certificates, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/client.py b/novaclient/tests/unit/fixture_data/client.py index d4d602073..7bfaf4cc3 100644 --- a/novaclient/tests/unit/fixture_data/client.py +++ b/novaclient/tests/unit/fixture_data/client.py @@ -23,13 +23,13 @@ COMPUTE_URL = 'http://compute.host' class V1(fixtures.Fixture): - def __init__(self, requests, + def __init__(self, requests_mock, compute_url=COMPUTE_URL, identity_url=IDENTITY_URL): super(V1, self).__init__() self.identity_url = identity_url self.compute_url = compute_url self.client = None - self.requests = requests + self.requests_mock = requests_mock self.token = fixture.V2Token() self.token.set_scope() @@ -46,12 +46,12 @@ class V1(fixtures.Fixture): auth_url = '%s/tokens' % self.identity_url headers = {'X-Content-Type': 'application/json'} - self.requests.register_uri('POST', auth_url, - json=self.token, - headers=headers) - self.requests.register_uri('GET', self.identity_url, - json=self.discovery, - headers=headers) + self.requests_mock.post(auth_url, + json=self.token, + headers=headers) + self.requests_mock.get(self.identity_url, + json=self.discovery, + headers=headers) self.client = self.new_client() def new_client(self): diff --git a/novaclient/tests/unit/fixture_data/cloudpipe.py b/novaclient/tests/unit/fixture_data/cloudpipe.py index abe590563..b19e24342 100644 --- a/novaclient/tests/unit/fixture_data/cloudpipe.py +++ b/novaclient/tests/unit/fixture_data/cloudpipe.py @@ -21,17 +21,17 @@ class Fixture(base.Fixture): super(Fixture, self).setUp() get_os_cloudpipe = {'cloudpipes': [{'project_id': 1}]} - self.requests.register_uri('GET', self.url(), - json=get_os_cloudpipe, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_cloudpipe, + headers=self.json_headers) instance_id = '9d5824aa-20e6-4b9f-b967-76a699fc51fd' post_os_cloudpipe = {'instance_id': instance_id} - self.requests.register_uri('POST', self.url(), - json=post_os_cloudpipe, - headers=self.json_headers, - status_code=202) + self.requests_mock.post(self.url(), + json=post_os_cloudpipe, + headers=self.json_headers, + status_code=202) - self.requests.register_uri('PUT', self.url('configure-project'), - headers=self.json_headers, - status_code=202) + self.requests_mock.put(self.url('configure-project'), + headers=self.json_headers, + status_code=202) diff --git a/novaclient/tests/unit/fixture_data/fixedips.py b/novaclient/tests/unit/fixture_data/fixedips.py index fb677e91c..cf50666bb 100644 --- a/novaclient/tests/unit/fixture_data/fixedips.py +++ b/novaclient/tests/unit/fixture_data/fixedips.py @@ -29,11 +29,10 @@ class Fixture(base.Fixture): } } - self.requests.register_uri('GET', self.url('192.168.1.1'), - json=get_os_fixed_ips, - headers=self.json_headers) + self.requests_mock.get(self.url('192.168.1.1'), + json=get_os_fixed_ips, + headers=self.json_headers) - self.requests.register_uri('POST', - self.url('192.168.1.1', 'action'), - headers=self.json_headers, - status_code=202) + self.requests_mock.post(self.url('192.168.1.1', 'action'), + headers=self.json_headers, + status_code=202) diff --git a/novaclient/tests/unit/fixture_data/floatingips.py b/novaclient/tests/unit/fixture_data/floatingips.py index 6ddc9e360..75364cdf8 100644 --- a/novaclient/tests/unit/fixture_data/floatingips.py +++ b/novaclient/tests/unit/fixture_data/floatingips.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base @@ -27,28 +25,27 @@ class FloatingFixture(base.Fixture): {'id': 2, 'fixed_ip': '10.0.0.2', 'ip': '11.0.0.2'}] get_os_floating_ips = {'floating_ips': floating_ips} - self.requests.register_uri('GET', self.url(), - json=get_os_floating_ips, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_floating_ips, + headers=self.json_headers) for ip in floating_ips: get_os_floating_ip = {'floating_ip': ip} - self.requests.register_uri('GET', self.url(ip['id']), - json=get_os_floating_ip, - headers=self.json_headers) + self.requests_mock.get(self.url(ip['id']), + json=get_os_floating_ip, + headers=self.json_headers) - self.requests.register_uri('DELETE', self.url(ip['id']), - headers=self.json_headers, - status_code=204) + self.requests_mock.delete(self.url(ip['id']), + headers=self.json_headers, + status_code=204) def post_os_floating_ips(request, context): - body = jsonutils.loads(request.body) ip = floating_ips[0].copy() - ip['pool'] = body.get('pool') + ip['pool'] = request.json().get('pool') return {'floating_ip': ip} - self.requests.register_uri('POST', self.url(), - json=post_os_floating_ips, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=post_os_floating_ips, + headers=self.json_headers) class DNSFixture(base.Fixture): @@ -64,10 +61,10 @@ class DNSFixture(base.Fixture): {'domain': 'example.com'} ] } - self.requests.register_uri('GET', self.url(), - json=get_os_floating_ip_dns, - headers=self.json_headers, - status_code=205) + self.requests_mock.get(self.url(), + json=get_os_floating_ip_dns, + headers=self.json_headers, + status_code=205) get_dns_testdomain_entries_testname = { 'dns_entry': { @@ -77,30 +74,29 @@ class DNSFixture(base.Fixture): 'domain': 'testdomain' } } - url = self.url('testdomain', 'entries', 'testname') - self.requests.register_uri('GET', url, - json=get_dns_testdomain_entries_testname, - headers=self.json_headers, - status_code=205) - self.requests.register_uri('DELETE', self.url('testdomain'), - headers=self.json_headers) + self.requests_mock.get(self.url('testdomain', 'entries', 'testname'), + json=get_dns_testdomain_entries_testname, + headers=self.json_headers, + status_code=205) + + self.requests_mock.delete(self.url('testdomain'), + headers=self.json_headers) url = self.url('testdomain', 'entries', 'testname') - self.requests.register_uri('DELETE', url, headers=self.json_headers) + self.requests_mock.delete(url, headers=self.json_headers) def put_dns_testdomain_entries_testname(request, context): - body = jsonutils.loads(request.body) - fakes.assert_has_keys(body['dns_entry'], + fakes.assert_has_keys(request.json()['dns_entry'], required=['ip', 'dns_type']) context.status_code = 205 return request.body - self.requests.register_uri('PUT', url, - text=put_dns_testdomain_entries_testname, - headers=self.json_headers) + self.requests_mock.put(url, + text=put_dns_testdomain_entries_testname, + headers=self.json_headers) url = self.url('testdomain', 'entries') - self.requests.register_uri('GET', url, status_code=404) + self.requests_mock.get(url, status_code=404) get_os_floating_ip_dns_testdomain = { 'dns_entries': [ @@ -122,13 +118,13 @@ class DNSFixture(base.Fixture): }, ] } - self.requests.register_uri('GET', url + '?ip=1.2.3.4', - json=get_os_floating_ip_dns_testdomain, - status_code=205, - headers=self.json_headers) + self.requests_mock.get(url + '?ip=1.2.3.4', + json=get_os_floating_ip_dns_testdomain, + status_code=205, + headers=self.json_headers) def put_os_floating_ip_dns_testdomain(request, context): - body = jsonutils.loads(request.body) + body = request.json() if body['domain_entry']['scope'] == 'private': fakes.assert_has_keys(body['domain_entry'], required=['availability_zone', 'scope']) @@ -141,10 +137,10 @@ class DNSFixture(base.Fixture): return request.body - self.requests.register_uri('PUT', self.url('testdomain'), - text=put_os_floating_ip_dns_testdomain, - status_code=205, - headers=self.json_headers) + self.requests_mock.put(self.url('testdomain'), + text=put_os_floating_ip_dns_testdomain, + status_code=205, + headers=self.json_headers) class BulkFixture(base.Fixture): @@ -160,25 +156,23 @@ class BulkFixture(base.Fixture): {'id': 2, 'fixed_ip': '10.0.0.2', 'ip': '11.0.0.2'}, ] } - self.requests.register_uri('GET', self.url(), - json=get_os_floating_ips_bulk, - headers=self.json_headers) - self.requests.register_uri('GET', self.url('testHost'), - json=get_os_floating_ips_bulk, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_floating_ips_bulk, + headers=self.json_headers) + self.requests_mock.get(self.url('testHost'), + json=get_os_floating_ips_bulk, + headers=self.json_headers) def put_os_floating_ips_bulk_delete(request, context): - body = jsonutils.loads(request.body) - ip_range = body.get('ip_range') + ip_range = request.json().get('ip_range') return {'floating_ips_bulk_delete': ip_range} - self.requests.register_uri('PUT', self.url('delete'), - json=put_os_floating_ips_bulk_delete, - headers=self.json_headers) + self.requests_mock.put(self.url('delete'), + json=put_os_floating_ips_bulk_delete, + headers=self.json_headers) def post_os_floating_ips_bulk(request, context): - body = jsonutils.loads(request.body) - params = body.get('floating_ips_bulk_create') + params = request.json().get('floating_ips_bulk_create') pool = params.get('pool', 'defaultPool') interface = params.get('interface', 'defaultInterface') return { @@ -189,9 +183,9 @@ class BulkFixture(base.Fixture): } } - self.requests.register_uri('POST', self.url(), - json=post_os_floating_ips_bulk, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=post_os_floating_ips_bulk, + headers=self.json_headers) class PoolsFixture(base.Fixture): @@ -207,6 +201,6 @@ class PoolsFixture(base.Fixture): {'name': 'bar'} ] } - self.requests.register_uri('GET', self.url(), - json=get_os_floating_ip_pools, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_floating_ip_pools, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/fping.py b/novaclient/tests/unit/fixture_data/fping.py index 6c6cd4f89..087be44be 100644 --- a/novaclient/tests/unit/fixture_data/fping.py +++ b/novaclient/tests/unit/fixture_data/fping.py @@ -27,9 +27,9 @@ class Fixture(base.Fixture): "alive": True, } } - self.requests.register_uri('GET', self.url(1), - json=get_os_fping_1, - headers=self.json_headers) + self.requests_mock.get(self.url(1), + json=get_os_fping_1, + headers=self.json_headers) get_os_fping = { 'servers': [ @@ -41,6 +41,6 @@ class Fixture(base.Fixture): }, ] } - self.requests.register_uri('GET', self.url(), - json=get_os_fping, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_os_fping, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/hosts.py b/novaclient/tests/unit/fixture_data/hosts.py index 7c9b3be80..c95cddeba 100644 --- a/novaclient/tests/unit/fixture_data/hosts.py +++ b/novaclient/tests/unit/fixture_data/hosts.py @@ -10,9 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils -from six.moves.urllib import parse - from novaclient.tests.unit.fixture_data import base @@ -38,24 +35,22 @@ class BaseFixture(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url('host'), - json=get_os_hosts_host, - headers=headers) + self.requests_mock.get(self.url('host'), + json=get_os_hosts_host, + headers=headers) def get_os_hosts(request, context): - host, query = parse.splitquery(request.url) zone = 'nova1' service = None - if query: - qs = parse.parse_qs(query) + if request.query: try: - zone = qs['zone'][0] + zone = request.qs['zone'][0] except Exception: pass try: - service = qs['service'][0] + service = request.qs['service'][0] except Exception: pass @@ -74,51 +69,51 @@ class BaseFixture(base.Fixture): ] } - self.requests.register_uri('GET', self.url(), - json=get_os_hosts, - headers=headers) + self.requests_mock.get(self.url(), + json=get_os_hosts, + headers=headers) get_os_hosts_sample_host = { 'host': [ {'resource': {'host': 'sample_host'}} ], } - self.requests.register_uri('GET', self.url('sample_host'), - json=get_os_hosts_sample_host, - headers=headers) + self.requests_mock.get(self.url('sample_host'), + json=get_os_hosts_sample_host, + headers=headers) - self.requests.register_uri('PUT', self.url('sample_host', 1), - json=self.put_host_1(), - headers=headers) + self.requests_mock.put(self.url('sample_host', 1), + json=self.put_host_1(), + headers=headers) - self.requests.register_uri('PUT', self.url('sample_host', 2), - json=self.put_host_2(), - headers=headers) + self.requests_mock.put(self.url('sample_host', 2), + json=self.put_host_2(), + headers=headers) - self.requests.register_uri('PUT', self.url('sample_host', 3), - json=self.put_host_3(), - headers=headers) + self.requests_mock.put(self.url('sample_host', 3), + json=self.put_host_3(), + headers=headers) - self.requests.register_uri('GET', self.url('sample_host', 'reboot'), - json=self.get_host_reboot(), - headers=headers) + self.requests_mock.get(self.url('sample_host', 'reboot'), + json=self.get_host_reboot(), + headers=headers) - self.requests.register_uri('GET', self.url('sample_host', 'startup'), - json=self.get_host_startup(), - headers=headers) + self.requests_mock.get(self.url('sample_host', 'startup'), + json=self.get_host_startup(), + headers=headers) - self.requests.register_uri('GET', self.url('sample_host', 'shutdown'), - json=self.get_host_shutdown(), - headers=headers) + self.requests_mock.get(self.url('sample_host', 'shutdown'), + json=self.get_host_shutdown(), + headers=headers) def put_os_hosts_sample_host(request, context): result = {'host': 'dummy'} - result.update(jsonutils.loads(request.body)) + result.update(request.json()) return result - self.requests.register_uri('PUT', self.url('sample_host'), - json=put_os_hosts_sample_host, - headers=headers) + self.requests_mock.put(self.url('sample_host'), + json=put_os_hosts_sample_host, + headers=headers) class V1(BaseFixture): diff --git a/novaclient/tests/unit/fixture_data/hypervisors.py b/novaclient/tests/unit/fixture_data/hypervisors.py index 229dfd754..43b3438b6 100644 --- a/novaclient/tests/unit/fixture_data/hypervisors.py +++ b/novaclient/tests/unit/fixture_data/hypervisors.py @@ -29,9 +29,9 @@ class V1(base.Fixture): self.headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json=get_os_hypervisors, - headers=self.headers) + self.requests_mock.get(self.url(), + json=get_os_hypervisors, + headers=self.headers) get_os_hypervisors_detail = { 'hypervisors': [ @@ -82,9 +82,9 @@ class V1(base.Fixture): ] } - self.requests.register_uri('GET', self.url('detail'), - json=get_os_hypervisors_detail, - headers=self.headers) + self.requests_mock.get(self.url('detail'), + json=get_os_hypervisors_detail, + headers=self.headers) get_os_hypervisors_stats = { 'hypervisor_statistics': { @@ -103,9 +103,9 @@ class V1(base.Fixture): } } - self.requests.register_uri('GET', self.url('statistics'), - json=get_os_hypervisors_stats, - headers=self.headers) + self.requests_mock.get(self.url('statistics'), + json=get_os_hypervisors_stats, + headers=self.headers) get_os_hypervisors_search = { 'hypervisors': [ @@ -114,9 +114,9 @@ class V1(base.Fixture): ] } - self.requests.register_uri('GET', self.url('hyper', 'search'), - json=get_os_hypervisors_search, - headers=self.headers) + self.requests_mock.get(self.url('hyper', 'search'), + json=get_os_hypervisors_search, + headers=self.headers) get_hyper_server = { 'hypervisors': [ @@ -139,9 +139,9 @@ class V1(base.Fixture): ] } - self.requests.register_uri('GET', self.url('hyper', 'servers'), - json=get_hyper_server, - headers=self.headers) + self.requests_mock.get(self.url('hyper', 'servers'), + json=get_hyper_server, + headers=self.headers) get_os_hypervisors_1234 = { 'hypervisor': { @@ -165,9 +165,9 @@ class V1(base.Fixture): } } - self.requests.register_uri('GET', self.url(1234), - json=get_os_hypervisors_1234, - headers=self.headers) + self.requests_mock.get(self.url(1234), + json=get_os_hypervisors_1234, + headers=self.headers) get_os_hypervisors_uptime = { 'hypervisor': { @@ -177,6 +177,6 @@ class V1(base.Fixture): } } - self.requests.register_uri('GET', self.url(1234, 'uptime'), - json=get_os_hypervisors_uptime, - headers=self.headers) + self.requests_mock.get(self.url(1234, 'uptime'), + json=get_os_hypervisors_uptime, + headers=self.headers) diff --git a/novaclient/tests/unit/fixture_data/images.py b/novaclient/tests/unit/fixture_data/images.py index 9498b8e32..7c5e0925f 100644 --- a/novaclient/tests/unit/fixture_data/images.py +++ b/novaclient/tests/unit/fixture_data/images.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base @@ -32,9 +30,9 @@ class V1(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json=get_images, - headers=headers) + self.requests_mock.get(self.url(), + json=get_images, + headers=headers) image_1 = { 'id': 1, @@ -59,27 +57,27 @@ class V1(base.Fixture): "links": {}, } - self.requests.register_uri('GET', self.url('detail'), - json={'images': [image_1, image_2]}, - headers=headers) + self.requests_mock.get(self.url('detail'), + json={'images': [image_1, image_2]}, + headers=headers) - self.requests.register_uri('GET', self.url(1), - json={'image': image_1}, - headers=headers) + self.requests_mock.get(self.url(1), + json={'image': image_1}, + headers=headers) def post_images_1_metadata(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['metadata'] fakes.assert_has_keys(body['metadata'], required=['test_key']) return {'metadata': image_1['metadata']} - self.requests.register_uri('POST', self.url(1, 'metadata'), - json=post_images_1_metadata, - headers=headers) + self.requests_mock.post(self.url(1, 'metadata'), + json=post_images_1_metadata, + headers=headers) for u in (1, '1/metadata/test_key'): - self.requests.register_uri('DELETE', self.url(u), status_code=204, - headers=headers) + self.requests_mock.delete(self.url(u), status_code=204, + headers=headers) class V3(V1): diff --git a/novaclient/tests/unit/fixture_data/keypairs.py b/novaclient/tests/unit/fixture_data/keypairs.py index ee60e7aac..1d73d2528 100644 --- a/novaclient/tests/unit/fixture_data/keypairs.py +++ b/novaclient/tests/unit/fixture_data/keypairs.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base @@ -26,23 +24,24 @@ class V1(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json={'keypairs': [keypair]}, - headers=headers) + self.requests_mock.get(self.url(), + json={'keypairs': [keypair]}, + headers=headers) - self.requests.register_uri('GET', self.url('test'), - json={'keypair': keypair}, - headers=headers) + self.requests_mock.get(self.url('test'), + json={'keypair': keypair}, + headers=headers) - self.requests.register_uri('DELETE', self.url('test'), status_code=202, - headers=headers) + self.requests_mock.delete(self.url('test'), + status_code=202, + headers=headers) def post_os_keypairs(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['keypair'] fakes.assert_has_keys(body['keypair'], required=['name']) return {'keypair': keypair} - self.requests.register_uri('POST', self.url(), - json=post_os_keypairs, - headers=headers) + self.requests_mock.post(self.url(), + json=post_os_keypairs, + headers=headers) diff --git a/novaclient/tests/unit/fixture_data/limits.py b/novaclient/tests/unit/fixture_data/limits.py index 6c1d306cd..f9a86ff79 100644 --- a/novaclient/tests/unit/fixture_data/limits.py +++ b/novaclient/tests/unit/fixture_data/limits.py @@ -75,6 +75,6 @@ class Fixture(base.Fixture): } headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json=get_limits, - headers=headers) + self.requests_mock.get(self.url(), + json=get_limits, + headers=headers) diff --git a/novaclient/tests/unit/fixture_data/networks.py b/novaclient/tests/unit/fixture_data/networks.py index 9471605c6..51a4676fe 100644 --- a/novaclient/tests/unit/fixture_data/networks.py +++ b/novaclient/tests/unit/fixture_data/networks.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit.fixture_data import base @@ -35,30 +33,29 @@ class Fixture(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json=get_os_networks, - headers=headers) + self.requests_mock.get(self.url(), + json=get_os_networks, + headers=headers) def post_os_networks(request, context): - body = jsonutils.loads(request.body) - return {'network': body} + return {'network': request.json()} - self.requests.register_uri("POST", self.url(), - json=post_os_networks, - headers=headers) + self.requests_mock.post(self.url(), + json=post_os_networks, + headers=headers) get_os_networks_1 = {'network': {"label": "1", "cidr": "10.0.0.0/24"}} - self.requests.register_uri('GET', self.url(1), - json=get_os_networks_1, - headers=headers) + self.requests_mock.get(self.url(1), + json=get_os_networks_1, + headers=headers) - self.requests.register_uri('DELETE', - self.url('networkdelete'), - status_code=202, - headers=headers) + self.requests_mock.delete(self.url('networkdelete'), + status_code=202, + headers=headers) for u in ('add', 'networkdisassociate/action', 'networktest/action', '1/action', '2/action'): - self.requests.register_uri('POST', self.url(u), status_code=202, - headers=headers) + self.requests_mock.post(self.url(u), + status_code=202, + headers=headers) diff --git a/novaclient/tests/unit/fixture_data/quotas.py b/novaclient/tests/unit/fixture_data/quotas.py index 5051bf3ed..a6931fcc6 100644 --- a/novaclient/tests/unit/fixture_data/quotas.py +++ b/novaclient/tests/unit/fixture_data/quotas.py @@ -27,28 +27,28 @@ class V1(base.Fixture): for u in ('test', 'tenant-id', 'tenant-id/defaults', '%s/defaults' % uuid2, 'test/detail'): - self.requests.register_uri('GET', self.url(u), - json=test_json, - headers=self.headers) - - self.requests.register_uri('PUT', self.url(uuid), - json={'quota_set': self.test_quota(uuid)}, + self.requests_mock.get(self.url(u), + json=test_json, headers=self.headers) - self.requests.register_uri('GET', self.url(uuid), - json={'quota_set': self.test_quota(uuid)}, - headers=self.headers) + self.requests_mock.put(self.url(uuid), + json={'quota_set': self.test_quota(uuid)}, + headers=self.headers) - self.requests.register_uri('PUT', self.url(uuid2), - json={'quota_set': self.test_quota(uuid2)}, - headers=self.headers) - self.requests.register_uri('GET', self.url(uuid2), - json={'quota_set': self.test_quota(uuid2)}, - headers=self.headers) + self.requests_mock.get(self.url(uuid), + json={'quota_set': self.test_quota(uuid)}, + headers=self.headers) + + self.requests_mock.put(self.url(uuid2), + json={'quota_set': self.test_quota(uuid2)}, + headers=self.headers) + self.requests_mock.get(self.url(uuid2), + json={'quota_set': self.test_quota(uuid2)}, + headers=self.headers) for u in ('test', uuid2): - self.requests.register_uri('DELETE', self.url(u), status_code=202, - headers=self.headers) + self.requests_mock.delete(self.url(u), status_code=202, + headers=self.headers) def test_quota(self, tenant_id='test'): return { diff --git a/novaclient/tests/unit/fixture_data/security_group_rules.py b/novaclient/tests/unit/fixture_data/security_group_rules.py index e4285fe70..4fda1fe40 100644 --- a/novaclient/tests/unit/fixture_data/security_group_rules.py +++ b/novaclient/tests/unit/fixture_data/security_group_rules.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base @@ -35,16 +33,17 @@ class Fixture(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json={'security_group_rules': [rule]}, - headers=headers) + self.requests_mock.get(self.url(), + json={'security_group_rules': [rule]}, + headers=headers) for u in (1, 11, 12): - self.requests.register_uri('DELETE', self.url(u), status_code=202, - headers=headers) + self.requests_mock.delete(self.url(u), + status_code=202, + headers=headers) def post_rules(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['security_group_rule'] fakes.assert_has_keys(body['security_group_rule'], required=['parent_group_id'], @@ -53,7 +52,7 @@ class Fixture(base.Fixture): return {'security_group_rule': rule} - self.requests.register_uri('POST', self.url(), - json=post_rules, - headers=headers, - status_code=202) + self.requests_mock.post(self.url(), + json=post_rules, + headers=headers, + status_code=202) diff --git a/novaclient/tests/unit/fixture_data/security_groups.py b/novaclient/tests/unit/fixture_data/security_groups.py index 28023093f..b0df1f9ed 100644 --- a/novaclient/tests/unit/fixture_data/security_groups.py +++ b/novaclient/tests/unit/fixture_data/security_groups.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base @@ -64,38 +62,39 @@ class Fixture(base.Fixture): get_groups = {'security_groups': [security_group_1, security_group_2]} headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json=get_groups, - headers=headers) + self.requests_mock.get(self.url(), + json=get_groups, + headers=headers) get_group_1 = {'security_group': security_group_1} - self.requests.register_uri('GET', self.url(1), - json=get_group_1, - headers=headers) + self.requests_mock.get(self.url(1), + json=get_group_1, + headers=headers) - self.requests.register_uri('DELETE', self.url(1), status_code=202, - headers=headers) + self.requests_mock.delete(self.url(1), + status_code=202, + headers=headers) def post_os_security_groups(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['security_group'] fakes.assert_has_keys(body['security_group'], required=['name', 'description']) return {'security_group': security_group_1} - self.requests.register_uri('POST', self.url(), - json=post_os_security_groups, - headers=headers, - status_code=202) + self.requests_mock.post(self.url(), + json=post_os_security_groups, + headers=headers, + status_code=202) def put_os_security_groups_1(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['security_group'] fakes.assert_has_keys(body['security_group'], required=['name', 'description']) return body - self.requests.register_uri('PUT', self.url(1), - json=put_os_security_groups_1, - headers=headers, - status_code=205) + self.requests_mock.put(self.url(1), + json=put_os_security_groups_1, + headers=headers, + status_code=205) diff --git a/novaclient/tests/unit/fixture_data/server_groups.py b/novaclient/tests/unit/fixture_data/server_groups.py index 64a398810..afbe2612f 100644 --- a/novaclient/tests/unit/fixture_data/server_groups.py +++ b/novaclient/tests/unit/fixture_data/server_groups.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit.fixture_data import base @@ -54,16 +52,17 @@ class Fixture(base.Fixture): headers = self.json_headers - self.requests.register_uri('GET', self.url(), - json={'server_groups': server_groups}, - headers=headers) + self.requests_mock.get(self.url(), + json={'server_groups': server_groups}, + headers=headers) server = server_groups[0] - server_j = jsonutils.dumps({'server_group': server}) def _register(method, *args): - self.requests.register_uri(method, self.url(*args), text=server_j, - headers=headers) + self.requests_mock.register_uri(method, + self.url(*args), + json={'server_group': server}, + headers=headers) _register('POST') _register('POST', server['id']) @@ -71,5 +70,6 @@ class Fixture(base.Fixture): _register('PUT', server['id']) _register('POST', server['id'], '/action') - self.requests.register_uri('DELETE', self.url(server['id']), - status_code=202, headers=headers) + self.requests_mock.delete(self.url(server['id']), + status_code=202, + headers=headers) diff --git a/novaclient/tests/unit/fixture_data/server_migrations.py b/novaclient/tests/unit/fixture_data/server_migrations.py index 5e946eef5..4fe68e130 100644 --- a/novaclient/tests/unit/fixture_data/server_migrations.py +++ b/novaclient/tests/unit/fixture_data/server_migrations.py @@ -22,9 +22,9 @@ class Fixture(base.Fixture): def setUp(self): super(Fixture, self).setUp() url = self.url('1234', 'migrations', '1', 'action') - self.requests.register_uri('POST', url, - status_code=202, - headers=self.json_headers) + self.requests_mock.post(url, + status_code=202, + headers=self.json_headers) get_migrations = {'migrations': [ { @@ -47,10 +47,9 @@ class Fixture(base.Fixture): }]} url = self.url('1234', 'migrations') - self.requests.register_uri('GET', url, - status_code=200, - json=get_migrations, - headers=self.json_headers) + self.requests_mock.get(url, + json=get_migrations, + headers=self.json_headers) get_migration = {'migration': { "created_at": "2016-01-29T13:42:02.000000", @@ -72,11 +71,10 @@ class Fixture(base.Fixture): }} url = self.url('1234', 'migrations', '1') - self.requests.register_uri('GET', url, - status_code=200, - json=get_migration, - headers=self.json_headers) + self.requests_mock.get(url, + json=get_migration, + headers=self.json_headers) url = self.url('1234', 'migrations', '1') - self.requests.register_uri('DELETE', url, - status_code=202, - headers=self.json_headers) + self.requests_mock.delete(url, + status_code=202, + headers=self.json_headers) diff --git a/novaclient/tests/unit/fixture_data/servers.py b/novaclient/tests/unit/fixture_data/servers.py index bf0dac922..891814b2f 100644 --- a/novaclient/tests/unit/fixture_data/servers.py +++ b/novaclient/tests/unit/fixture_data/servers.py @@ -10,8 +10,6 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_serialization import jsonutils - from novaclient.tests.unit import fakes from novaclient.tests.unit.fixture_data import base from novaclient.tests.unit.v2 import fakes as v2_fakes @@ -31,9 +29,9 @@ class Base(base.Fixture): ] } - self.requests.register_uri('GET', self.url(), - json=get_servers, - headers=self.json_headers) + self.requests_mock.get(self.url(), + json=get_servers, + headers=self.json_headers) self.server_1234 = { "id": 1234, @@ -155,17 +153,17 @@ class Base(base.Fixture): servers = [self.server_1234, self.server_5678, self.server_9012] get_servers_detail = {"servers": servers} - self.requests.register_uri('GET', self.url('detail'), - json=get_servers_detail, - headers=self.json_headers) + self.requests_mock.get(self.url('detail'), + json=get_servers_detail, + headers=self.json_headers) - self.requests.register_uri( - 'GET', self.url('detail', marker=self.server_1234["id"]), + self.requests_mock.get( + self.url('detail', marker=self.server_1234["id"]), json={"servers": [self.server_1234, self.server_5678]}, headers=self.json_headers, complete_qs=True) - self.requests.register_uri( - 'GET', self.url('detail', marker=self.server_5678["id"]), + self.requests_mock.get( + self.url('detail', marker=self.server_5678["id"]), json={"servers": []}, headers=self.json_headers, complete_qs=True) @@ -175,39 +173,37 @@ class Base(base.Fixture): self.server_1235['fault'] = {'message': 'something went wrong!'} for s in servers + [self.server_1235]: - self.requests.register_uri('GET', self.url(s['id']), - json={'server': s}, - headers=self.json_headers) + self.requests_mock.get(self.url(s['id']), + json={'server': s}, + headers=self.json_headers) for s in (1234, 5678): - self.requests.register_uri('DELETE', self.url(s), status_code=202, - headers=self.json_headers) + self.requests_mock.delete(self.url(s), + status_code=202, + headers=self.json_headers) for k in ('test_key', 'key1', 'key2'): - self.requests.register_uri('DELETE', - self.url(1234, 'metadata', k), - status_code=204, - headers=self.json_headers) + self.requests_mock.delete(self.url(1234, 'metadata', k), + status_code=204, + headers=self.json_headers) metadata1 = {'metadata': {'test_key': 'test_value'}} - self.requests.register_uri('POST', self.url(1234, 'metadata'), - json=metadata1, - headers=self.json_headers) - self.requests.register_uri('PUT', - self.url(1234, 'metadata', 'test_key'), - json=metadata1, - headers=self.json_headers) + self.requests_mock.post(self.url(1234, 'metadata'), + json=metadata1, + headers=self.json_headers) + self.requests_mock.put(self.url(1234, 'metadata', 'test_key'), + json=metadata1, + headers=self.json_headers) self.diagnostic = {'data': 'Fake diagnostics'} metadata2 = {'metadata': {'key1': 'val1'}} for u in ('uuid1', 'uuid2', 'uuid3', 'uuid4'): - self.requests.register_uri('POST', self.url(u, 'metadata'), - json=metadata2, status_code=204) - self.requests.register_uri('DELETE', - self.url(u, 'metadata', 'key1'), - json=self.diagnostic, - headers=self.json_headers) + self.requests_mock.post(self.url(u, 'metadata'), + json=metadata2, status_code=204) + self.requests_mock.delete(self.url(u, 'metadata', 'key1'), + json=self.diagnostic, + headers=self.json_headers) get_security_groups = { "security_groups": [{ @@ -218,22 +214,21 @@ class Base(base.Fixture): 'rules': []}] } - self.requests.register_uri('GET', - self.url('1234', 'os-security-groups'), - json=get_security_groups, - headers=self.json_headers) + self.requests_mock.get(self.url('1234', 'os-security-groups'), + json=get_security_groups, + headers=self.json_headers) - self.requests.register_uri('POST', self.url(), - json=self.post_servers, - headers=self.json_headers) + self.requests_mock.post(self.url(), + json=self.post_servers, + headers=self.json_headers) - self.requests.register_uri('POST', self.url('1234', 'remote-consoles'), - json=self.post_servers_1234_remote_consoles, - headers=self.json_headers) + self.requests_mock.post(self.url('1234', 'remote-consoles'), + json=self.post_servers_1234_remote_consoles, + headers=self.json_headers) - self.requests.register_uri('POST', self.url('1234', 'action'), - json=self.post_servers_1234_action, - headers=self.json_headers) + self.requests_mock.post(self.url('1234', 'action'), + json=self.post_servers_1234_action, + headers=self.json_headers) get_os_interface = { "interfaceAttachments": [ @@ -254,31 +249,29 @@ class Base(base.Fixture): ] } - self.requests.register_uri('GET', - self.url('1234', 'os-interface'), - json=get_os_interface, - headers=self.json_headers) + self.requests_mock.get(self.url('1234', 'os-interface'), + json=get_os_interface, + headers=self.json_headers) interface_data = {'interfaceAttachment': {}} - self.requests.register_uri('POST', - self.url('1234', 'os-interface'), - json=interface_data, - headers=self.json_headers) + self.requests_mock.post(self.url('1234', 'os-interface'), + json=interface_data, + headers=self.json_headers) def put_servers_1234(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['server'] fakes.assert_has_keys(body['server'], optional=['name', 'adminPass']) return request.body - self.requests.register_uri('PUT', self.url(1234), - text=put_servers_1234, - status_code=204, - headers=self.json_headers) + self.requests_mock.put(self.url(1234), + text=put_servers_1234, + status_code=204, + headers=self.json_headers) def post_os_volumes_boot(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert (set(body.keys()) <= set(['server', 'os:scheduler_hints'])) @@ -302,64 +295,56 @@ class Base(base.Fixture): # NOTE(jamielennox): hack to make os_volumes mock go to the right place base_url = self.base_url self.base_url = None - self.requests.register_uri('POST', self.url('os-volumes_boot'), - json=post_os_volumes_boot, - status_code=202, - headers=self.json_headers) + self.requests_mock.post(self.url('os-volumes_boot'), + json=post_os_volumes_boot, + status_code=202, + headers=self.json_headers) self.base_url = base_url # # Server password # - self.requests.register_uri('DELETE', - self.url(1234, 'os-server-password'), - status_code=202, - headers=self.json_headers) + self.requests_mock.delete(self.url(1234, 'os-server-password'), + status_code=202, + headers=self.json_headers) # # Server tags # - self.requests.register_uri('GET', - self.url(1234, 'tags'), - json={'tags': ['tag1', 'tag2']}, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'tags'), + json={'tags': ['tag1', 'tag2']}, + headers=self.json_headers) - self.requests.register_uri('GET', - self.url(1234, 'tags', 'tag'), - status_code=204, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'tags', 'tag'), + status_code=204, + headers=self.json_headers) - self.requests.register_uri('DELETE', - self.url(1234, 'tags', 'tag'), - status_code=204, - headers=self.json_headers) + self.requests_mock.delete(self.url(1234, 'tags', 'tag'), + status_code=204, + headers=self.json_headers) - self.requests.register_uri('DELETE', - self.url(1234, 'tags'), - status_code=204, - headers=self.json_headers) + self.requests_mock.delete(self.url(1234, 'tags'), + status_code=204, + headers=self.json_headers) def put_server_tag(request, context): - body = jsonutils.loads(request.body) - assert body is None + assert request.json() is None context.status_code = 201 return None - self.requests.register_uri('PUT', - self.url(1234, 'tags', 'tag'), - json=put_server_tag, - headers=self.json_headers) + self.requests_mock.put(self.url(1234, 'tags', 'tag'), + json=put_server_tag, + headers=self.json_headers) def put_server_tags(request, context): - body = jsonutils.loads(request.body) + body = request.json() assert list(body) == ['tags'] return body - self.requests.register_uri('PUT', - self.url(1234, 'tags'), - json=put_server_tags, - headers=self.json_headers) + self.requests_mock.put(self.url(1234, 'tags'), + json=put_server_tags, + headers=self.json_headers) class V1(Base): @@ -372,30 +357,27 @@ class V1(Base): # add = self.server_1234['addresses'] - self.requests.register_uri('GET', self.url(1234, 'ips'), - json={'addresses': add}, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'ips'), + json={'addresses': add}, + headers=self.json_headers) - self.requests.register_uri('GET', self.url(1234, 'ips', 'public'), - json={'public': add['public']}, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'ips', 'public'), + json={'public': add['public']}, + headers=self.json_headers) - self.requests.register_uri('GET', self.url(1234, 'ips', 'private'), - json={'private': add['private']}, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'ips', 'private'), + json={'private': add['private']}, + headers=self.json_headers) - self.requests.register_uri('DELETE', - self.url(1234, 'ips', 'public', '1.2.3.4'), - status_code=202) + self.requests_mock.delete(self.url(1234, 'ips', 'public', '1.2.3.4'), + status_code=202) - self.requests.register_uri('GET', - self.url('1234', 'diagnostics'), - json=self.diagnostic, - headers=self.json_headers) + self.requests_mock.get(self.url('1234', 'diagnostics'), + json=self.diagnostic, + headers=self.json_headers) - self.requests.register_uri('DELETE', - self.url('1234', 'os-interface', 'port-id'), - headers=self.json_headers) + self.requests_mock.delete(self.url('1234', 'os-interface', 'port-id'), + headers=self.json_headers) # Testing with the following password and key # @@ -419,13 +401,12 @@ class V1(Base): '/y5a6Z3/AoJZYGG7IH5WN88UROU3B9JZGFB2qtPLQTOvDMZLUhoPRIJeHiVSlo1N' 'tI2/++UsXVg3ow6ItqCJGgdNuGG5JB+bslDHWPxROpesEIHdczk46HCpHQN8f1sk' 'Hi/fmZZNQQqj1Ijq0caOIw=='} - self.requests.register_uri('GET', - self.url(1234, 'os-server-password'), - json=get_server_password, - headers=self.json_headers) + self.requests_mock.get(self.url(1234, 'os-server-password'), + json=get_server_password, + headers=self.json_headers) def post_servers(self, request, context): - body = jsonutils.loads(request.body) + body = request.json() context.status_code = 202 assert (set(body.keys()) <= set(['server', 'os:scheduler_hints'])) @@ -444,7 +425,7 @@ class V1(Base): def post_servers_1234_remote_consoles(self, request, context): _body = '' - body = jsonutils.loads(request.body) + body = request.json() context.status_code = 202 assert len(body.keys()) == 1 assert 'remote_console' in body.keys() @@ -458,7 +439,7 @@ class V1(Base): def post_servers_1234_action(self, request, context): _body = '' - body = jsonutils.loads(request.body) + body = request.json() context.status_code = 202 assert len(body.keys()) == 1 action = list(body)[0] diff --git a/novaclient/tests/unit/utils.py b/novaclient/tests/unit/utils.py index d3cb5da3a..49d3631f3 100644 --- a/novaclient/tests/unit/utils.py +++ b/novaclient/tests/unit/utils.py @@ -55,10 +55,6 @@ class TestCase(testtools.TestCase): 'verify': True, } - @property - def requests(self): - return self.requests_mock - def setUp(self): super(TestCase, self).setUp() if (os.environ.get('OS_STDOUT_CAPTURE') == 'True' or @@ -89,20 +85,20 @@ class FixturedTestCase(testscenarios.TestWithScenarios, TestCase): self.cs = None if self.client_fixture_class: - fix = self.client_fixture_class(self.requests) + fix = self.client_fixture_class(self.requests_mock) self.client_fixture = self.useFixture(fix) self.cs = self.client_fixture.client if self.data_fixture_class: - fix = self.data_fixture_class(self.requests) + fix = self.data_fixture_class(self.requests_mock) self.data_fixture = self.useFixture(fix) def assert_called(self, method, path, body=None): - self.assertEqual(self.requests.last_request.method, method) - self.assertEqual(self.requests.last_request.path_url, path) + self.assertEqual(self.requests_mock.last_request.method, method) + self.assertEqual(self.requests_mock.last_request.path_url, path) if body: - req_data = self.requests.last_request.body + req_data = self.requests_mock.last_request.body if isinstance(req_data, six.binary_type): req_data = req_data.decode('utf-8') if not isinstance(body, six.string_types): diff --git a/novaclient/tests/unit/v2/test_agents.py b/novaclient/tests/unit/v2/test_agents.py index 8cf67c1a6..2e749e07a 100644 --- a/novaclient/tests/unit/v2/test_agents.py +++ b/novaclient/tests/unit/v2/test_agents.py @@ -53,9 +53,9 @@ class AgentsTest(utils.FixturedTestCase): headers = {'Content-Type': 'application/json', 'x-openstack-request-id': fakes.FAKE_REQUEST_ID} - self.requests.register_uri('GET', self.data_fixture.url(), - json=get_os_agents, - headers=headers) + self.requests_mock.get(self.data_fixture.url(), + json=get_os_agents, + headers=headers) def test_list_agents(self): self.stub_hypervisors() diff --git a/novaclient/tests/unit/v2/test_hypervisors.py b/novaclient/tests/unit/v2/test_hypervisors.py index d395eee85..d3a578e69 100644 --- a/novaclient/tests/unit/v2/test_hypervisors.py +++ b/novaclient/tests/unit/v2/test_hypervisors.py @@ -194,8 +194,7 @@ class HypervisorsV233Test(HypervisorsTest): self.cs.api_version = api_versions.APIVersion("2.33") def test_use_limit_marker_params(self): - params = {'limit': 10, 'marker': 'fake-marker'} + params = {'limit': '10', 'marker': 'fake-marker'} self.cs.hypervisors.list(**params) for k, v in params.items(): - self.assertIn('%s=%s' % (k, v), - self.requests.last_request.path_url) + self.assertEqual([v], self.requests_mock.last_request.qs[k]) diff --git a/novaclient/tests/unit/v2/test_servers.py b/novaclient/tests/unit/v2/test_servers.py index 2e057b03a..1d8a36fe8 100644 --- a/novaclient/tests/unit/v2/test_servers.py +++ b/novaclient/tests/unit/v2/test_servers.py @@ -17,7 +17,6 @@ import os import tempfile import mock -from oslo_serialization import jsonutils import six from novaclient import api_versions @@ -38,7 +37,7 @@ class ServersTest(utils.FixturedTestCase): def setUp(self): super(ServersTest, self).setUp() - self.useFixture(floatingips.FloatingFixture(self.requests)) + self.useFixture(floatingips.FloatingFixture(self.requests_mock)) if self.api_version: self.cs.api_version = api_versions.APIVersion(self.api_version) @@ -68,8 +67,8 @@ class ServersTest(utils.FixturedTestCase): self.assertEqual(2, len(sl)) - self.assertEqual(self.requests.request_history[-2].method, 'GET') - self.assertEqual(self.requests.request_history[-2].path_url, + self.assertEqual(self.requests_mock.request_history[-2].method, 'GET') + self.assertEqual(self.requests_mock.request_history[-2].path_url, '/servers/detail?marker=1234') self.assert_called('GET', '/servers/detail?marker=5678') @@ -320,7 +319,7 @@ class ServersTest(utils.FixturedTestCase): self.assert_request_id(s, fakes.FAKE_REQUEST_ID_LIST) self.assert_called('POST', '/servers') self.assertIsInstance(s, servers.Server) - body = jsonutils.loads(self.requests.last_request.body) + body = self.requests_mock.last_request.json() self.assertEqual(test_password, body['server']['adminPass']) def test_create_server_userdata_bin(self): @@ -346,7 +345,7 @@ class ServersTest(utils.FixturedTestCase): self.assert_called('POST', '/servers') self.assertIsInstance(s, servers.Server) # verify userdata matches original - body = jsonutils.loads(self.requests.last_request.body) + body = self.requests_mock.last_request.json() transferred_data = body['server']['user_data'] transferred_data = base64.b64decode(transferred_data) self.assertEqual(original_data, transferred_data) @@ -364,8 +363,7 @@ class ServersTest(utils.FixturedTestCase): self.assertIsInstance(s, servers.Server) # verify disk config param was used in the request: - body = jsonutils.loads(self.requests.last_request.body) - server = body['server'] + server = self.requests_mock.last_request.json()['server'] self.assertIn('OS-DCF:diskConfig', server) self.assertEqual(disk_config, server['OS-DCF:diskConfig']) @@ -471,9 +469,7 @@ class ServersTest(utils.FixturedTestCase): self.assert_called('POST', '/servers/1234/action') # verify disk config param was used in the request: - body = jsonutils.loads(self.requests.last_request.body) - - d = body[operation] + d = self.requests_mock.last_request.json()[operation] self.assertIn('OS-DCF:diskConfig', d) self.assertEqual(disk_config, d['OS-DCF:diskConfig']) @@ -488,8 +484,7 @@ class ServersTest(utils.FixturedTestCase): ret = s.rebuild(image=1, preserve_ephemeral=True) self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST) self.assert_called('POST', '/servers/1234/action') - body = jsonutils.loads(self.requests.last_request.body) - d = body['rebuild'] + d = self.requests_mock.last_request.json()['rebuild'] self.assertIn('preserve_ephemeral', d) self.assertTrue(d['preserve_ephemeral']) @@ -498,8 +493,7 @@ class ServersTest(utils.FixturedTestCase): s = self.cs.servers.get(1234) ret = s.rebuild(image=1, name='new', meta={'foo': 'bar'}, files=files) self.assert_request_id(ret, fakes.FAKE_REQUEST_ID_LIST) - body = jsonutils.loads(self.requests.last_request.body) - d = body['rebuild'] + d = self.requests_mock.last_request.json()['rebuild'] self.assertEqual('new', d['name']) self.assertEqual({'foo': 'bar'}, d['metadata']) self.assertEqual('/etc/passwd',