From 69735d3bd8fd874a9817c26b5b009921110fb416 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Wed, 3 May 2023 11:58:51 +0100 Subject: [PATCH] Blackify openstack.compute (tests) Change Ic8e372a7ca999414ad93fb88e03b92798052cc3e ran black over the openstack.compute module but forgot the associated tests. Correct this. Black used with the '-l 79 -S' flags. Change-Id: I6462d1423b57ff604e1ede977d27a9dd4f2c9c50 Signed-off-by: Stephen Finucane --- .../functional/compute/v2/test_extension.py | 1 - .../functional/compute/v2/test_flavor.py | 45 +- .../functional/compute/v2/test_hypervisor.py | 1 - .../tests/functional/compute/v2/test_image.py | 1 - .../functional/compute/v2/test_keypair.py | 7 +- .../functional/compute/v2/test_limits.py | 1 - .../functional/compute/v2/test_quota_set.py | 18 +- .../functional/compute/v2/test_server.py | 23 +- .../functional/compute/v2/test_service.py | 10 +- openstack/tests/unit/compute/test_version.py | 1 - .../tests/unit/compute/v2/test_aggregate.py | 15 +- .../unit/compute/v2/test_availability_zone.py | 3 +- .../tests/unit/compute/v2/test_extension.py | 1 - .../tests/unit/compute/v2/test_flavor.py | 92 ++- .../tests/unit/compute/v2/test_hypervisor.py | 62 +- openstack/tests/unit/compute/v2/test_image.py | 27 +- .../tests/unit/compute/v2/test_keypair.py | 11 +- .../tests/unit/compute/v2/test_limits.py | 170 +++-- .../tests/unit/compute/v2/test_migration.py | 1 - openstack/tests/unit/compute/v2/test_proxy.py | 608 +++++++++------- .../tests/unit/compute/v2/test_server.py | 689 ++++++++++-------- .../unit/compute/v2/test_server_actions.py | 3 +- .../compute/v2/test_server_diagnostics.py | 20 +- .../unit/compute/v2/test_server_group.py | 12 +- .../unit/compute/v2/test_server_interface.py | 3 +- .../tests/unit/compute/v2/test_server_ip.py | 30 +- .../unit/compute/v2/test_server_migration.py | 12 +- .../compute/v2/test_server_remote_console.py | 22 +- .../tests/unit/compute/v2/test_service.py | 86 ++- .../unit/compute/v2/test_volume_attachment.py | 18 +- 30 files changed, 1119 insertions(+), 874 deletions(-) diff --git a/openstack/tests/functional/compute/v2/test_extension.py b/openstack/tests/functional/compute/v2/test_extension.py index e4ff2a408..8bb0e83ce 100644 --- a/openstack/tests/functional/compute/v2/test_extension.py +++ b/openstack/tests/functional/compute/v2/test_extension.py @@ -15,7 +15,6 @@ from openstack.tests.functional import base class TestExtension(base.BaseFunctionalTest): - def test_list(self): extensions = list(self.conn.compute.extensions()) self.assertGreater(len(extensions), 0) diff --git a/openstack/tests/functional/compute/v2/test_flavor.py b/openstack/tests/functional/compute/v2/test_flavor.py index 13281edcb..8b72657f8 100644 --- a/openstack/tests/functional/compute/v2/test_flavor.py +++ b/openstack/tests/functional/compute/v2/test_flavor.py @@ -16,7 +16,6 @@ from openstack.tests.functional import base class TestFlavor(base.BaseFunctionalTest): - def setUp(self): super(TestFlavor, self).setUp() self.new_item_name = self.getUniqueString('flavor') @@ -42,14 +41,18 @@ class TestFlavor(base.BaseFunctionalTest): self.assertEqual(rslt.name, self.one_flavor.name) def test_find_flavors_no_match_ignore_true(self): - rslt = self.conn.compute.find_flavor("not a flavor", - ignore_missing=True) + rslt = self.conn.compute.find_flavor( + "not a flavor", ignore_missing=True + ) self.assertIsNone(rslt) def test_find_flavors_no_match_ignore_false(self): - self.assertRaises(exceptions.ResourceNotFound, - self.conn.compute.find_flavor, - "not a flavor", ignore_missing=False) + self.assertRaises( + exceptions.ResourceNotFound, + self.conn.compute.find_flavor, + "not a flavor", + ignore_missing=False, + ) def test_list_flavors(self): pub_flavor_name = self.new_item_name + '_public' @@ -81,11 +84,8 @@ class TestFlavor(base.BaseFunctionalTest): def test_flavor_access(self): flavor_name = uuid.uuid4().hex flv = self.operator_cloud.compute.create_flavor( - is_public=False, - name=flavor_name, - ram=128, - vcpus=1, - disk=0) + is_public=False, name=flavor_name, ram=128, vcpus=1, disk=0 + ) self.addCleanup(self.conn.compute.delete_flavor, flv.id) # Validate the 'demo' user cannot see the new flavor flv_cmp = self.user_cloud.compute.find_flavor(flavor_name) @@ -101,34 +101,29 @@ class TestFlavor(base.BaseFunctionalTest): # Now give 'demo' access self.operator_cloud.compute.flavor_add_tenant_access( - flv.id, project['id']) + flv.id, project['id'] + ) # Now see if the 'demo' user has access to it - flv_cmp = self.user_cloud.compute.find_flavor( - flavor_name) + flv_cmp = self.user_cloud.compute.find_flavor(flavor_name) self.assertIsNotNone(flv_cmp) # Now remove 'demo' access and check we can't find it self.operator_cloud.compute.flavor_remove_tenant_access( - flv.id, project['id']) + flv.id, project['id'] + ) - flv_cmp = self.user_cloud.compute.find_flavor( - flavor_name) + flv_cmp = self.user_cloud.compute.find_flavor(flavor_name) self.assertIsNone(flv_cmp) def test_extra_props_calls(self): flavor_name = uuid.uuid4().hex flv = self.conn.compute.create_flavor( - is_public=False, - name=flavor_name, - ram=128, - vcpus=1, - disk=0) + is_public=False, name=flavor_name, ram=128, vcpus=1, disk=0 + ) self.addCleanup(self.conn.compute.delete_flavor, flv.id) # Create extra_specs - specs = { - 'a': 'b' - } + specs = {'a': 'b'} self.conn.compute.create_flavor_extra_specs(flv, extra_specs=specs) # verify specs flv_cmp = self.conn.compute.fetch_flavor_extra_specs(flv) diff --git a/openstack/tests/functional/compute/v2/test_hypervisor.py b/openstack/tests/functional/compute/v2/test_hypervisor.py index 383a51dc8..2edeffc20 100644 --- a/openstack/tests/functional/compute/v2/test_hypervisor.py +++ b/openstack/tests/functional/compute/v2/test_hypervisor.py @@ -14,7 +14,6 @@ from openstack.tests.functional import base class TestHypervisor(base.BaseFunctionalTest): - def setUp(self): super(TestHypervisor, self).setUp() diff --git a/openstack/tests/functional/compute/v2/test_image.py b/openstack/tests/functional/compute/v2/test_image.py index 46b4c9cbf..5b6e131f2 100644 --- a/openstack/tests/functional/compute/v2/test_image.py +++ b/openstack/tests/functional/compute/v2/test_image.py @@ -16,7 +16,6 @@ from openstack.tests.functional.image.v2.test_image import TEST_IMAGE_NAME class TestImage(base.BaseFunctionalTest): - def test_images(self): images = list(self.conn.compute.images()) self.assertGreater(len(images), 0) diff --git a/openstack/tests/functional/compute/v2/test_keypair.py b/openstack/tests/functional/compute/v2/test_keypair.py index f76707174..d642ca74d 100644 --- a/openstack/tests/functional/compute/v2/test_keypair.py +++ b/openstack/tests/functional/compute/v2/test_keypair.py @@ -16,7 +16,6 @@ from openstack.tests.functional import base class TestKeypair(base.BaseFunctionalTest): - def setUp(self): super(TestKeypair, self).setUp() @@ -50,7 +49,6 @@ class TestKeypair(base.BaseFunctionalTest): class TestKeypairAdmin(base.BaseFunctionalTest): - def setUp(self): super(TestKeypairAdmin, self).setUp() self._set_operator_cloud(interface='admin') @@ -58,8 +56,9 @@ class TestKeypairAdmin(base.BaseFunctionalTest): self.NAME = self.getUniqueString().split('.')[-1] self.USER = self.operator_cloud.list_users()[0] - sot = self.conn.compute.create_keypair(name=self.NAME, - user_id=self.USER.id) + sot = self.conn.compute.create_keypair( + name=self.NAME, user_id=self.USER.id + ) assert isinstance(sot, keypair.Keypair) self.assertEqual(self.NAME, sot.name) self.assertEqual(self.USER.id, sot.user_id) diff --git a/openstack/tests/functional/compute/v2/test_limits.py b/openstack/tests/functional/compute/v2/test_limits.py index 27c362ae2..382fcd20b 100644 --- a/openstack/tests/functional/compute/v2/test_limits.py +++ b/openstack/tests/functional/compute/v2/test_limits.py @@ -14,7 +14,6 @@ from openstack.tests.functional import base class TestLimits(base.BaseFunctionalTest): - def test_limits(self): sot = self.conn.compute.get_limits() self.assertIsNotNone(sot.absolute['instances']) diff --git a/openstack/tests/functional/compute/v2/test_quota_set.py b/openstack/tests/functional/compute/v2/test_quota_set.py index 5fa04431d..ba7461bef 100644 --- a/openstack/tests/functional/compute/v2/test_quota_set.py +++ b/openstack/tests/functional/compute/v2/test_quota_set.py @@ -14,35 +14,31 @@ from openstack.tests.functional import base class TestQS(base.BaseFunctionalTest): - def test_qs(self): - sot = self.conn.compute.get_quota_set( - self.conn.current_project_id - ) + sot = self.conn.compute.get_quota_set(self.conn.current_project_id) self.assertIsNotNone(sot.key_pairs) def test_qs_user(self): sot = self.conn.compute.get_quota_set( self.conn.current_project_id, - user_id=self.conn.session.auth.get_user_id(self.conn.compute) + user_id=self.conn.session.auth.get_user_id(self.conn.compute), ) self.assertIsNotNone(sot.key_pairs) def test_update(self): - sot = self.conn.compute.get_quota_set( - self.conn.current_project_id - ) + sot = self.conn.compute.get_quota_set(self.conn.current_project_id) self.conn.compute.update_quota_set( sot, query={ 'user_id': self.conn.session.auth.get_user_id( - self.conn.compute) + self.conn.compute + ) }, - key_pairs=100 + key_pairs=100, ) def test_revert(self): self.conn.compute.revert_quota_set( self.conn.current_project_id, - user_id=self.conn.session.auth.get_user_id(self.conn.compute) + user_id=self.conn.session.auth.get_user_id(self.conn.compute), ) diff --git a/openstack/tests/functional/compute/v2/test_server.py b/openstack/tests/functional/compute/v2/test_server.py index 8803607a4..c19566edb 100644 --- a/openstack/tests/functional/compute/v2/test_server.py +++ b/openstack/tests/functional/compute/v2/test_server.py @@ -16,7 +16,6 @@ from openstack.tests.functional.network.v2 import test_network class TestServerAdmin(ft_base.BaseComputeTest): - def setUp(self): super(TestServerAdmin, self).setUp() self._set_operator_cloud(interface='admin') @@ -47,8 +46,9 @@ class TestServerAdmin(ft_base.BaseComputeTest): def tearDown(self): sot = self.conn.compute.delete_server(self.server.id) - self.conn.compute.wait_for_delete(self.server, - wait=self._wait_for_timeout) + self.conn.compute.wait_for_delete( + self.server, wait=self._wait_for_timeout + ) self.assertIsNone(sot) super(TestServerAdmin, self).tearDown() @@ -65,7 +65,6 @@ class TestServerAdmin(ft_base.BaseComputeTest): class TestServer(ft_base.BaseComputeTest): - def setUp(self): super(TestServer, self).setUp() self.NAME = self.getUniqueString() @@ -75,9 +74,8 @@ class TestServer(ft_base.BaseComputeTest): self.cidr = '10.99.99.0/16' self.network, self.subnet = test_network.create_network( - self.conn, - self.NAME, - self.cidr) + self.conn, self.NAME, self.cidr + ) self.assertIsNotNone(self.network) sot = self.conn.compute.create_server( @@ -95,8 +93,9 @@ class TestServer(ft_base.BaseComputeTest): sot = self.conn.compute.delete_server(self.server.id) self.assertIsNone(sot) # Need to wait for the stack to go away before network delete - self.conn.compute.wait_for_delete(self.server, - wait=self._wait_for_timeout) + self.conn.compute.wait_for_delete( + self.server, wait=self._wait_for_timeout + ) test_network.delete_network(self.conn, self.network, self.subnet) super(TestServer, self).tearDown() @@ -166,13 +165,15 @@ class TestServer(ft_base.BaseComputeTest): # delete metadata self.conn.compute.delete_server_metadata( - test_server, test_server.metadata.keys()) + test_server, test_server.metadata.keys() + ) test_server = self.conn.compute.get_server_metadata(test_server) self.assertFalse(test_server.metadata) def test_server_remote_console(self): console = self.conn.compute.create_server_remote_console( - self.server, protocol='vnc', type='novnc') + self.server, protocol='vnc', type='novnc' + ) self.assertEqual('vnc', console.protocol) self.assertEqual('novnc', console.type) self.assertTrue(console.url.startswith('http')) diff --git a/openstack/tests/functional/compute/v2/test_service.py b/openstack/tests/functional/compute/v2/test_service.py index 31323cc88..2403aaf0e 100644 --- a/openstack/tests/functional/compute/v2/test_service.py +++ b/openstack/tests/functional/compute/v2/test_service.py @@ -14,7 +14,6 @@ from openstack.tests.functional import base class TestService(base.BaseFunctionalTest): - def setUp(self): super(TestService, self).setUp() self._set_operator_cloud(interface='admin') @@ -34,9 +33,11 @@ class TestService(base.BaseFunctionalTest): for srv in self.conn.compute.services(): if srv.name == 'nova-compute': self.conn.compute.update_service_forced_down( - srv, None, None, True) + srv, None, None, True + ) self.conn.compute.update_service_forced_down( - srv, srv.host, srv.binary, False) + srv, srv.host, srv.binary, False + ) self.conn.compute.update_service(srv, status='enabled') def test_find(self): @@ -44,4 +45,5 @@ class TestService(base.BaseFunctionalTest): if srv.name != 'nova-conductor': # In devstack there are 2 nova-conductor instances on same host self.conn.compute.find_service( - srv.name, host=srv.host, ignore_missing=False) + srv.name, host=srv.host, ignore_missing=False + ) diff --git a/openstack/tests/unit/compute/test_version.py b/openstack/tests/unit/compute/test_version.py index 9bf6bff23..f33ca9f57 100644 --- a/openstack/tests/unit/compute/test_version.py +++ b/openstack/tests/unit/compute/test_version.py @@ -24,7 +24,6 @@ EXAMPLE = { class TestVersion(base.TestCase): - def test_basic(self): sot = version.Version() self.assertEqual('version', sot.resource_key) diff --git a/openstack/tests/unit/compute/v2/test_aggregate.py b/openstack/tests/unit/compute/v2/test_aggregate.py index 220587dbb..9bc0f6b3c 100644 --- a/openstack/tests/unit/compute/v2/test_aggregate.py +++ b/openstack/tests/unit/compute/v2/test_aggregate.py @@ -29,12 +29,11 @@ EXAMPLE = { "deleted_at": None, "id": 4, "uuid": IDENTIFIER, - "metadata": {"type": "public", "family": "m-family"} + "metadata": {"type": "public", "family": "m-family"}, } class TestAggregate(base.TestCase): - def setUp(self): super(TestAggregate, self).setUp() self.resp = mock.Mock() @@ -76,8 +75,7 @@ class TestAggregate(base.TestCase): url = 'os-aggregates/4/action' body = {"add_host": {"host": "host1"}} - self.sess.post.assert_called_with( - url, json=body, microversion=None) + self.sess.post.assert_called_with(url, json=body, microversion=None) def test_remove_host(self): sot = aggregate.Aggregate(**EXAMPLE) @@ -86,8 +84,7 @@ class TestAggregate(base.TestCase): url = 'os-aggregates/4/action' body = {"remove_host": {"host": "host1"}} - self.sess.post.assert_called_with( - url, json=body, microversion=None) + self.sess.post.assert_called_with(url, json=body, microversion=None) def test_set_metadata(self): sot = aggregate.Aggregate(**EXAMPLE) @@ -96,8 +93,7 @@ class TestAggregate(base.TestCase): url = 'os-aggregates/4/action' body = {"set_metadata": {"metadata": {"key: value"}}} - self.sess.post.assert_called_with( - url, json=body, microversion=None) + self.sess.post.assert_called_with(url, json=body, microversion=None) def test_precache_image(self): sot = aggregate.Aggregate(**EXAMPLE) @@ -107,4 +103,5 @@ class TestAggregate(base.TestCase): url = 'os-aggregates/4/images' body = {"cache": ['1']} self.sess.post.assert_called_with( - url, json=body, microversion=sot._max_microversion) + url, json=body, microversion=sot._max_microversion + ) diff --git a/openstack/tests/unit/compute/v2/test_availability_zone.py b/openstack/tests/unit/compute/v2/test_availability_zone.py index e454140e0..c71d96f00 100644 --- a/openstack/tests/unit/compute/v2/test_availability_zone.py +++ b/openstack/tests/unit/compute/v2/test_availability_zone.py @@ -19,12 +19,11 @@ BASIC_EXAMPLE = { 'id': IDENTIFIER, 'zoneState': 'available', 'hosts': 'host1', - 'zoneName': 'zone1' + 'zoneName': 'zone1', } class TestAvailabilityZone(base.TestCase): - def test_basic(self): sot = az.AvailabilityZone() self.assertEqual('availabilityZoneInfo', sot.resources_key) diff --git a/openstack/tests/unit/compute/v2/test_extension.py b/openstack/tests/unit/compute/v2/test_extension.py index 08f4930a1..ddf54bd9e 100644 --- a/openstack/tests/unit/compute/v2/test_extension.py +++ b/openstack/tests/unit/compute/v2/test_extension.py @@ -26,7 +26,6 @@ EXAMPLE = { class TestExtension(base.TestCase): - def test_basic(self): sot = extension.Extension() self.assertEqual('extension', sot.resource_key) diff --git a/openstack/tests/unit/compute/v2/test_flavor.py b/openstack/tests/unit/compute/v2/test_flavor.py index 6cc5134c1..d3bc42350 100644 --- a/openstack/tests/unit/compute/v2/test_flavor.py +++ b/openstack/tests/unit/compute/v2/test_flavor.py @@ -31,7 +31,7 @@ BASIC_EXAMPLE = { 'swap': 8, 'OS-FLV-EXT-DATA:ephemeral': 9, 'OS-FLV-DISABLED:disabled': False, - 'rxtx_factor': 11.0 + 'rxtx_factor': 11.0, } DEFAULTS_EXAMPLE = { 'links': '2', @@ -41,7 +41,6 @@ DEFAULTS_EXAMPLE = { class TestFlavor(base.TestCase): - def setUp(self): super(TestFlavor, self).setUp() self.sess = mock.Mock(spec=adapter.Adapter) @@ -59,14 +58,18 @@ class TestFlavor(base.TestCase): self.assertTrue(sot.allow_list) self.assertTrue(sot.allow_commit) - self.assertDictEqual({"sort_key": "sort_key", - "sort_dir": "sort_dir", - "min_disk": "minDisk", - "min_ram": "minRam", - "limit": "limit", - "marker": "marker", - "is_public": "is_public"}, - sot._query_mapping._mapping) + self.assertDictEqual( + { + "sort_key": "sort_key", + "sort_dir": "sort_dir", + "min_disk": "minDisk", + "min_ram": "minRam", + "limit": "limit", + "marker": "marker", + "is_public": "is_public", + }, + sot._query_mapping._mapping, + ) def test_make_basic(self): sot = flavor.Flavor(**BASIC_EXAMPLE) @@ -74,15 +77,18 @@ class TestFlavor(base.TestCase): self.assertEqual(BASIC_EXAMPLE['name'], sot.name) self.assertEqual(BASIC_EXAMPLE['description'], sot.description) self.assertEqual(BASIC_EXAMPLE['disk'], sot.disk) - self.assertEqual(BASIC_EXAMPLE['os-flavor-access:is_public'], - sot.is_public) + self.assertEqual( + BASIC_EXAMPLE['os-flavor-access:is_public'], sot.is_public + ) self.assertEqual(BASIC_EXAMPLE['ram'], sot.ram) self.assertEqual(BASIC_EXAMPLE['vcpus'], sot.vcpus) self.assertEqual(BASIC_EXAMPLE['swap'], sot.swap) - self.assertEqual(BASIC_EXAMPLE['OS-FLV-EXT-DATA:ephemeral'], - sot.ephemeral) - self.assertEqual(BASIC_EXAMPLE['OS-FLV-DISABLED:disabled'], - sot.is_disabled) + self.assertEqual( + BASIC_EXAMPLE['OS-FLV-EXT-DATA:ephemeral'], sot.ephemeral + ) + self.assertEqual( + BASIC_EXAMPLE['OS-FLV-DISABLED:disabled'], sot.is_disabled + ) self.assertEqual(BASIC_EXAMPLE['rxtx_factor'], sot.rxtx_factor) def test_make_defaults(self): @@ -119,10 +125,8 @@ class TestFlavor(base.TestCase): self.sess.post.assert_called_with( 'flavors/IDENTIFIER/action', - json={ - 'addTenantAccess': { - 'tenant': 'fake_tenant'}}, - headers={'Accept': ''} + json={'addTenantAccess': {'tenant': 'fake_tenant'}}, + headers={'Accept': ''}, ) def test_remove_tenant_access(self): @@ -137,19 +141,18 @@ class TestFlavor(base.TestCase): self.sess.post.assert_called_with( 'flavors/IDENTIFIER/action', - json={ - 'removeTenantAccess': { - 'tenant': 'fake_tenant'}}, - headers={'Accept': ''} + json={'removeTenantAccess': {'tenant': 'fake_tenant'}}, + headers={'Accept': ''}, ) def test_get_flavor_access(self): sot = flavor.Flavor(**BASIC_EXAMPLE) resp = mock.Mock() - resp.body = {'flavor_access': [ - {'flavor_id': 'fake_flavor', - 'tenant_id': 'fake_tenant'} - ]} + resp.body = { + 'flavor_access': [ + {'flavor_id': 'fake_flavor', 'tenant_id': 'fake_tenant'} + ] + } resp.json = mock.Mock(return_value=resp.body) resp.status_code = 200 self.sess.get = mock.Mock(return_value=resp) @@ -165,11 +168,7 @@ class TestFlavor(base.TestCase): def test_fetch_extra_specs(self): sot = flavor.Flavor(**BASIC_EXAMPLE) resp = mock.Mock() - resp.body = { - 'extra_specs': - {'a': 'b', - 'c': 'd'} - } + resp.body = {'extra_specs': {'a': 'b', 'c': 'd'}} resp.json = mock.Mock(return_value=resp.body) resp.status_code = 200 self.sess.get = mock.Mock(return_value=resp) @@ -178,7 +177,7 @@ class TestFlavor(base.TestCase): self.sess.get.assert_called_with( 'flavors/IDENTIFIER/os-extra_specs', - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertEqual(resp.body['extra_specs'], rsp.extra_specs) @@ -186,14 +185,9 @@ class TestFlavor(base.TestCase): def test_create_extra_specs(self): sot = flavor.Flavor(**BASIC_EXAMPLE) - specs = { - 'a': 'b', - 'c': 'd' - } + specs = {'a': 'b', 'c': 'd'} resp = mock.Mock() - resp.body = { - 'extra_specs': specs - } + resp.body = {'extra_specs': specs} resp.json = mock.Mock(return_value=resp.body) resp.status_code = 200 self.sess.post = mock.Mock(return_value=resp) @@ -203,7 +197,7 @@ class TestFlavor(base.TestCase): self.sess.post.assert_called_with( 'flavors/IDENTIFIER/os-extra_specs', json={'extra_specs': specs}, - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertEqual(resp.body['extra_specs'], rsp.extra_specs) @@ -212,9 +206,7 @@ class TestFlavor(base.TestCase): def test_get_extra_specs_property(self): sot = flavor.Flavor(**BASIC_EXAMPLE) resp = mock.Mock() - resp.body = { - 'a': 'b' - } + resp.body = {'a': 'b'} resp.json = mock.Mock(return_value=resp.body) resp.status_code = 200 self.sess.get = mock.Mock(return_value=resp) @@ -223,7 +215,7 @@ class TestFlavor(base.TestCase): self.sess.get.assert_called_with( 'flavors/IDENTIFIER/os-extra_specs/a', - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertEqual('b', rsp) @@ -231,9 +223,7 @@ class TestFlavor(base.TestCase): def test_update_extra_specs_property(self): sot = flavor.Flavor(**BASIC_EXAMPLE) resp = mock.Mock() - resp.body = { - 'a': 'b' - } + resp.body = {'a': 'b'} resp.json = mock.Mock(return_value=resp.body) resp.status_code = 200 self.sess.put = mock.Mock(return_value=resp) @@ -243,7 +233,7 @@ class TestFlavor(base.TestCase): self.sess.put.assert_called_with( 'flavors/IDENTIFIER/os-extra_specs/a', json={'a': 'b'}, - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertEqual('b', rsp) @@ -260,7 +250,7 @@ class TestFlavor(base.TestCase): self.sess.delete.assert_called_with( 'flavors/IDENTIFIER/os-extra_specs/a', - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertIsNone(rsp) diff --git a/openstack/tests/unit/compute/v2/test_hypervisor.py b/openstack/tests/unit/compute/v2/test_hypervisor.py index e6e33189b..7c63f0a9a 100644 --- a/openstack/tests/unit/compute/v2/test_hypervisor.py +++ b/openstack/tests/unit/compute/v2/test_hypervisor.py @@ -25,27 +25,20 @@ EXAMPLE = { "arch": "x86_64", "model": "Nehalem", "vendor": "Intel", - "features": [ - "pge", - "clflush" - ], - "topology": { - "cores": 1, - "threads": 1, - "sockets": 4 - } + "features": ["pge", "clflush"], + "topology": {"cores": 1, "threads": 1, "sockets": 4}, }, "state": "up", "status": "enabled", "servers": [ { "name": "test_server1", - "uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + "uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", }, { "name": "test_server2", - "uuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" - } + "uuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", + }, ], "host_ip": "1.1.1.1", "hypervisor_hostname": "fake-mini", @@ -54,11 +47,12 @@ EXAMPLE = { "id": "b1e43b5f-eec1-44e0-9f10-7b4945c0226d", "uptime": ( " 08:32:11 up 93 days, 18:25, 12 users, " - "load average: 0.20, 0.12, 0.14"), + "load average: 0.20, 0.12, 0.14" + ), "service": { "host": "043b3cacf6f34c90a7245151fc8ebcda", "id": "5d343e1d-938e-4284-b98b-6a2b5406ba76", - "disabled_reason": None + "disabled_reason": None, }, # deprecated attributes "vcpus_used": 0, @@ -76,7 +70,6 @@ EXAMPLE = { class TestHypervisor(base.TestCase): - def setUp(self): super(TestHypervisor, self).setUp() self.sess = mock.Mock(spec=adapter.Adapter) @@ -91,12 +84,15 @@ class TestHypervisor(base.TestCase): self.assertTrue(sot.allow_fetch) self.assertTrue(sot.allow_list) - self.assertDictEqual({'hypervisor_hostname_pattern': - 'hypervisor_hostname_pattern', - 'limit': 'limit', - 'marker': 'marker', - 'with_servers': 'with_servers'}, - sot._query_mapping._mapping) + self.assertDictEqual( + { + 'hypervisor_hostname_pattern': 'hypervisor_hostname_pattern', + 'limit': 'limit', + 'marker': 'marker', + 'with_servers': 'with_servers', + }, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = hypervisor.Hypervisor(**EXAMPLE) @@ -126,8 +122,11 @@ class TestHypervisor(base.TestCase): self.assertEqual(EXAMPLE['local_gb'], sot.local_disk_size) self.assertEqual(EXAMPLE['free_ram_mb'], sot.memory_free) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_get_uptime(self, mv_mock): sot = hypervisor.Hypervisor(**copy.deepcopy(EXAMPLE)) rsp = { @@ -136,7 +135,7 @@ class TestHypervisor(base.TestCase): "id": sot.id, "state": "up", "status": "enabled", - "uptime": "08:32:11 up 93 days, 18:25, 12 users" + "uptime": "08:32:11 up 93 days, 18:25, 12 users", } } resp = mock.Mock() @@ -149,17 +148,16 @@ class TestHypervisor(base.TestCase): hyp = sot.get_uptime(self.sess) self.sess.get.assert_called_with( 'os-hypervisors/{id}/uptime'.format(id=sot.id), - microversion=self.sess.default_microversion + microversion=self.sess.default_microversion, ) self.assertEqual(rsp['hypervisor']['uptime'], hyp.uptime) self.assertEqual(rsp['hypervisor']['status'], sot.status) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_get_uptime_after_2_88(self, mv_mock): sot = hypervisor.Hypervisor(**copy.deepcopy(EXAMPLE)) - self.assertRaises( - exceptions.SDKException, - sot.get_uptime, - self.sess - ) + self.assertRaises(exceptions.SDKException, sot.get_uptime, self.sess) diff --git a/openstack/tests/unit/compute/v2/test_image.py b/openstack/tests/unit/compute/v2/test_image.py index a0b4957d5..01019da42 100644 --- a/openstack/tests/unit/compute/v2/test_image.py +++ b/openstack/tests/unit/compute/v2/test_image.py @@ -27,12 +27,11 @@ EXAMPLE = { 'progress': 5, 'status': '6', 'updated': '2015-03-09T12:15:57.233772', - 'OS-EXT-IMG-SIZE:size': 8 + 'OS-EXT-IMG-SIZE:size': 8, } class TestImage(base.TestCase): - def test_basic(self): sot = image.Image() self.assertEqual('image', sot.resource_key) @@ -44,16 +43,20 @@ class TestImage(base.TestCase): self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) - self.assertDictEqual({"server": "server", - "name": "name", - "status": "status", - "type": "type", - "min_disk": "minDisk", - "min_ram": "minRam", - "changes_since": "changes-since", - "limit": "limit", - "marker": "marker"}, - sot._query_mapping._mapping) + self.assertDictEqual( + { + "server": "server", + "name": "name", + "status": "status", + "type": "type", + "min_disk": "minDisk", + "min_ram": "minRam", + "changes_since": "changes-since", + "limit": "limit", + "marker": "marker", + }, + sot._query_mapping._mapping, + ) def test_make_basic(self): sot = image.Image(**EXAMPLE) diff --git a/openstack/tests/unit/compute/v2/test_keypair.py b/openstack/tests/unit/compute/v2/test_keypair.py index ee5aaecd8..d471d2fc2 100644 --- a/openstack/tests/unit/compute/v2/test_keypair.py +++ b/openstack/tests/unit/compute/v2/test_keypair.py @@ -22,12 +22,11 @@ EXAMPLE = { 'public_key': '3', 'private_key': '4', 'type': 'ssh', - 'user_id': '5' + 'user_id': '5', } class TestKeypair(base.TestCase): - def test_basic(self): sot = keypair.Keypair() self.assertEqual('keypair', sot.resource_key) @@ -39,10 +38,10 @@ class TestKeypair(base.TestCase): self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) - self.assertDictEqual({'limit': 'limit', - 'marker': 'marker', - 'user_id': 'user_id'}, - sot._query_mapping._mapping) + self.assertDictEqual( + {'limit': 'limit', 'marker': 'marker', 'user_id': 'user_id'}, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = keypair.Keypair(**EXAMPLE) diff --git a/openstack/tests/unit/compute/v2/test_limits.py b/openstack/tests/unit/compute/v2/test_limits.py index 3c44d90cb..90da84d9d 100644 --- a/openstack/tests/unit/compute/v2/test_limits.py +++ b/openstack/tests/unit/compute/v2/test_limits.py @@ -35,7 +35,7 @@ ABSOLUTE_LIMITS = { "totalRAMUsed": 4, "totalInstancesUsed": 5, "totalServerGroupsUsed": 6, - "totalCoresUsed": 7 + "totalCoresUsed": 7, } RATE_LIMIT = { @@ -45,23 +45,17 @@ RATE_LIMIT = { "remaining": 120, "unit": "MINUTE", "value": 120, - "verb": "POST" + "verb": "POST", }, ], "regex": ".*", - "uri": "*" + "uri": "*", } -LIMITS_BODY = { - "limits": { - "absolute": ABSOLUTE_LIMITS, - "rate": [RATE_LIMIT] - } -} +LIMITS_BODY = {"limits": {"absolute": ABSOLUTE_LIMITS, "rate": [RATE_LIMIT]}} class TestAbsoluteLimits(base.TestCase): - def test_basic(self): sot = limits.AbsoluteLimits() self.assertIsNone(sot.resource_key) @@ -76,38 +70,44 @@ class TestAbsoluteLimits(base.TestCase): def test_make_it(self): sot = limits.AbsoluteLimits(**ABSOLUTE_LIMITS) self.assertEqual(ABSOLUTE_LIMITS["maxImageMeta"], sot.image_meta) - self.assertEqual(ABSOLUTE_LIMITS["maxSecurityGroupRules"], - sot.security_group_rules) - self.assertEqual(ABSOLUTE_LIMITS["maxSecurityGroups"], - sot.security_groups) + self.assertEqual( + ABSOLUTE_LIMITS["maxSecurityGroupRules"], sot.security_group_rules + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxSecurityGroups"], sot.security_groups + ) self.assertEqual(ABSOLUTE_LIMITS["maxServerMeta"], sot.server_meta) self.assertEqual(ABSOLUTE_LIMITS["maxTotalCores"], sot.total_cores) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalFloatingIps"], - sot.floating_ips) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalInstances"], - sot.instances) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalKeypairs"], - sot.keypairs) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalRAMSize"], - sot.total_ram) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalFloatingIps"], sot.floating_ips + ) + self.assertEqual(ABSOLUTE_LIMITS["maxTotalInstances"], sot.instances) + self.assertEqual(ABSOLUTE_LIMITS["maxTotalKeypairs"], sot.keypairs) + self.assertEqual(ABSOLUTE_LIMITS["maxTotalRAMSize"], sot.total_ram) self.assertEqual(ABSOLUTE_LIMITS["maxServerGroups"], sot.server_groups) - self.assertEqual(ABSOLUTE_LIMITS["maxServerGroupMembers"], - sot.server_group_members) - self.assertEqual(ABSOLUTE_LIMITS["totalFloatingIpsUsed"], - sot.floating_ips_used) - self.assertEqual(ABSOLUTE_LIMITS["totalSecurityGroupsUsed"], - sot.security_groups_used) + self.assertEqual( + ABSOLUTE_LIMITS["maxServerGroupMembers"], sot.server_group_members + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalFloatingIpsUsed"], sot.floating_ips_used + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalSecurityGroupsUsed"], + sot.security_groups_used, + ) self.assertEqual(ABSOLUTE_LIMITS["totalRAMUsed"], sot.total_ram_used) - self.assertEqual(ABSOLUTE_LIMITS["totalInstancesUsed"], - sot.instances_used) - self.assertEqual(ABSOLUTE_LIMITS["totalServerGroupsUsed"], - sot.server_groups_used) - self.assertEqual(ABSOLUTE_LIMITS["totalCoresUsed"], - sot.total_cores_used) + self.assertEqual( + ABSOLUTE_LIMITS["totalInstancesUsed"], sot.instances_used + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalServerGroupsUsed"], sot.server_groups_used + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalCoresUsed"], sot.total_cores_used + ) class TestRateLimit(base.TestCase): - def test_basic(self): sot = limits.RateLimit() self.assertIsNone(sot.resource_key) @@ -128,7 +128,6 @@ class TestRateLimit(base.TestCase): class TestLimits(base.TestCase): - def test_basic(self): sot = limits.Limits() self.assertEqual("limits", sot.resource_key) @@ -139,11 +138,7 @@ class TestLimits(base.TestCase): self.assertFalse(sot.allow_delete) self.assertFalse(sot.allow_list) self.assertDictEqual( - { - 'limit': 'limit', - 'marker': 'marker', - 'tenant_id': 'tenant_id' - }, + {'limit': 'limit', 'marker': 'marker', 'tenant_id': 'tenant_id'}, sot._query_mapping._mapping, ) @@ -158,40 +153,62 @@ class TestLimits(base.TestCase): sot = limits.Limits().fetch(sess) - self.assertEqual(ABSOLUTE_LIMITS["maxImageMeta"], - sot.absolute.image_meta) - self.assertEqual(ABSOLUTE_LIMITS["maxSecurityGroupRules"], - sot.absolute.security_group_rules) - self.assertEqual(ABSOLUTE_LIMITS["maxSecurityGroups"], - sot.absolute.security_groups) - self.assertEqual(ABSOLUTE_LIMITS["maxServerMeta"], - sot.absolute.server_meta) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalCores"], - sot.absolute.total_cores) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalFloatingIps"], - sot.absolute.floating_ips) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalInstances"], - sot.absolute.instances) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalKeypairs"], - sot.absolute.keypairs) - self.assertEqual(ABSOLUTE_LIMITS["maxTotalRAMSize"], - sot.absolute.total_ram) - self.assertEqual(ABSOLUTE_LIMITS["maxServerGroups"], - sot.absolute.server_groups) - self.assertEqual(ABSOLUTE_LIMITS["maxServerGroupMembers"], - sot.absolute.server_group_members) - self.assertEqual(ABSOLUTE_LIMITS["totalFloatingIpsUsed"], - sot.absolute.floating_ips_used) - self.assertEqual(ABSOLUTE_LIMITS["totalSecurityGroupsUsed"], - sot.absolute.security_groups_used) - self.assertEqual(ABSOLUTE_LIMITS["totalRAMUsed"], - sot.absolute.total_ram_used) - self.assertEqual(ABSOLUTE_LIMITS["totalInstancesUsed"], - sot.absolute.instances_used) - self.assertEqual(ABSOLUTE_LIMITS["totalServerGroupsUsed"], - sot.absolute.server_groups_used) - self.assertEqual(ABSOLUTE_LIMITS["totalCoresUsed"], - sot.absolute.total_cores_used) + self.assertEqual( + ABSOLUTE_LIMITS["maxImageMeta"], sot.absolute.image_meta + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxSecurityGroupRules"], + sot.absolute.security_group_rules, + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxSecurityGroups"], sot.absolute.security_groups + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxServerMeta"], sot.absolute.server_meta + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalCores"], sot.absolute.total_cores + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalFloatingIps"], sot.absolute.floating_ips + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalInstances"], sot.absolute.instances + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalKeypairs"], sot.absolute.keypairs + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxTotalRAMSize"], sot.absolute.total_ram + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxServerGroups"], sot.absolute.server_groups + ) + self.assertEqual( + ABSOLUTE_LIMITS["maxServerGroupMembers"], + sot.absolute.server_group_members, + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalFloatingIpsUsed"], + sot.absolute.floating_ips_used, + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalSecurityGroupsUsed"], + sot.absolute.security_groups_used, + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalRAMUsed"], sot.absolute.total_ram_used + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalInstancesUsed"], sot.absolute.instances_used + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalServerGroupsUsed"], + sot.absolute.server_groups_used, + ) + self.assertEqual( + ABSOLUTE_LIMITS["totalCoresUsed"], sot.absolute.total_cores_used + ) self.assertEqual(RATE_LIMIT["uri"], sot.rate[0].uri) self.assertEqual(RATE_LIMIT["regex"], sot.rate[0].regex) @@ -204,4 +221,5 @@ class TestLimits(base.TestCase): self.assertEqual(RATE_LIMIT["uri"], dsot['rate'][0]['uri']) self.assertEqual( ABSOLUTE_LIMITS["totalSecurityGroupsUsed"], - dsot['absolute']['security_groups_used']) + dsot['absolute']['security_groups_used'], + ) diff --git a/openstack/tests/unit/compute/v2/test_migration.py b/openstack/tests/unit/compute/v2/test_migration.py index ad4315767..739916b16 100644 --- a/openstack/tests/unit/compute/v2/test_migration.py +++ b/openstack/tests/unit/compute/v2/test_migration.py @@ -33,7 +33,6 @@ EXAMPLE = { class TestMigration(base.TestCase): - def test_basic(self): sot = migration.Migration() self.assertIsNone(sot.resource_key) # we don't support fetch diff --git a/openstack/tests/unit/compute/v2/test_proxy.py b/openstack/tests/unit/compute/v2/test_proxy.py index cece6643e..2d488acd1 100644 --- a/openstack/tests/unit/compute/v2/test_proxy.py +++ b/openstack/tests/unit/compute/v2/test_proxy.py @@ -65,9 +65,10 @@ class TestFlavor(TestComputeProxy): def test_flavor_find_query(self): self.verify_find( - self.proxy.find_flavor, flavor.Flavor, + self.proxy.find_flavor, + flavor.Flavor, method_kwargs={"a": "b"}, - expected_kwargs={"a": "b", "ignore_missing": True} + expected_kwargs={"a": "b", "ignore_missing": True}, ) def test_flavor_find_fetch_extra(self): @@ -84,7 +85,7 @@ class TestFlavor(TestComputeProxy): method_kwargs={'get_extra_specs': True}, expected_result=res, expected_args=[flavor.Flavor, 'res'], - expected_kwargs={'ignore_missing': True} + expected_kwargs={'ignore_missing': True}, ) mocked.assert_called_once() @@ -101,7 +102,7 @@ class TestFlavor(TestComputeProxy): method_args=['res', True], expected_result=res, expected_args=[flavor.Flavor, 'res'], - expected_kwargs={'ignore_missing': True} + expected_kwargs={'ignore_missing': True}, ) mocked.assert_not_called() @@ -117,7 +118,7 @@ class TestFlavor(TestComputeProxy): self.proxy.get_flavor, method_args=['res'], expected_result=res, - expected_args=[flavor.Flavor, 'res'] + expected_args=[flavor.Flavor, 'res'], ) mocked.assert_not_called() @@ -133,7 +134,7 @@ class TestFlavor(TestComputeProxy): self.proxy.get_flavor, method_args=['res', True], expected_result=res, - expected_args=[flavor.Flavor, 'res'] + expected_args=[flavor.Flavor, 'res'], ) mocked.assert_called_once() @@ -149,7 +150,7 @@ class TestFlavor(TestComputeProxy): self.proxy.get_flavor, method_args=['res', True], expected_result=res, - expected_args=[flavor.Flavor, 'res'] + expected_args=[flavor.Flavor, 'res'], ) mocked.assert_not_called() @@ -161,8 +162,7 @@ class TestFlavor(TestComputeProxy): self.assertIsNotNone(r) fetch_mock.assert_not_called() list_mock.assert_called_with( - flavor.Flavor, - base_path="/flavors/detail" + flavor.Flavor, base_path="/flavors/detail" ) @mock.patch("openstack.proxy.Proxy._list") @@ -172,10 +172,7 @@ class TestFlavor(TestComputeProxy): for r in res: self.assertIsNotNone(r) fetch_mock.assert_not_called() - list_mock.assert_called_with( - flavor.Flavor, - base_path="/flavors" - ) + list_mock.assert_called_with(flavor.Flavor, base_path="/flavors") @mock.patch("openstack.proxy.Proxy._list") @mock.patch("openstack.compute.v2.flavor.Flavor.fetch_extra_specs") @@ -184,9 +181,7 @@ class TestFlavor(TestComputeProxy): for r in res: fetch_mock.assert_called_with(self.proxy) list_mock.assert_called_with( - flavor.Flavor, - base_path="/flavors", - a="b" + flavor.Flavor, base_path="/flavors", a="b" ) @mock.patch("openstack.proxy.Proxy._list") @@ -195,38 +190,39 @@ class TestFlavor(TestComputeProxy): res = self.proxy.flavors(details=False, get_extra_specs=True) for r in res: fetch_mock.assert_called_with(self.proxy) - list_mock.assert_called_with( - flavor.Flavor, - base_path="/flavors" - ) + list_mock.assert_called_with(flavor.Flavor, base_path="/flavors") def test_flavor_get_access(self): self._verify( "openstack.compute.v2.flavor.Flavor.get_access", self.proxy.get_flavor_access, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_flavor_add_tenant_access(self): self._verify( "openstack.compute.v2.flavor.Flavor.add_tenant_access", self.proxy.flavor_add_tenant_access, method_args=["value", "fake-tenant"], - expected_args=[self.proxy, "fake-tenant"]) + expected_args=[self.proxy, "fake-tenant"], + ) def test_flavor_remove_tenant_access(self): self._verify( "openstack.compute.v2.flavor.Flavor.remove_tenant_access", self.proxy.flavor_remove_tenant_access, method_args=["value", "fake-tenant"], - expected_args=[self.proxy, "fake-tenant"]) + expected_args=[self.proxy, "fake-tenant"], + ) def test_flavor_fetch_extra_specs(self): self._verify( "openstack.compute.v2.flavor.Flavor.fetch_extra_specs", self.proxy.fetch_flavor_extra_specs, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_create_flavor_extra_specs(self): self._verify( @@ -234,28 +230,32 @@ class TestFlavor(TestComputeProxy): self.proxy.create_flavor_extra_specs, method_args=["value", {'a': 'b'}], expected_args=[self.proxy], - expected_kwargs={"specs": {'a': 'b'}}) + expected_kwargs={"specs": {'a': 'b'}}, + ) def test_get_flavor_extra_specs_prop(self): self._verify( "openstack.compute.v2.flavor.Flavor.get_extra_specs_property", self.proxy.get_flavor_extra_specs_property, method_args=["value", "prop"], - expected_args=[self.proxy, "prop"]) + expected_args=[self.proxy, "prop"], + ) def test_update_flavor_extra_specs_prop(self): self._verify( "openstack.compute.v2.flavor.Flavor.update_extra_specs_property", self.proxy.update_flavor_extra_specs_property, method_args=["value", "prop", "val"], - expected_args=[self.proxy, "prop", "val"]) + expected_args=[self.proxy, "prop", "val"], + ) def test_delete_flavor_extra_specs_prop(self): self._verify( "openstack.compute.v2.flavor.Flavor.delete_extra_specs_property", self.proxy.delete_flavor_extra_specs_property, method_args=["value", "prop"], - expected_args=[self.proxy, "prop"]) + expected_args=[self.proxy, "prop"], + ) class TestKeyPair(TestComputeProxy): @@ -270,10 +270,11 @@ class TestKeyPair(TestComputeProxy): def test_keypair_delete_user_id(self): self.verify_delete( - self.proxy.delete_keypair, keypair.Keypair, + self.proxy.delete_keypair, + keypair.Keypair, True, method_kwargs={'user_id': 'fake_user'}, - expected_kwargs={'user_id': 'fake_user'} + expected_kwargs={'user_id': 'fake_user'}, ) def test_keypair_find(self): @@ -281,9 +282,10 @@ class TestKeyPair(TestComputeProxy): def test_keypair_find_user_id(self): self.verify_find( - self.proxy.find_keypair, keypair.Keypair, + self.proxy.find_keypair, + keypair.Keypair, method_kwargs={'user_id': 'fake_user'}, - expected_kwargs={'user_id': 'fake_user'} + expected_kwargs={'user_id': 'fake_user'}, ) def test_keypair_get(self): @@ -291,9 +293,10 @@ class TestKeyPair(TestComputeProxy): def test_keypair_get_user_id(self): self.verify_get( - self.proxy.get_keypair, keypair.Keypair, + self.proxy.get_keypair, + keypair.Keypair, method_kwargs={'user_id': 'fake_user'}, - expected_kwargs={'user_id': 'fake_user'} + expected_kwargs={'user_id': 'fake_user'}, ) def test_keypairs(self): @@ -301,9 +304,10 @@ class TestKeyPair(TestComputeProxy): def test_keypairs_user_id(self): self.verify_list( - self.proxy.keypairs, keypair.Keypair, + self.proxy.keypairs, + keypair.Keypair, method_kwargs={'user_id': 'fake_user'}, - expected_kwargs={'user_id': 'fake_user'} + expected_kwargs={'user_id': 'fake_user'}, ) @@ -313,11 +317,13 @@ class TestAggregate(TestComputeProxy): def test_aggregate_delete(self): self.verify_delete( - self.proxy.delete_aggregate, aggregate.Aggregate, False) + self.proxy.delete_aggregate, aggregate.Aggregate, False + ) def test_aggregate_delete_ignore(self): self.verify_delete( - self.proxy.delete_aggregate, aggregate.Aggregate, True) + self.proxy.delete_aggregate, aggregate.Aggregate, True + ) def test_aggregate_find(self): self.verify_find(self.proxy.find_aggregate, aggregate.Aggregate) @@ -336,53 +342,64 @@ class TestAggregate(TestComputeProxy): "openstack.compute.v2.aggregate.Aggregate.add_host", self.proxy.add_host_to_aggregate, method_args=["value", "host"], - expected_args=[self.proxy, "host"]) + expected_args=[self.proxy, "host"], + ) def test_aggregate_remove_host(self): self._verify( "openstack.compute.v2.aggregate.Aggregate.remove_host", self.proxy.remove_host_from_aggregate, method_args=["value", "host"], - expected_args=[self.proxy, "host"]) + expected_args=[self.proxy, "host"], + ) def test_aggregate_set_metadata(self): self._verify( "openstack.compute.v2.aggregate.Aggregate.set_metadata", self.proxy.set_aggregate_metadata, method_args=["value", {'a': 'b'}], - expected_args=[self.proxy, {'a': 'b'}]) + expected_args=[self.proxy, {'a': 'b'}], + ) def test_aggregate_precache_image(self): self._verify( "openstack.compute.v2.aggregate.Aggregate.precache_images", self.proxy.aggregate_precache_images, method_args=["value", '1'], - expected_args=[self.proxy, [{'id': '1'}]]) + expected_args=[self.proxy, [{'id': '1'}]], + ) def test_aggregate_precache_images(self): self._verify( "openstack.compute.v2.aggregate.Aggregate.precache_images", self.proxy.aggregate_precache_images, method_args=["value", ['1', '2']], - expected_args=[self.proxy, [{'id': '1'}, {'id': '2'}]]) + expected_args=[self.proxy, [{'id': '1'}, {'id': '2'}]], + ) class TestService(TestComputeProxy): def test_services(self): self.verify_list(self.proxy.services, service.Service) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_enable_service_252(self, mv_mock): self._verify( 'openstack.compute.v2.service.Service.enable', self.proxy.enable_service, method_args=["value", "host1", "nova-compute"], - expected_args=[self.proxy, "host1", "nova-compute"] + expected_args=[self.proxy, "host1", "nova-compute"], ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_enable_service_253(self, mv_mock): self._verify( 'openstack.proxy.Proxy._update', @@ -390,20 +407,27 @@ class TestService(TestComputeProxy): method_args=["value"], method_kwargs={}, expected_args=[service.Service, "value"], - expected_kwargs={'status': 'enabled'} + expected_kwargs={'status': 'enabled'}, ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_disable_service_252(self, mv_mock): self._verify( 'openstack.compute.v2.service.Service.disable', self.proxy.disable_service, method_args=["value", "host1", "nova-compute"], - expected_args=[self.proxy, "host1", "nova-compute", None]) + expected_args=[self.proxy, "host1", "nova-compute", None], + ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_disable_service_253(self, mv_mock): self._verify( 'openstack.proxy.Proxy._update', @@ -413,36 +437,49 @@ class TestService(TestComputeProxy): expected_args=[service.Service, "value"], expected_kwargs={ 'status': 'disabled', - 'disabled_reason': 'some_reason' - } + 'disabled_reason': 'some_reason', + }, ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_force_service_down_252(self, mv_mock): self._verify( 'openstack.compute.v2.service.Service.set_forced_down', self.proxy.update_service_forced_down, method_args=["value", "host1", "nova-compute"], - expected_args=[self.proxy, "host1", "nova-compute", True]) + expected_args=[self.proxy, "host1", "nova-compute", True], + ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_force_service_down_252_empty_vals(self, mv_mock): self.assertRaises( ValueError, self.proxy.update_service_forced_down, - "value", None, None + "value", + None, + None, ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_force_service_down_252_empty_vals_svc(self, mv_mock): self._verify( 'openstack.compute.v2.service.Service.set_forced_down', self.proxy.update_service_forced_down, method_args=[{'host': 'a', 'binary': 'b'}, None, None], - expected_args=[self.proxy, None, None, True]) + expected_args=[self.proxy, None, None, True], + ) def test_find_service(self): self.verify_find( @@ -455,12 +492,11 @@ class TestService(TestComputeProxy): self.proxy.find_service, service.Service, method_kwargs={'host': 'h1'}, - expected_kwargs={'host': 'h1'} + expected_kwargs={'host': 'h1'}, ) class TestVolumeAttachment(TestComputeProxy): - def test_volume_attachment_create(self): self.verify_create( self.proxy.create_volume_attachment, @@ -611,19 +647,27 @@ class TestVolumeAttachment(TestComputeProxy): class TestHypervisor(TestComputeProxy): - def test_hypervisors_not_detailed(self): - self.verify_list(self.proxy.hypervisors, hypervisor.Hypervisor, - method_kwargs={"details": False}, - expected_kwargs={}) + self.verify_list( + self.proxy.hypervisors, + hypervisor.Hypervisor, + method_kwargs={"details": False}, + expected_kwargs={}, + ) def test_hypervisors_detailed(self): - self.verify_list(self.proxy.hypervisors, hypervisor.HypervisorDetail, - method_kwargs={"details": True}, - expected_kwargs={}) + self.verify_list( + self.proxy.hypervisors, + hypervisor.HypervisorDetail, + method_kwargs={"details": True}, + expected_kwargs={}, + ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_hypervisors_search_before_253_no_qp(self, sm): self.verify_list( self.proxy.hypervisors, @@ -633,8 +677,11 @@ class TestHypervisor(TestComputeProxy): expected_kwargs={}, ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_hypervisors_search_before_253(self, sm): self.verify_list( self.proxy.hypervisors, @@ -644,42 +691,48 @@ class TestHypervisor(TestComputeProxy): expected_kwargs={}, ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_hypervisors_search_after_253(self, sm): self.verify_list( self.proxy.hypervisors, hypervisor.Hypervisor, method_kwargs={'hypervisor_hostname_pattern': 'substring'}, base_path=None, - expected_kwargs={'hypervisor_hostname_pattern': 'substring'} + expected_kwargs={'hypervisor_hostname_pattern': 'substring'}, ) def test_find_hypervisor_detail(self): - self.verify_find(self.proxy.find_hypervisor, - hypervisor.Hypervisor, - expected_kwargs={ - 'list_base_path': '/os-hypervisors/detail', - 'ignore_missing': True}) + self.verify_find( + self.proxy.find_hypervisor, + hypervisor.Hypervisor, + expected_kwargs={ + 'list_base_path': '/os-hypervisors/detail', + 'ignore_missing': True, + }, + ) def test_find_hypervisor_no_detail(self): - self.verify_find(self.proxy.find_hypervisor, - hypervisor.Hypervisor, - method_kwargs={'details': False}, - expected_kwargs={ - 'list_base_path': None, - 'ignore_missing': True}) + self.verify_find( + self.proxy.find_hypervisor, + hypervisor.Hypervisor, + method_kwargs={'details': False}, + expected_kwargs={'list_base_path': None, 'ignore_missing': True}, + ) def test_get_hypervisor(self): - self.verify_get(self.proxy.get_hypervisor, - hypervisor.Hypervisor) + self.verify_get(self.proxy.get_hypervisor, hypervisor.Hypervisor) def test_get_hypervisor_uptime(self): self._verify( "openstack.compute.v2.hypervisor.Hypervisor.get_uptime", self.proxy.get_hypervisor_uptime, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) class TestCompute(TestComputeProxy): @@ -746,10 +799,12 @@ class TestCompute(TestComputeProxy): ) def test_server_interface_create(self): - self.verify_create(self.proxy.create_server_interface, - server_interface.ServerInterface, - method_kwargs={"server": "test_id"}, - expected_kwargs={"server_id": "test_id"}) + self.verify_create( + self.proxy.create_server_interface, + server_interface.ServerInterface, + method_kwargs={"server": "test_id"}, + expected_kwargs={"server_id": "test_id"}, + ) def test_server_interface_delete(self): self.proxy._get_uri_attribute = lambda *args: args[1] @@ -766,7 +821,8 @@ class TestCompute(TestComputeProxy): method_args=[test_interface], method_kwargs={"server": server_id}, expected_args=[server_interface.ServerInterface, interface_id], - expected_kwargs={"server_id": server_id, "ignore_missing": True}) + expected_kwargs={"server_id": server_id, "ignore_missing": True}, + ) # Case2: ServerInterface ID is provided as value self._verify( @@ -775,14 +831,18 @@ class TestCompute(TestComputeProxy): method_args=[interface_id], method_kwargs={"server": server_id}, expected_args=[server_interface.ServerInterface, interface_id], - expected_kwargs={"server_id": server_id, "ignore_missing": True}) + expected_kwargs={"server_id": server_id, "ignore_missing": True}, + ) def test_server_interface_delete_ignore(self): self.proxy._get_uri_attribute = lambda *args: args[1] - self.verify_delete(self.proxy.delete_server_interface, - server_interface.ServerInterface, True, - method_kwargs={"server": "test_id"}, - expected_kwargs={"server_id": "test_id"}) + self.verify_delete( + self.proxy.delete_server_interface, + server_interface.ServerInterface, + True, + method_kwargs={"server": "test_id"}, + expected_kwargs={"server_id": "test_id"}, + ) def test_server_interface_get(self): self.proxy._get_uri_attribute = lambda *args: args[1] @@ -799,7 +859,8 @@ class TestCompute(TestComputeProxy): method_args=[test_interface], method_kwargs={"server": server_id}, expected_args=[server_interface.ServerInterface], - expected_kwargs={"port_id": interface_id, "server_id": server_id}) + expected_kwargs={"port_id": interface_id, "server_id": server_id}, + ) # Case2: ServerInterface ID is provided as value self._verify( @@ -808,29 +869,39 @@ class TestCompute(TestComputeProxy): method_args=[interface_id], method_kwargs={"server": server_id}, expected_args=[server_interface.ServerInterface], - expected_kwargs={"port_id": interface_id, "server_id": server_id}) + expected_kwargs={"port_id": interface_id, "server_id": server_id}, + ) def test_server_interfaces(self): - self.verify_list(self.proxy.server_interfaces, - server_interface.ServerInterface, - method_args=["test_id"], - expected_args=[], - expected_kwargs={"server_id": "test_id"}) + self.verify_list( + self.proxy.server_interfaces, + server_interface.ServerInterface, + method_args=["test_id"], + expected_args=[], + expected_kwargs={"server_id": "test_id"}, + ) def test_server_ips_with_network_label(self): - self.verify_list(self.proxy.server_ips, server_ip.ServerIP, - method_args=["test_id"], - method_kwargs={"network_label": "test_label"}, - expected_args=[], - expected_kwargs={"server_id": "test_id", - "network_label": "test_label"}) + self.verify_list( + self.proxy.server_ips, + server_ip.ServerIP, + method_args=["test_id"], + method_kwargs={"network_label": "test_label"}, + expected_args=[], + expected_kwargs={ + "server_id": "test_id", + "network_label": "test_label", + }, + ) def test_server_ips_without_network_label(self): - self.verify_list(self.proxy.server_ips, server_ip.ServerIP, - method_args=["test_id"], - expected_args=[], - expected_kwargs={"server_id": "test_id", - "network_label": None}) + self.verify_list( + self.proxy.server_ips, + server_ip.ServerIP, + method_args=["test_id"], + expected_args=[], + expected_kwargs={"server_id": "test_id", "network_label": None}, + ) def test_server_create_attrs(self): self.verify_create(self.proxy.create_server, server.Server) @@ -846,7 +917,8 @@ class TestCompute(TestComputeProxy): "openstack.compute.v2.server.Server.force_delete", self.proxy.delete_server, method_args=["value", False, True], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_find(self): self.verify_find( @@ -863,17 +935,24 @@ class TestCompute(TestComputeProxy): self.verify_get(self.proxy.get_server, server.Server) def test_servers_detailed(self): - self.verify_list(self.proxy.servers, server.Server, - method_kwargs={"details": True, - "changes_since": 1, "image": 2}, - expected_kwargs={"changes_since": 1, "image": 2, - "base_path": "/servers/detail"}) + self.verify_list( + self.proxy.servers, + server.Server, + method_kwargs={"details": True, "changes_since": 1, "image": 2}, + expected_kwargs={ + "changes_since": 1, + "image": 2, + "base_path": "/servers/detail", + }, + ) def test_servers_not_detailed(self): - self.verify_list(self.proxy.servers, server.Server, - method_kwargs={"details": False, - "changes_since": 1, "image": 2}, - expected_kwargs={"changes_since": 1, "image": 2}) + self.verify_list( + self.proxy.servers, + server.Server, + method_kwargs={"details": False, "changes_since": 1, "image": 2}, + expected_kwargs={"changes_since": 1, "image": 2}, + ) def test_server_update(self): self.verify_update(self.proxy.update_server, server.Server) @@ -883,28 +962,32 @@ class TestCompute(TestComputeProxy): self.verify_wait_for_status( self.proxy.wait_for_server, method_args=[value], - expected_args=[self.proxy, value, 'ACTIVE', ['ERROR'], 2, 120]) + expected_args=[self.proxy, value, 'ACTIVE', ['ERROR'], 2, 120], + ) def test_server_resize(self): self._verify( "openstack.compute.v2.server.Server.resize", self.proxy.resize_server, method_args=["value", "test-flavor"], - expected_args=[self.proxy, "test-flavor"]) + expected_args=[self.proxy, "test-flavor"], + ) def test_server_confirm_resize(self): self._verify( "openstack.compute.v2.server.Server.confirm_resize", self.proxy.confirm_server_resize, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_revert_resize(self): self._verify( "openstack.compute.v2.server.Server.revert_resize", self.proxy.revert_server_resize, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_rebuild(self): id = 'test_image_id' @@ -921,13 +1004,16 @@ class TestCompute(TestComputeProxy): "name": "test_server", "admin_password": "test_pass", "metadata": {"k1": "v1"}, - "image": image_obj}, + "image": image_obj, + }, expected_args=[self.proxy], expected_kwargs={ "name": "test_server", "admin_password": "test_pass", "metadata": {"k1": "v1"}, - "image": image_obj}) + "image": image_obj, + }, + ) # Case2: image name or id is provided self._verify( @@ -938,27 +1024,32 @@ class TestCompute(TestComputeProxy): "name": "test_server", "admin_password": "test_pass", "metadata": {"k1": "v1"}, - "image": id}, + "image": id, + }, expected_args=[self.proxy], expected_kwargs={ "name": "test_server", "admin_password": "test_pass", "metadata": {"k1": "v1"}, - "image": id}) + "image": id, + }, + ) def test_add_fixed_ip_to_server(self): self._verify( "openstack.compute.v2.server.Server.add_fixed_ip", self.proxy.add_fixed_ip_to_server, method_args=["value", "network-id"], - expected_args=[self.proxy, "network-id"]) + expected_args=[self.proxy, "network-id"], + ) def test_fixed_ip_from_server(self): self._verify( "openstack.compute.v2.server.Server.remove_fixed_ip", self.proxy.remove_fixed_ip_from_server, method_args=["value", "address"], - expected_args=[self.proxy, "address"]) + expected_args=[self.proxy, "address"], + ) def test_floating_ip_to_server(self): self._verify( @@ -966,7 +1057,8 @@ class TestCompute(TestComputeProxy): self.proxy.add_floating_ip_to_server, method_args=["value", "floating-ip"], expected_args=[self.proxy, "floating-ip"], - expected_kwargs={'fixed_address': None}) + expected_kwargs={'fixed_address': None}, + ) def test_add_floating_ip_to_server_with_fixed_addr(self): self._verify( @@ -974,49 +1066,56 @@ class TestCompute(TestComputeProxy): self.proxy.add_floating_ip_to_server, method_args=["value", "floating-ip", 'fixed-addr'], expected_args=[self.proxy, "floating-ip"], - expected_kwargs={'fixed_address': 'fixed-addr'}) + expected_kwargs={'fixed_address': 'fixed-addr'}, + ) def test_remove_floating_ip_from_server(self): self._verify( "openstack.compute.v2.server.Server.remove_floating_ip", self.proxy.remove_floating_ip_from_server, method_args=["value", "address"], - expected_args=[self.proxy, "address"]) + expected_args=[self.proxy, "address"], + ) def test_server_backup(self): self._verify( "openstack.compute.v2.server.Server.backup", self.proxy.backup_server, method_args=["value", "name", "daily", 1], - expected_args=[self.proxy, "name", "daily", 1]) + expected_args=[self.proxy, "name", "daily", 1], + ) def test_server_pause(self): self._verify( "openstack.compute.v2.server.Server.pause", self.proxy.pause_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_unpause(self): self._verify( "openstack.compute.v2.server.Server.unpause", self.proxy.unpause_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_suspend(self): self._verify( "openstack.compute.v2.server.Server.suspend", self.proxy.suspend_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_resume(self): self._verify( "openstack.compute.v2.server.Server.resume", self.proxy.resume_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_lock(self): self._verify( @@ -1024,7 +1123,8 @@ class TestCompute(TestComputeProxy): self.proxy.lock_server, method_args=["value"], expected_args=[self.proxy], - expected_kwargs={"locked_reason": None}) + expected_kwargs={"locked_reason": None}, + ) def test_server_lock_with_options(self): self._verify( @@ -1033,14 +1133,16 @@ class TestCompute(TestComputeProxy): method_args=["value"], method_kwargs={"locked_reason": "Because why not"}, expected_args=[self.proxy], - expected_kwargs={"locked_reason": "Because why not"}) + expected_kwargs={"locked_reason": "Because why not"}, + ) def test_server_unlock(self): self._verify( "openstack.compute.v2.server.Server.unlock", self.proxy.unlock_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_rescue(self): self._verify( @@ -1048,7 +1150,8 @@ class TestCompute(TestComputeProxy): self.proxy.rescue_server, method_args=["value"], expected_args=[self.proxy], - expected_kwargs={"admin_pass": None, "image_ref": None}) + expected_kwargs={"admin_pass": None, "image_ref": None}, + ) def test_server_rescue_with_options(self): self._verify( @@ -1056,14 +1159,16 @@ class TestCompute(TestComputeProxy): self.proxy.rescue_server, method_args=["value", 'PASS', 'IMG'], expected_args=[self.proxy], - expected_kwargs={"admin_pass": 'PASS', "image_ref": 'IMG'}) + expected_kwargs={"admin_pass": 'PASS', "image_ref": 'IMG'}, + ) def test_server_unrescue(self): self._verify( "openstack.compute.v2.server.Server.unrescue", self.proxy.unrescue_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_evacuate(self): self._verify( @@ -1071,7 +1176,8 @@ class TestCompute(TestComputeProxy): self.proxy.evacuate_server, method_args=["value"], expected_args=[self.proxy], - expected_kwargs={"host": None, "admin_pass": None, "force": None}) + expected_kwargs={"host": None, "admin_pass": None, "force": None}, + ) def test_server_evacuate_with_options(self): self._verify( @@ -1080,49 +1186,59 @@ class TestCompute(TestComputeProxy): method_args=["value", 'HOST2', 'NEW_PASS', True], expected_args=[self.proxy], expected_kwargs={ - "host": "HOST2", "admin_pass": 'NEW_PASS', "force": True}) + "host": "HOST2", + "admin_pass": 'NEW_PASS', + "force": True, + }, + ) def test_server_start(self): self._verify( "openstack.compute.v2.server.Server.start", self.proxy.start_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_stop(self): self._verify( "openstack.compute.v2.server.Server.stop", self.proxy.stop_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_restore(self): self._verify( "openstack.compute.v2.server.Server.restore", self.proxy.restore_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_shelve(self): self._verify( "openstack.compute.v2.server.Server.shelve", self.proxy.shelve_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_unshelve(self): self._verify( "openstack.compute.v2.server.Server.unshelve", self.proxy.unshelve_server, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_server_trigger_dump(self): self._verify( "openstack.compute.v2.server.Server.trigger_crash_dump", self.proxy.trigger_server_crash_dump, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_get_server_output(self): self._verify( @@ -1130,26 +1246,32 @@ class TestCompute(TestComputeProxy): self.proxy.get_server_console_output, method_args=["value"], expected_args=[self.proxy], - expected_kwargs={"length": None}) + expected_kwargs={"length": None}, + ) self._verify( "openstack.compute.v2.server.Server.get_console_output", self.proxy.get_server_console_output, method_args=["value", 1], expected_args=[self.proxy], - expected_kwargs={"length": 1}) + expected_kwargs={"length": 1}, + ) def test_availability_zones_not_detailed(self): - self.verify_list(self.proxy.availability_zones, - az.AvailabilityZone, - method_kwargs={"details": False}, - expected_kwargs={}) + self.verify_list( + self.proxy.availability_zones, + az.AvailabilityZone, + method_kwargs={"details": False}, + expected_kwargs={}, + ) def test_availability_zones_detailed(self): - self.verify_list(self.proxy.availability_zones, - az.AvailabilityZoneDetail, - method_kwargs={"details": True}, - expected_kwargs={}) + self.verify_list( + self.proxy.availability_zones, + az.AvailabilityZoneDetail, + method_kwargs={"details": True}, + expected_kwargs={}, + ) def test_get_all_server_metadata(self): self._verify( @@ -1157,7 +1279,8 @@ class TestCompute(TestComputeProxy): self.proxy.get_server_metadata, method_args=["value"], expected_args=[self.proxy], - expected_result=server.Server(id="value", metadata={})) + expected_result=server.Server(id="value", metadata={}), + ) def test_set_server_metadata(self): kwargs = {"a": "1", "b": "2"} @@ -1170,7 +1293,7 @@ class TestCompute(TestComputeProxy): method_result=server.Server.existing(id=id, metadata=kwargs), expected_args=[self.proxy], expected_kwargs={'metadata': kwargs}, - expected_result=server.Server.existing(id=id, metadata=kwargs) + expected_result=server.Server.existing(id=id, metadata=kwargs), ) def test_delete_server_metadata(self): @@ -1179,12 +1302,14 @@ class TestCompute(TestComputeProxy): self.proxy.delete_server_metadata, expected_result=None, method_args=["value", ["key"]], - expected_args=[self.proxy, "key"]) + expected_args=[self.proxy, "key"], + ) def test_create_image(self): metadata = {'k1': 'v1'} - with mock.patch('openstack.compute.v2.server.Server.create_image') \ - as ci_mock: + with mock.patch( + 'openstack.compute.v2.server.Server.create_image' + ) as ci_mock: ci_mock.return_value = 'image_id' connection_mock = mock.Mock() @@ -1193,32 +1318,32 @@ class TestCompute(TestComputeProxy): self.proxy._connection = connection_mock rsp = self.proxy.create_server_image( - 'server', 'image_name', metadata, wait=True, timeout=1) - - ci_mock.assert_called_with( - self.proxy, - 'image_name', - metadata + 'server', 'image_name', metadata, wait=True, timeout=1 ) + ci_mock.assert_called_with(self.proxy, 'image_name', metadata) + self.proxy._connection.get_image.assert_called_with('image_id') self.proxy._connection.wait_for_image.assert_called_with( - 'image', - timeout=1) + 'image', timeout=1 + ) self.assertEqual(connection_mock.wait_for_image(), rsp) def test_server_group_create(self): - self.verify_create(self.proxy.create_server_group, - server_group.ServerGroup) + self.verify_create( + self.proxy.create_server_group, server_group.ServerGroup + ) def test_server_group_delete(self): - self.verify_delete(self.proxy.delete_server_group, - server_group.ServerGroup, False) + self.verify_delete( + self.proxy.delete_server_group, server_group.ServerGroup, False + ) def test_server_group_delete_ignore(self): - self.verify_delete(self.proxy.delete_server_group, - server_group.ServerGroup, True) + self.verify_delete( + self.proxy.delete_server_group, server_group.ServerGroup, True + ) def test_server_group_find(self): self.verify_find( @@ -1229,8 +1354,7 @@ class TestCompute(TestComputeProxy): ) def test_server_group_get(self): - self.verify_get(self.proxy.get_server_group, - server_group.ServerGroup) + self.verify_get(self.proxy.get_server_group, server_group.ServerGroup) def test_server_groups(self): self.verify_list(self.proxy.server_groups, server_group.ServerGroup) @@ -1241,7 +1365,8 @@ class TestCompute(TestComputeProxy): self.proxy.live_migrate_server, method_args=["value", "host1", False], expected_args=[self.proxy, "host1"], - expected_kwargs={'force': False, 'block_migration': None}) + expected_kwargs={'force': False, 'block_migration': None}, + ) def test_abort_server_migration(self): self._verify( @@ -1306,21 +1431,24 @@ class TestCompute(TestComputeProxy): 'openstack.compute.v2.server.Server.fetch_security_groups', self.proxy.fetch_server_security_groups, method_args=["value"], - expected_args=[self.proxy]) + expected_args=[self.proxy], + ) def test_add_security_groups(self): self._verify( 'openstack.compute.v2.server.Server.add_security_group', self.proxy.add_security_group_to_server, method_args=["value", {'id': 'id', 'name': 'sg'}], - expected_args=[self.proxy, 'sg']) + expected_args=[self.proxy, 'sg'], + ) def test_remove_security_groups(self): self._verify( 'openstack.compute.v2.server.Server.remove_security_group', self.proxy.remove_security_group_from_server, method_args=["value", {'id': 'id', 'name': 'sg'}], - expected_args=[self.proxy, 'sg']) + expected_args=[self.proxy, 'sg'], + ) def test_usages(self): self.verify_list(self.proxy.usages, usage.Usage) @@ -1335,7 +1463,7 @@ class TestCompute(TestComputeProxy): method_kwargs={'start': start, 'end': end}, expected_kwargs={ 'start': start.isoformat(), - 'end': end.isoformat() + 'end': end.isoformat(), }, ) @@ -1361,7 +1489,7 @@ class TestCompute(TestComputeProxy): expected_args=[self.proxy], expected_kwargs={ 'start': start.isoformat(), - 'end': end.isoformat() + 'end': end.isoformat(), }, ) @@ -1370,25 +1498,24 @@ class TestCompute(TestComputeProxy): self.proxy.create_server_remote_console, server_remote_console.ServerRemoteConsole, method_kwargs={"server": "test_id", "type": "fake"}, - expected_kwargs={"server_id": "test_id", "type": "fake"}) + expected_kwargs={"server_id": "test_id", "type": "fake"}, + ) def test_get_console_url(self): self._verify( 'openstack.compute.v2.server.Server.get_console_url', self.proxy.get_server_console_url, method_args=["value", "console_type"], - expected_args=[self.proxy, "console_type"]) + expected_args=[self.proxy, "console_type"], + ) @mock.patch('openstack.utils.supports_microversion', autospec=True) @mock.patch('openstack.compute.v2._proxy.Proxy._create', autospec=True) - @mock.patch('openstack.compute.v2.server.Server.get_console_url', - autospec=True) + @mock.patch( + 'openstack.compute.v2.server.Server.get_console_url', autospec=True + ) def test_create_console_mv_old(self, sgc, rcc, smv): - console_fake = { - 'url': 'a', - 'type': 'b', - 'protocol': 'c' - } + console_fake = {'url': 'a', 'type': 'b', 'protocol': 'c'} smv.return_value = False sgc.return_value = console_fake ret = self.proxy.create_console('fake_server', 'fake_type') @@ -1399,27 +1526,27 @@ class TestCompute(TestComputeProxy): @mock.patch('openstack.utils.supports_microversion', autospec=True) @mock.patch('openstack.compute.v2._proxy.Proxy._create', autospec=True) - @mock.patch('openstack.compute.v2.server.Server.get_console_url', - autospec=True) + @mock.patch( + 'openstack.compute.v2.server.Server.get_console_url', autospec=True + ) def test_create_console_mv_2_6(self, sgc, rcc, smv): - console_fake = { - 'url': 'a', - 'type': 'b', - 'protocol': 'c' - } + console_fake = {'url': 'a', 'type': 'b', 'protocol': 'c'} # Test server_remote_console is triggered when mv>=2.6 smv.return_value = True rcc.return_value = server_remote_console.ServerRemoteConsole( - **console_fake) + **console_fake + ) ret = self.proxy.create_console('fake_server', 'fake_type') smv.assert_called_once_with(self.proxy, '2.6') sgc.assert_not_called() - rcc.assert_called_with(mock.ANY, - server_remote_console.ServerRemoteConsole, - server_id='fake_server', - type='fake_type', - protocol=None) + rcc.assert_called_with( + mock.ANY, + server_remote_console.ServerRemoteConsole, + server_id='fake_server', + type='fake_type', + protocol=None, + ) self.assertEqual(console_fake['url'], ret['url']) @@ -1436,7 +1563,7 @@ class TestQuota(TestComputeProxy): 'usage': False, }, method_result=quota_set.QuotaSet(), - expected_result=quota_set.QuotaSet() + expected_result=quota_set.QuotaSet(), ) def test_get_query(self): @@ -1444,17 +1571,14 @@ class TestQuota(TestComputeProxy): 'openstack.resource.Resource.fetch', self.proxy.get_quota_set, method_args=['prj'], - method_kwargs={ - 'usage': True, - 'user_id': 'uid' - }, + method_kwargs={'usage': True, 'user_id': 'uid'}, expected_args=[self.proxy], expected_kwargs={ 'error_message': None, 'requires_id': False, 'usage': True, - 'user_id': 'uid' - } + 'user_id': 'uid', + }, ) def test_get_defaults(self): @@ -1466,8 +1590,8 @@ class TestQuota(TestComputeProxy): expected_kwargs={ 'error_message': None, 'requires_id': False, - 'base_path': '/os-quota-sets/defaults' - } + 'base_path': '/os-quota-sets/defaults', + }, ) def test_reset(self): @@ -1477,9 +1601,7 @@ class TestQuota(TestComputeProxy): method_args=['prj'], method_kwargs={'user_id': 'uid'}, expected_args=[self.proxy], - expected_kwargs={ - 'user_id': 'uid' - } + expected_kwargs={'user_id': 'uid'}, ) @mock.patch('openstack.proxy.Proxy._get_resource', autospec=True) @@ -1495,19 +1617,12 @@ class TestQuota(TestComputeProxy): 'a': 'b', }, expected_args=[self.proxy], - expected_kwargs={ - 'user_id': 'uid' - } - ) - gr_mock.assert_called_with( - self.proxy, - quota_set.QuotaSet, - 'qs', a='b' + expected_kwargs={'user_id': 'uid'}, ) + gr_mock.assert_called_with(self.proxy, quota_set.QuotaSet, 'qs', a='b') class TestServerAction(TestComputeProxy): - def test_server_action_get(self): self._verify( 'openstack.proxy.Proxy._get', @@ -1516,7 +1631,8 @@ class TestServerAction(TestComputeProxy): method_kwargs={'server': 'server_id'}, expected_args=[server_action.ServerAction], expected_kwargs={ - 'request_id': 'request_id', 'server_id': 'server_id', + 'request_id': 'request_id', + 'server_id': 'server_id', }, ) diff --git a/openstack/tests/unit/compute/v2/test_server.py b/openstack/tests/unit/compute/v2/test_server.py index 0a6861dc0..33ca69d96 100644 --- a/openstack/tests/unit/compute/v2/test_server.py +++ b/openstack/tests/unit/compute/v2/test_server.py @@ -46,7 +46,7 @@ EXAMPLE = { 'OS-EXT-IPS-MAC:mac_addr': 'aa:bb:cc:dd:ee:ff', 'OS-EXT-IPS:type': 'fixed', 'addr': '192.168.0.3', - 'version': 4 + 'version': 4, } ] }, @@ -60,7 +60,7 @@ EXAMPLE = { 'ephemeral': 0, 'extra_specs': { 'hw:cpu_policy': 'dedicated', - 'hw:mem_page_size': '2048' + 'hw:mem_page_size': '2048', }, 'original_name': 'm1.tiny.specs', 'ram': 512, @@ -75,49 +75,42 @@ EXAMPLE = { 'links': [ { 'href': 'http://openstack.example.com/images/70a599e0', - 'rel': 'bookmark' + 'rel': 'bookmark', } - ] + ], }, 'key_name': 'dummy', 'links': [ { 'href': 'http://openstack.example.com/v2.1/servers/9168b536', - 'rel': 'self' + 'rel': 'self', }, { 'href': 'http://openstack.example.com/servers/9168b536', - 'rel': 'bookmark' - } + 'rel': 'bookmark', + }, ], 'locked': True, - 'metadata': { - 'My Server Name': 'Apache1' - }, + 'metadata': {'My Server Name': 'Apache1'}, 'name': 'new-server-test', 'networks': 'auto', 'os-extended-volumes:volumes_attached': [], 'progress': 0, - 'security_groups': [ - { - 'name': 'default' - } - ], + 'security_groups': [{'name': 'default'}], 'server_groups': ['3caf4187-8010-491f-b6f5-a4a68a40371e'], 'status': 'ACTIVE', 'tags': [], 'tenant_id': '6f70656e737461636b20342065766572', 'trusted_image_certificates': [ '0b5d2c72-12cc-4ba6-a8d7-3ff5cc1d8cb8', - '674736e3-f25c-405c-8362-bbf991e0ce0a' + '674736e3-f25c-405c-8362-bbf991e0ce0a', ], 'updated': '2017-02-14T19:24:00Z', - 'user_id': 'fake' + 'user_id': 'fake', } class TestServer(base.TestCase): - def setUp(self): super(TestServer, self).setUp() self.resp = mock.Mock() @@ -140,53 +133,56 @@ class TestServer(base.TestCase): self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) - self.assertDictEqual({"access_ipv4": "access_ip_v4", - "access_ipv6": "access_ip_v6", - "auto_disk_config": "auto_disk_config", - "availability_zone": "availability_zone", - "changes_before": "changes-before", - "changes_since": "changes-since", - "compute_host": "host", - "has_config_drive": "config_drive", - "created_at": "created_at", - "description": "description", - "flavor": "flavor", - "hostname": "hostname", - "image": "image", - "ipv4_address": "ip", - "ipv6_address": "ip6", - "id": "uuid", - "deleted_only": "deleted", - "is_soft_deleted": "soft_deleted", - "kernel_id": "kernel_id", - "key_name": "key_name", - "launch_index": "launch_index", - "launched_at": "launched_at", - "limit": "limit", - "locked_by": "locked_by", - "marker": "marker", - "name": "name", - "node": "node", - "power_state": "power_state", - "progress": "progress", - "project_id": "project_id", - "ramdisk_id": "ramdisk_id", - "reservation_id": "reservation_id", - "root_device_name": "root_device_name", - "sort_dir": "sort_dir", - "sort_key": "sort_key", - "status": "status", - "task_state": "task_state", - "terminated_at": "terminated_at", - "user_id": "user_id", - "vm_state": "vm_state", - "all_projects": "all_tenants", - "tags": "tags", - "any_tags": "tags-any", - "not_tags": "not-tags", - "not_any_tags": "not-tags-any", - }, - sot._query_mapping._mapping) + self.assertDictEqual( + { + "access_ipv4": "access_ip_v4", + "access_ipv6": "access_ip_v6", + "auto_disk_config": "auto_disk_config", + "availability_zone": "availability_zone", + "changes_before": "changes-before", + "changes_since": "changes-since", + "compute_host": "host", + "has_config_drive": "config_drive", + "created_at": "created_at", + "description": "description", + "flavor": "flavor", + "hostname": "hostname", + "image": "image", + "ipv4_address": "ip", + "ipv6_address": "ip6", + "id": "uuid", + "deleted_only": "deleted", + "is_soft_deleted": "soft_deleted", + "kernel_id": "kernel_id", + "key_name": "key_name", + "launch_index": "launch_index", + "launched_at": "launched_at", + "limit": "limit", + "locked_by": "locked_by", + "marker": "marker", + "name": "name", + "node": "node", + "power_state": "power_state", + "progress": "progress", + "project_id": "project_id", + "ramdisk_id": "ramdisk_id", + "reservation_id": "reservation_id", + "root_device_name": "root_device_name", + "sort_dir": "sort_dir", + "sort_key": "sort_key", + "status": "status", + "task_state": "task_state", + "terminated_at": "terminated_at", + "user_id": "user_id", + "vm_state": "vm_state", + "all_projects": "all_tenants", + "tags": "tags", + "any_tags": "tags-any", + "not_tags": "not-tags", + "not_any_tags": "not-tags-any", + }, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = server.Server(**EXAMPLE) @@ -214,44 +210,54 @@ class TestServer(base.TestCase): self.assertEqual(EXAMPLE['user_id'], sot.user_id) self.assertEqual(EXAMPLE['key_name'], sot.key_name) self.assertEqual(EXAMPLE['OS-DCF:diskConfig'], sot.disk_config) - self.assertEqual(EXAMPLE['OS-EXT-AZ:availability_zone'], - sot.availability_zone) + self.assertEqual( + EXAMPLE['OS-EXT-AZ:availability_zone'], sot.availability_zone + ) self.assertEqual(EXAMPLE['OS-EXT-STS:power_state'], sot.power_state) self.assertEqual(EXAMPLE['OS-EXT-STS:task_state'], sot.task_state) self.assertEqual(EXAMPLE['OS-EXT-STS:vm_state'], sot.vm_state) - self.assertEqual(EXAMPLE['os-extended-volumes:volumes_attached'], - sot.attached_volumes) + self.assertEqual( + EXAMPLE['os-extended-volumes:volumes_attached'], + sot.attached_volumes, + ) self.assertEqual(EXAMPLE['OS-SRV-USG:launched_at'], sot.launched_at) - self.assertEqual(EXAMPLE['OS-SRV-USG:terminated_at'], - sot.terminated_at) + self.assertEqual( + EXAMPLE['OS-SRV-USG:terminated_at'], sot.terminated_at + ) self.assertEqual(EXAMPLE['security_groups'], sot.security_groups) self.assertEqual(EXAMPLE['adminPass'], sot.admin_password) - self.assertEqual(EXAMPLE['block_device_mapping_v2'], - sot.block_device_mapping) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:host'], - sot.compute_host) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:hostname'], - sot.hostname) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:hypervisor_hostname'], - sot.hypervisor_hostname) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:instance_name'], - sot.instance_name) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:kernel_id'], - sot.kernel_id) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:launch_index'], - sot.launch_index) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:ramdisk_id'], - sot.ramdisk_id) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:reservation_id'], - sot.reservation_id) - self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:root_device_name'], - sot.root_device_name) - self.assertEqual(EXAMPLE['OS-SCH-HNT:scheduler_hints'], - sot.scheduler_hints) + self.assertEqual( + EXAMPLE['block_device_mapping_v2'], sot.block_device_mapping + ) + self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:host'], sot.compute_host) + self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:hostname'], sot.hostname) + self.assertEqual( + EXAMPLE['OS-EXT-SRV-ATTR:hypervisor_hostname'], + sot.hypervisor_hostname, + ) + self.assertEqual( + EXAMPLE['OS-EXT-SRV-ATTR:instance_name'], sot.instance_name + ) + self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:kernel_id'], sot.kernel_id) + self.assertEqual( + EXAMPLE['OS-EXT-SRV-ATTR:launch_index'], sot.launch_index + ) + self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:ramdisk_id'], sot.ramdisk_id) + self.assertEqual( + EXAMPLE['OS-EXT-SRV-ATTR:reservation_id'], sot.reservation_id + ) + self.assertEqual( + EXAMPLE['OS-EXT-SRV-ATTR:root_device_name'], sot.root_device_name + ) + self.assertEqual( + EXAMPLE['OS-SCH-HNT:scheduler_hints'], sot.scheduler_hints + ) self.assertEqual(EXAMPLE['OS-EXT-SRV-ATTR:user_data'], sot.user_data) self.assertEqual(EXAMPLE['locked'], sot.is_locked) - self.assertEqual(EXAMPLE['trusted_image_certificates'], - sot.trusted_image_certificates) + self.assertEqual( + EXAMPLE['trusted_image_certificates'], + sot.trusted_image_certificates, + ) def test_to_dict_flavor(self): # Ensure to_dict properly resolves flavor and uses defaults for not @@ -265,22 +271,31 @@ class TestServer(base.TestCase): data = 2 hints = {"hint": 3} - sot = server.Server(id=1, availability_zone=zone, user_data=data, - scheduler_hints=hints, min_count=2, max_count=3) + sot = server.Server( + id=1, + availability_zone=zone, + user_data=data, + scheduler_hints=hints, + min_count=2, + max_count=3, + ) request = sot._prepare_request() - self.assertNotIn("OS-EXT-AZ:availability_zone", - request.body[sot.resource_key]) - self.assertEqual(request.body[sot.resource_key]["availability_zone"], - zone) + self.assertNotIn( + "OS-EXT-AZ:availability_zone", request.body[sot.resource_key] + ) + self.assertEqual( + request.body[sot.resource_key]["availability_zone"], zone + ) - self.assertNotIn("OS-EXT-SRV-ATTR:user_data", - request.body[sot.resource_key]) - self.assertEqual(request.body[sot.resource_key]["user_data"], - data) + self.assertNotIn( + "OS-EXT-SRV-ATTR:user_data", request.body[sot.resource_key] + ) + self.assertEqual(request.body[sot.resource_key]["user_data"], data) - self.assertNotIn("OS-SCH-HNT:scheduler_hints", - request.body[sot.resource_key]) + self.assertNotIn( + "OS-SCH-HNT:scheduler_hints", request.body[sot.resource_key] + ) self.assertEqual(request.body["OS-SCH-HNT:scheduler_hints"], hints) self.assertEqual(2, request.body[sot.resource_key]['min_count']) @@ -295,7 +310,9 @@ class TestServer(base.TestCase): body = {"changePassword": {"adminPass": "a"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -308,7 +325,9 @@ class TestServer(base.TestCase): body = {"reboot": {"type": "HARD"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -321,7 +340,9 @@ class TestServer(base.TestCase): body = {'forceDelete': None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -331,12 +352,15 @@ class TestServer(base.TestCase): sot._translate_response = lambda arg: arg result = sot.rebuild( - self.sess, name='noo', admin_password='seekr3t', - image='http://image/1', access_ipv4="12.34.56.78", + self.sess, + name='noo', + admin_password='seekr3t', + image='http://image/1', + access_ipv4="12.34.56.78", access_ipv6="fe80::100", metadata={"meta var": "meta val"}, user_data="ZWNobyAiaGVsbG8gd29ybGQi", - preserve_ephemeral=False + preserve_ephemeral=False, ) self.assertIsInstance(result, server.Server) @@ -351,12 +375,14 @@ class TestServer(base.TestCase): "accessIPv6": "fe80::100", "metadata": {"meta var": "meta val"}, "user_data": "ZWNobyAiaGVsbG8gd29ybGQi", - "preserve_ephemeral": False + "preserve_ephemeral": False, } } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -365,9 +391,12 @@ class TestServer(base.TestCase): # Let the translate pass through, that portion is tested elsewhere sot._translate_response = lambda arg: arg - result = sot.rebuild(self.sess, name='nootoo', - admin_password='seekr3two', - image='http://image/2') + result = sot.rebuild( + self.sess, + name='nootoo', + admin_password='seekr3two', + image='http://image/2', + ) self.assertIsInstance(result, server.Server) @@ -381,7 +410,9 @@ class TestServer(base.TestCase): } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -394,7 +425,9 @@ class TestServer(base.TestCase): body = {"resize": {"flavorRef": "2"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -407,7 +440,9 @@ class TestServer(base.TestCase): body = {"confirmResize": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -420,7 +455,9 @@ class TestServer(base.TestCase): body = {"revertResize": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -440,16 +477,19 @@ class TestServer(base.TestCase): self.sess.post.return_value = rsp - self.endpoint_data = mock.Mock(spec=['min_microversion', - 'max_microversion'], - min_microversion=None, - max_microversion='2.44') + self.endpoint_data = mock.Mock( + spec=['min_microversion', 'max_microversion'], + min_microversion=None, + max_microversion='2.44', + ) self.sess.get_endpoint_data.return_value = self.endpoint_data image_id = sot.create_image(self.sess, name, metadata) self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -471,17 +511,19 @@ class TestServer(base.TestCase): self.sess.post.return_value = rsp - self.endpoint_data = mock.Mock(spec=['min_microversion', - 'max_microversion'], - min_microversion='2.1', - max_microversion='2.56') + self.endpoint_data = mock.Mock( + spec=['min_microversion', 'max_microversion'], + min_microversion='2.1', + max_microversion='2.56', + ) self.sess.get_endpoint_data.return_value = self.endpoint_data self.sess.default_microversion = None image_id = sot.create_image(self.sess, name, metadata) self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.45') + url, json=body, headers=headers, microversion='2.45' + ) self.assertEqual('dummy3', image_id) @@ -499,17 +541,19 @@ class TestServer(base.TestCase): self.sess.post.return_value = rsp - self.endpoint_data = mock.Mock(spec=['min_microversion', - 'max_microversion'], - min_microversion='2.1', - max_microversion='2.56') + self.endpoint_data = mock.Mock( + spec=['min_microversion', 'max_microversion'], + min_microversion='2.1', + max_microversion='2.56', + ) self.sess.get_endpoint_data.return_value = self.endpoint_data self.sess.default_microversion = None self.assertIsNone(self.resp.body, sot.create_image(self.sess, name)) self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.45') + url, json=body, headers=headers, microversion='2.45' + ) def test_add_security_group(self): sot = server.Server(**EXAMPLE) @@ -520,7 +564,9 @@ class TestServer(base.TestCase): body = {"addSecurityGroup": {"name": "group"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -533,7 +579,9 @@ class TestServer(base.TestCase): body = {"removeSecurityGroup": {"name": "group"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -546,7 +594,9 @@ class TestServer(base.TestCase): body = {"os-resetState": {"state": 'active'}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -560,7 +610,9 @@ class TestServer(base.TestCase): body = {"addFixedIp": {"networkId": "NETWORK-ID"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -574,7 +626,9 @@ class TestServer(base.TestCase): body = {"removeFixedIp": {"address": "ADDRESS"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -588,7 +642,9 @@ class TestServer(base.TestCase): body = {"addFloatingIp": {"address": "FLOATING-IP"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -599,11 +655,17 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"addFloatingIp": {"address": "FLOATING-IP", - "fixed_address": "FIXED-ADDR"}} + body = { + "addFloatingIp": { + "address": "FLOATING-IP", + "fixed_address": "FIXED-ADDR", + } + } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -617,7 +679,9 @@ class TestServer(base.TestCase): body = {"removeFloatingIp": {"address": "I-AM-FLOATING"}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -628,11 +692,18 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"createBackup": {"name": "name", "backup_type": "daily", - "rotation": 1}} + body = { + "createBackup": { + "name": "name", + "backup_type": "daily", + "rotation": 1, + } + } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -646,7 +717,9 @@ class TestServer(base.TestCase): body = {"pause": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -660,7 +733,9 @@ class TestServer(base.TestCase): body = {"unpause": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -674,7 +749,9 @@ class TestServer(base.TestCase): body = {"suspend": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -688,7 +765,9 @@ class TestServer(base.TestCase): body = {"resume": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -702,7 +781,9 @@ class TestServer(base.TestCase): body = {"lock": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -716,7 +797,9 @@ class TestServer(base.TestCase): body = {'lock': {'locked_reason': 'Because why not'}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -730,7 +813,9 @@ class TestServer(base.TestCase): body = {"unlock": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -744,7 +829,9 @@ class TestServer(base.TestCase): body = {"rescue": {}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -755,11 +842,14 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"rescue": {'adminPass': 'SECRET', - 'rescue_image_ref': 'IMG-ID'}} + body = { + "rescue": {'adminPass': 'SECRET', 'rescue_image_ref': 'IMG-ID'} + } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -773,7 +863,9 @@ class TestServer(base.TestCase): body = {"unrescue": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -787,23 +879,33 @@ class TestServer(base.TestCase): body = {"evacuate": {}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) def test_evacuate_with_options(self): sot = server.Server(**EXAMPLE) - res = sot.evacuate(self.sess, host='HOST2', admin_pass='NEW_PASS', - force=True) + res = sot.evacuate( + self.sess, host='HOST2', admin_pass='NEW_PASS', force=True + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"evacuate": {'host': 'HOST2', 'adminPass': 'NEW_PASS', - 'force': True}} + body = { + "evacuate": { + 'host': 'HOST2', + 'adminPass': 'NEW_PASS', + 'force': True, + } + } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -817,7 +919,9 @@ class TestServer(base.TestCase): body = {"os-start": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -831,7 +935,9 @@ class TestServer(base.TestCase): body = {"os-stop": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -845,7 +951,9 @@ class TestServer(base.TestCase): body = {'restore': None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -859,7 +967,9 @@ class TestServer(base.TestCase): body = {"shelve": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -873,7 +983,9 @@ class TestServer(base.TestCase): body = {"unshelve": None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -884,12 +996,12 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"unshelve": { - "availability_zone": sot.availability_zone - }} + body = {"unshelve": {"availability_zone": sot.availability_zone}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -900,13 +1012,14 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"unshelve": { - "availability_zone": None - }} + body = {"unshelve": {"availability_zone": None}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, - microversion=self.sess.default_microversion) + url, + json=body, + headers=headers, + microversion=self.sess.default_microversion, + ) def test_unshelve_host(self): sot = server.Server(**EXAMPLE) @@ -915,13 +1028,14 @@ class TestServer(base.TestCase): self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"unshelve": { - "host": sot.hypervisor_hostname - }} + body = {"unshelve": {"host": sot.hypervisor_hostname}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, - microversion=self.sess.default_microversion) + url, + json=body, + headers=headers, + microversion=self.sess.default_microversion, + ) def test_unshelve_host_and_availability_zone(self): sot = server.Server(**EXAMPLE) @@ -929,19 +1043,24 @@ class TestServer(base.TestCase): res = sot.unshelve( self.sess, availability_zone=sot.availability_zone, - host=sot.hypervisor_hostname + host=sot.hypervisor_hostname, ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = {"unshelve": { - "availability_zone": sot.availability_zone, - "host": sot.hypervisor_hostname - }} + body = { + "unshelve": { + "availability_zone": sot.availability_zone, + "host": sot.hypervisor_hostname, + } + } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, - microversion=self.sess.default_microversion) + url, + json=body, + headers=headers, + microversion=self.sess.default_microversion, + ) def test_migrate(self): sot = server.Server(**EXAMPLE) @@ -954,7 +1073,9 @@ class TestServer(base.TestCase): headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -968,7 +1089,9 @@ class TestServer(base.TestCase): body = {'trigger_crash_dump': None} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -982,7 +1105,9 @@ class TestServer(base.TestCase): body = {'os-getConsoleOutput': {}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -994,7 +1119,9 @@ class TestServer(base.TestCase): headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -1048,11 +1175,9 @@ class TestServer(base.TestCase): microversion=self.sess.default_microversion, ) - self.assertRaises(ValueError, - sot.get_console_url, - self.sess, - 'fake_type' - ) + self.assertRaises( + ValueError, sot.get_console_url, self.sess, 'fake_type' + ) def test_live_migrate_no_force(self): sot = server.Server(**EXAMPLE) @@ -1060,15 +1185,18 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = None max_microversion = None + self.sess.get_endpoint_data.return_value = FakeEndpointData() ex = self.assertRaises( ValueError, sot.live_migrate, - self.sess, host='HOST2', force=False, block_migration=False) - self.assertIn( - "Live migration on this cloud implies 'force'", - str(ex)) + self.sess, + host='HOST2', + force=False, + block_migration=False, + ) + self.assertIn("Live migration on this cloud implies 'force'", str(ex)) def test_live_migrate_no_microversion_force_true(self): sot = server.Server(**EXAMPLE) @@ -1076,11 +1204,16 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = None max_microversion = None + self.sess.get_endpoint_data.return_value = FakeEndpointData() res = sot.live_migrate( - self.sess, host='HOST2', force=True, block_migration=True, - disk_over_commit=True) + self.sess, + host='HOST2', + force=True, + block_migration=True, + disk_over_commit=True, + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' @@ -1088,13 +1221,15 @@ class TestServer(base.TestCase): 'os-migrateLive': { 'host': 'HOST2', 'disk_over_commit': True, - 'block_migration': True + 'block_migration': True, } } headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, + url, + json=body, + headers=headers, microversion=self.sess.default_microversion, ) @@ -1104,11 +1239,13 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = '2.1' max_microversion = '2.25' + self.sess.get_endpoint_data.return_value = FakeEndpointData() self.sess.default_microversion = None res = sot.live_migrate( - self.sess, host='HOST2', force=True, block_migration=False) + self.sess, host='HOST2', force=True, block_migration=False + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' @@ -1121,7 +1258,8 @@ class TestServer(base.TestCase): headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.25') + url, json=body, headers=headers, microversion='2.25' + ) def test_live_migrate_25_default_block(self): sot = server.Server(**EXAMPLE) @@ -1129,11 +1267,13 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = '2.1' max_microversion = '2.25' + self.sess.get_endpoint_data.return_value = FakeEndpointData() self.sess.default_microversion = None res = sot.live_migrate( - self.sess, host='HOST2', force=True, block_migration=None) + self.sess, host='HOST2', force=True, block_migration=None + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' @@ -1146,7 +1286,8 @@ class TestServer(base.TestCase): headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.25') + url, json=body, headers=headers, microversion='2.25' + ) def test_live_migrate_30(self): sot = server.Server(**EXAMPLE) @@ -1154,24 +1295,22 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = '2.1' max_microversion = '2.30' + self.sess.get_endpoint_data.return_value = FakeEndpointData() self.sess.default_microversion = None res = sot.live_migrate( - self.sess, host='HOST2', force=False, block_migration=False) + self.sess, host='HOST2', force=False, block_migration=False + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' - body = { - 'os-migrateLive': { - 'block_migration': False, - 'host': 'HOST2' - } - } + body = {'os-migrateLive': {'block_migration': False, 'host': 'HOST2'}} headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.30') + url, json=body, headers=headers, microversion='2.30' + ) def test_live_migrate_30_force(self): sot = server.Server(**EXAMPLE) @@ -1179,11 +1318,13 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = '2.1' max_microversion = '2.30' + self.sess.get_endpoint_data.return_value = FakeEndpointData() self.sess.default_microversion = None res = sot.live_migrate( - self.sess, host='HOST2', force=True, block_migration=None) + self.sess, host='HOST2', force=True, block_migration=None + ) self.assertIsNone(res) url = 'servers/IDENTIFIER/action' @@ -1197,7 +1338,8 @@ class TestServer(base.TestCase): headers = {'Accept': ''} self.sess.post.assert_called_with( - url, json=body, headers=headers, microversion='2.30') + url, json=body, headers=headers, microversion='2.30' + ) def test_get_topology(self): sot = server.Server(**EXAMPLE) @@ -1205,6 +1347,7 @@ class TestServer(base.TestCase): class FakeEndpointData: min_microversion = '2.1' max_microversion = '2.78' + self.sess.get_endpoint_data.return_value = FakeEndpointData() self.sess.default_microversion = None @@ -1213,43 +1356,21 @@ class TestServer(base.TestCase): topology = { "nodes": [ { - "cpu_pinning": { - "0": 0, - "1": 5 - }, + "cpu_pinning": {"0": 0, "1": 5}, "host_node": 0, "memory_mb": 1024, - "siblings": [ - [ - 0, - 1 - ] - ], - "vcpu_set": [ - 0, - 1 - ] + "siblings": [[0, 1]], + "vcpu_set": [0, 1], }, { - "cpu_pinning": { - "2": 1, - "3": 8 - }, + "cpu_pinning": {"2": 1, "3": 8}, "host_node": 1, "memory_mb": 2048, - "siblings": [ - [ - 2, - 3 - ] - ], - "vcpu_set": [ - 2, - 3 - ] - } + "siblings": [[2, 3]], + "vcpu_set": [2, 3], + }, ], - "pagesize_kb": 4 + "pagesize_kb": 4, } response.status_code = 200 @@ -1269,37 +1390,37 @@ class TestServer(base.TestCase): response = mock.Mock() - sgs = [{ - 'description': 'default', - 'id': 1, - 'name': 'default', - 'rules': [ - { - 'direction': 'egress', - 'ethertype': 'IPv6', - 'id': '3c0e45ff-adaf-4124-b083-bf390e5482ff', - 'port_range_max': None, - 'port_range_min': None, - 'protocol': None, - 'remote_group_id': None, - 'remote_ip_prefix': None, - 'security_group_id': '1', - 'project_id': 'e4f50856753b4dc6afee5fa6b9b6c550', - 'revision_number': 1, - 'tags': ['tag1,tag2'], - 'tenant_id': 'e4f50856753b4dc6afee5fa6b9b6c550', - 'created_at': '2018-03-19T19:16:56Z', - 'updated_at': '2018-03-19T19:16:56Z', - 'description': '' - } - ], - 'tenant_id': 'e4f50856753b4dc6afee5fa6b9b6c550' - }] + sgs = [ + { + 'description': 'default', + 'id': 1, + 'name': 'default', + 'rules': [ + { + 'direction': 'egress', + 'ethertype': 'IPv6', + 'id': '3c0e45ff-adaf-4124-b083-bf390e5482ff', + 'port_range_max': None, + 'port_range_min': None, + 'protocol': None, + 'remote_group_id': None, + 'remote_ip_prefix': None, + 'security_group_id': '1', + 'project_id': 'e4f50856753b4dc6afee5fa6b9b6c550', + 'revision_number': 1, + 'tags': ['tag1,tag2'], + 'tenant_id': 'e4f50856753b4dc6afee5fa6b9b6c550', + 'created_at': '2018-03-19T19:16:56Z', + 'updated_at': '2018-03-19T19:16:56Z', + 'description': '', + } + ], + 'tenant_id': 'e4f50856753b4dc6afee5fa6b9b6c550', + } + ] response.status_code = 200 - response.json.return_value = { - 'security_groups': sgs - } + response.json.return_value = {'security_groups': sgs} self.sess.get.return_value = response sot.fetch_security_groups(self.sess) diff --git a/openstack/tests/unit/compute/v2/test_server_actions.py b/openstack/tests/unit/compute/v2/test_server_actions.py index 881634c35..14d94b0ec 100644 --- a/openstack/tests/unit/compute/v2/test_server_actions.py +++ b/openstack/tests/unit/compute/v2/test_server_actions.py @@ -26,7 +26,7 @@ EXAMPLE = { 'result': 'Success', 'start_time': '2018-04-25T01:26:36.539271', 'traceback': None, - 'details': None + 'details': None, } ], 'instance_uuid': '4bf3473b-d550-4b65-9409-292d44ab14a2', @@ -40,7 +40,6 @@ EXAMPLE = { class TestServerAction(base.TestCase): - def setUp(self): super().setUp() self.resp = mock.Mock() diff --git a/openstack/tests/unit/compute/v2/test_server_diagnostics.py b/openstack/tests/unit/compute/v2/test_server_diagnostics.py index d4dc5753c..f71939df3 100644 --- a/openstack/tests/unit/compute/v2/test_server_diagnostics.py +++ b/openstack/tests/unit/compute/v2/test_server_diagnostics.py @@ -17,29 +17,20 @@ from openstack.tests.unit import base IDENTIFIER = 'IDENTIFIER' EXAMPLE = { "config_drive": True, - "cpu_details": [ - { - "id": 0, - "time": 17300000000, - "utilisation": 15 - } - ], + "cpu_details": [{"id": 0, "time": 17300000000, "utilisation": 15}], "disk_details": [ { "errors_count": 1, "read_bytes": 262144, "read_requests": 112, "write_bytes": 5778432, - "write_requests": 488 + "write_requests": 488, } ], "driver": "libvirt", "hypervisor": "kvm", "hypervisor_os": "ubuntu", - "memory_details": { - "maximum": 524288, - "used": 0 - }, + "memory_details": {"maximum": 524288, "used": 0}, "nic_details": [ { "mac_address": "01:23:45:67:89:ab", @@ -52,19 +43,18 @@ EXAMPLE = { "tx_errors": 400, "tx_octets": 140208, "tx_packets": 662, - "tx_rate": 600 + "tx_rate": 600, } ], "num_cpus": 1, "num_disks": 1, "num_nics": 1, "state": "running", - "uptime": 46664 + "uptime": 46664, } class TestServerInterface(base.TestCase): - def test_basic(self): sot = server_diagnostics.ServerDiagnostics() self.assertEqual('diagnostics', sot.resource_key) diff --git a/openstack/tests/unit/compute/v2/test_server_group.py b/openstack/tests/unit/compute/v2/test_server_group.py index cec61ef2a..b1eb6737e 100644 --- a/openstack/tests/unit/compute/v2/test_server_group.py +++ b/openstack/tests/unit/compute/v2/test_server_group.py @@ -27,7 +27,6 @@ EXAMPLE = { class TestServerGroup(base.TestCase): - def test_basic(self): sot = server_group.ServerGroup() self.assertEqual('server_group', sot.resource_key) @@ -39,9 +38,14 @@ class TestServerGroup(base.TestCase): self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) - self.assertDictEqual({"all_projects": "all_projects", - "limit": "limit", "marker": "marker"}, - sot._query_mapping._mapping) + self.assertDictEqual( + { + "all_projects": "all_projects", + "limit": "limit", + "marker": "marker", + }, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = server_group.ServerGroup(**EXAMPLE) diff --git a/openstack/tests/unit/compute/v2/test_server_interface.py b/openstack/tests/unit/compute/v2/test_server_interface.py index e506f5637..74194a812 100644 --- a/openstack/tests/unit/compute/v2/test_server_interface.py +++ b/openstack/tests/unit/compute/v2/test_server_interface.py @@ -19,7 +19,7 @@ EXAMPLE = { 'fixed_ips': [ { 'ip_address': '192.168.1.1', - 'subnet_id': 'f8a6e8f8-c2ec-497c-9f23-da9616de54ef' + 'subnet_id': 'f8a6e8f8-c2ec-497c-9f23-da9616de54ef', } ], 'mac_addr': '2', @@ -32,7 +32,6 @@ EXAMPLE = { class TestServerInterface(base.TestCase): - def test_basic(self): sot = server_interface.ServerInterface() self.assertEqual('interfaceAttachment', sot.resource_key) diff --git a/openstack/tests/unit/compute/v2/test_server_ip.py b/openstack/tests/unit/compute/v2/test_server_ip.py index f20e311f2..fa2790281 100644 --- a/openstack/tests/unit/compute/v2/test_server_ip.py +++ b/openstack/tests/unit/compute/v2/test_server_ip.py @@ -24,7 +24,6 @@ EXAMPLE = { class TestServerIP(base.TestCase): - def test_basic(self): sot = server_ip.ServerIP() self.assertEqual('addresses', sot.resources_key) @@ -46,10 +45,17 @@ class TestServerIP(base.TestCase): resp = mock.Mock() sess.get.return_value = resp resp.json.return_value = { - "addresses": {"label1": [{"version": 1, "addr": "a1"}, - {"version": 2, "addr": "a2"}], - "label2": [{"version": 3, "addr": "a3"}, - {"version": 4, "addr": "a4"}]}} + "addresses": { + "label1": [ + {"version": 1, "addr": "a1"}, + {"version": 2, "addr": "a2"}, + ], + "label2": [ + {"version": 3, "addr": "a3"}, + {"version": 4, "addr": "a4"}, + ], + } + } ips = list(server_ip.ServerIP.list(sess, server_id=IDENTIFIER)) @@ -78,13 +84,15 @@ class TestServerIP(base.TestCase): sess = mock.Mock() resp = mock.Mock() sess.get.return_value = resp - resp.json.return_value = {label: [{"version": 1, - "addr": "a1"}, - {"version": 2, - "addr": "a2"}]} + resp.json.return_value = { + label: [{"version": 1, "addr": "a1"}, {"version": 2, "addr": "a2"}] + } - ips = list(server_ip.ServerIP.list(sess, server_id=IDENTIFIER, - network_label=label)) + ips = list( + server_ip.ServerIP.list( + sess, server_id=IDENTIFIER, network_label=label + ) + ) self.assertEqual(2, len(ips)) ips = sorted(ips, key=lambda ip: ip.version) diff --git a/openstack/tests/unit/compute/v2/test_server_migration.py b/openstack/tests/unit/compute/v2/test_server_migration.py index b652d38c8..cc309f683 100644 --- a/openstack/tests/unit/compute/v2/test_server_migration.py +++ b/openstack/tests/unit/compute/v2/test_server_migration.py @@ -38,7 +38,6 @@ EXAMPLE = { class TestServerMigration(base.TestCase): - def setUp(self): super().setUp() self.resp = mock.Mock() @@ -96,7 +95,9 @@ class TestServerMigration(base.TestCase): self.assertEqual(EXAMPLE['disk_total_bytes'], sot.disk_total_bytes) @mock.patch.object( - server_migration.ServerMigration, '_get_session', lambda self, x: x, + server_migration.ServerMigration, + '_get_session', + lambda self, x: x, ) def test_force_complete(self): sot = server_migration.ServerMigration(**EXAMPLE) @@ -104,9 +105,12 @@ class TestServerMigration(base.TestCase): self.assertIsNone(sot.force_complete(self.sess)) url = 'servers/%s/migrations/%s/action' % ( - EXAMPLE['server_uuid'], EXAMPLE['id'] + EXAMPLE['server_uuid'], + EXAMPLE['id'], ) body = {'force_complete': None} self.sess.post.assert_called_with( - url, microversion=mock.ANY, json=body, + url, + microversion=mock.ANY, + json=body, ) diff --git a/openstack/tests/unit/compute/v2/test_server_remote_console.py b/openstack/tests/unit/compute/v2/test_server_remote_console.py index 78708cb15..96844eb3a 100644 --- a/openstack/tests/unit/compute/v2/test_server_remote_console.py +++ b/openstack/tests/unit/compute/v2/test_server_remote_console.py @@ -19,15 +19,10 @@ from openstack.tests.unit import base IDENTIFIER = 'IDENTIFIER' -EXAMPLE = { - 'protocol': 'rdp', - 'type': 'rdp', - 'url': 'fake' -} +EXAMPLE = {'protocol': 'rdp', 'type': 'rdp', 'url': 'fake'} class TestServerRemoteConsole(base.TestCase): - def setUp(self): super(TestServerRemoteConsole, self).setUp() self.sess = mock.Mock(spec=adapter.Adapter) @@ -43,8 +38,9 @@ class TestServerRemoteConsole(base.TestCase): def test_basic(self): sot = server_remote_console.ServerRemoteConsole() self.assertEqual('remote_console', sot.resource_key) - self.assertEqual('/servers/%(server_id)s/remote-consoles', - sot.base_path) + self.assertEqual( + '/servers/%(server_id)s/remote-consoles', sot.base_path + ) self.assertTrue(sot.allow_create) self.assertFalse(sot.allow_fetch) self.assertFalse(sot.allow_commit) @@ -57,15 +53,13 @@ class TestServerRemoteConsole(base.TestCase): def test_create_type_mks_old(self): sot = server_remote_console.ServerRemoteConsole( - server_id='fake_server', type='webmks') + server_id='fake_server', type='webmks' + ) class FakeEndpointData: min_microversion = '2' max_microversion = '2.5' + self.sess.get_endpoint_data.return_value = FakeEndpointData() - self.assertRaises( - ValueError, - sot.create, - self.sess - ) + self.assertRaises(ValueError, sot.create, self.sess) diff --git a/openstack/tests/unit/compute/v2/test_service.py b/openstack/tests/unit/compute/v2/test_service.py index 3f45a690f..65bd629cc 100644 --- a/openstack/tests/unit/compute/v2/test_service.py +++ b/openstack/tests/unit/compute/v2/test_service.py @@ -23,12 +23,11 @@ EXAMPLE = { 'host': 'host1', 'status': 'enabled', 'state': 'up', - 'zone': 'nova' + 'zone': 'nova', } class TestService(base.TestCase): - def setUp(self): super(TestService, self).setUp() self.resp = mock.Mock() @@ -49,14 +48,16 @@ class TestService(base.TestCase): self.assertTrue(sot.allow_list) self.assertFalse(sot.allow_fetch) - self.assertDictEqual({ - 'binary': 'binary', - 'host': 'host', - 'limit': 'limit', - 'marker': 'marker', - 'name': 'binary', - }, - sot._query_mapping._mapping) + self.assertDictEqual( + { + 'binary': 'binary', + 'host': 'host', + 'limit': 'limit', + 'marker': 'marker', + 'name': 'binary', + }, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = service.Service(**EXAMPLE) @@ -91,16 +92,14 @@ class TestService(base.TestCase): list_mock.return_value = data sot = service.Service.find( - self.sess, '2', ignore_missing=True, - binary='bin1', host='host' + self.sess, '2', ignore_missing=True, binary='bin1', host='host' ) self.assertEqual(data[1], sot) # Verify find when ID is int sot = service.Service.find( - self.sess, 1, ignore_missing=True, - binary='bin1', host='host' + self.sess, 1, ignore_missing=True, binary='bin1', host='host' ) self.assertEqual(data[0], sot) @@ -113,9 +112,11 @@ class TestService(base.TestCase): with mock.patch.object(service.Service, 'list') as list_mock: list_mock.return_value = data - self.assertIsNone(service.Service.find( - self.sess, 'fake', ignore_missing=True, host='host' - )) + self.assertIsNone( + service.Service.find( + self.sess, 'fake', ignore_missing=True, host='host' + ) + ) def test_find_no_match_exception(self): data = [ @@ -128,7 +129,10 @@ class TestService(base.TestCase): self.assertRaises( exceptions.ResourceNotFound, service.Service.find, - self.sess, 'fake', ignore_missing=False, host='host' + self.sess, + 'fake', + ignore_missing=False, + host='host', ) def test_find_multiple_match(self): @@ -142,11 +146,17 @@ class TestService(base.TestCase): self.assertRaises( exceptions.DuplicateResource, service.Service.find, - self.sess, 'bin1', ignore_missing=False, host='host' + self.sess, + 'bin1', + ignore_missing=False, + host='host', ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=False) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=False, + ) def test_set_forced_down_before_211(self, mv_mock): sot = service.Service(**EXAMPLE) @@ -159,10 +169,14 @@ class TestService(base.TestCase): 'host': 'host1', } self.sess.put.assert_called_with( - url, json=body, microversion=self.sess.default_microversion) + url, json=body, microversion=self.sess.default_microversion + ) - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_set_forced_down_after_211(self, mv_mock): sot = service.Service(**EXAMPLE) @@ -175,11 +189,13 @@ class TestService(base.TestCase): 'host': 'host1', 'forced_down': True, } - self.sess.put.assert_called_with( - url, json=body, microversion='2.11') + self.sess.put.assert_called_with(url, json=body, microversion='2.11') - @mock.patch('openstack.utils.supports_microversion', autospec=True, - return_value=True) + @mock.patch( + 'openstack.utils.supports_microversion', + autospec=True, + return_value=True, + ) def test_set_forced_down_after_253(self, mv_mock): sot = service.Service(**EXAMPLE) @@ -192,8 +208,7 @@ class TestService(base.TestCase): 'host': sot.host, 'forced_down': True, } - self.sess.put.assert_called_with( - url, json=body, microversion='2.11') + self.sess.put.assert_called_with(url, json=body, microversion='2.11') def test_enable(self): sot = service.Service(**EXAMPLE) @@ -207,7 +222,8 @@ class TestService(base.TestCase): 'host': 'host1', } self.sess.put.assert_called_with( - url, json=body, microversion=self.sess.default_microversion) + url, json=body, microversion=self.sess.default_microversion + ) def test_disable(self): sot = service.Service(**EXAMPLE) @@ -221,7 +237,8 @@ class TestService(base.TestCase): 'host': 'host1', } self.sess.put.assert_called_with( - url, json=body, microversion=self.sess.default_microversion) + url, json=body, microversion=self.sess.default_microversion + ) def test_disable_with_reason(self): sot = service.Service(**EXAMPLE) @@ -235,7 +252,8 @@ class TestService(base.TestCase): body = { 'binary': 'nova-compute', 'host': 'host1', - 'disabled_reason': reason + 'disabled_reason': reason, } self.sess.put.assert_called_with( - url, json=body, microversion=self.sess.default_microversion) + url, json=body, microversion=self.sess.default_microversion + ) diff --git a/openstack/tests/unit/compute/v2/test_volume_attachment.py b/openstack/tests/unit/compute/v2/test_volume_attachment.py index 04218a80b..5091463ef 100644 --- a/openstack/tests/unit/compute/v2/test_volume_attachment.py +++ b/openstack/tests/unit/compute/v2/test_volume_attachment.py @@ -26,29 +26,31 @@ EXAMPLE = { class TestServerInterface(base.TestCase): - def test_basic(self): sot = volume_attachment.VolumeAttachment() self.assertEqual('volumeAttachment', sot.resource_key) self.assertEqual('volumeAttachments', sot.resources_key) - self.assertEqual('/servers/%(server_id)s/os-volume_attachments', - sot.base_path) + self.assertEqual( + '/servers/%(server_id)s/os-volume_attachments', + sot.base_path, + ) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_fetch) self.assertTrue(sot.allow_commit) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) - self.assertDictEqual({"limit": "limit", - "offset": "offset", - "marker": "marker"}, - sot._query_mapping._mapping) + self.assertDictEqual( + {"limit": "limit", "offset": "offset", "marker": "marker"}, + sot._query_mapping._mapping, + ) def test_make_it(self): sot = volume_attachment.VolumeAttachment(**EXAMPLE) self.assertEqual(EXAMPLE['volumeId'], sot.id) self.assertEqual(EXAMPLE['attachment_id'], sot.attachment_id) self.assertEqual( - EXAMPLE['delete_on_termination'], sot.delete_on_termination, + EXAMPLE['delete_on_termination'], + sot.delete_on_termination, ) self.assertEqual(EXAMPLE['device'], sot.device) # FIXME(stephenfin): This conflicts since there is a server ID in the