From 84dbe32a6d72ed6da08ab31b57f863f64c303ae6 Mon Sep 17 00:00:00 2001 From: Sergey Nikitin Date: Fri, 7 Feb 2014 16:06:47 +0400 Subject: [PATCH] Replace assert* with more suitable asserts in unit tests The following replacements were done in unit tests to have clearer messages in case of failure: - assertTrue(* is None) with assertIsNone - assertTrue(* is not None) with assertIsNotNone - assertTrue(* in *) with assertIn - assertTrue(* not in *) with assertNotIn - assertFalse(* in *) with assertNotIn - assertTrue(* == *) with assertEqual - assertTrue(* != *) with assertNotEqual Change-Id: I0c47f991c3974e441335e71c9d26fab8a127f2ca --- .../tests/unit/api/test_cmd_cache_manage.py | 20 ++-- .../unit/api/test_property_protections.py | 8 +- glance/tests/unit/common/test_exception.py | 8 +- glance/tests/unit/common/test_rpc.py | 4 +- glance/tests/unit/common/test_wsgi.py | 18 +-- glance/tests/unit/test_auth.py | 10 +- glance/tests/unit/test_cache_middleware.py | 12 +- glance/tests/unit/test_db.py | 12 +- glance/tests/unit/test_domain.py | 18 +-- glance/tests/unit/test_domain_proxy.py | 2 +- glance/tests/unit/test_glance_replicator.py | 48 ++++---- glance/tests/unit/test_migrations.py | 6 +- glance/tests/unit/test_misc.py | 12 +- glance/tests/unit/test_notifier.py | 16 +-- glance/tests/unit/test_quota.py | 18 +-- glance/tests/unit/test_store_image.py | 76 ++++++------- glance/tests/unit/test_store_location.py | 2 +- glance/tests/unit/test_swift_store.py | 4 +- glance/tests/unit/v1/test_api.py | 106 +++++++++--------- glance/tests/unit/v1/test_registry_api.py | 14 +-- glance/tests/unit/v1/test_registry_client.py | 4 +- .../tests/unit/v2/test_image_data_resource.py | 2 +- glance/tests/unit/v2/test_images_resource.py | 66 +++++------ glance/tests/unit/v2/test_registry_client.py | 4 +- glance/tests/unit/v2/test_tasks_resource.py | 16 +-- 25 files changed, 252 insertions(+), 254 deletions(-) diff --git a/glance/tests/unit/api/test_cmd_cache_manage.py b/glance/tests/unit/api/test_cmd_cache_manage.py index 6a0a0da7d2..45c8ed78d4 100644 --- a/glance/tests/unit/api/test_cmd_cache_manage.py +++ b/glance/tests/unit/api/test_cmd_cache_manage.py @@ -114,8 +114,8 @@ def test_queue_image_not_forced_confirmed(self, mock_client, mock_confirm): self.assertEqual(cache_manage.queue_image(mock_options, ['img_id']), cache_manage.SUCCESS) self.assertTrue(mock_client.called) - self.assertTrue( - mock.call.mock_client().queue_image_for_caching('img_id') in + self.assertIn( + mock.call.mock_client().queue_image_for_caching('img_id'), manager.mock_calls) def test_delete_cached_image_without_index(self): @@ -154,8 +154,8 @@ def test_delete_cached_image_not_forced_confirmed(self, mock_client, cache_manage.delete_cached_image(mock_options, ['img_id']), cache_manage.SUCCESS) - self.assertTrue( - mock.call.mock_client().delete_cached_image('img_id') in + self.assertIn( + mock.call.mock_client().delete_cached_image('img_id'), manager.mock_calls) @mock.patch.object(glance.cmd.cache_manage, 'user_confirm') @@ -190,8 +190,8 @@ def test_delete_cached_images_not_forced_confirmed(self, mock_client, cache_manage.delete_all_cached_images(mock_options, None), cache_manage.SUCCESS) self.assertTrue(mock_client.called) - self.assertTrue( - mock.call.mock_client().delete_all_cached_images() in + self.assertIn( + mock.call.mock_client().delete_all_cached_images(), manager.mock_calls) def test_delete_queued_image_without_index(self): @@ -230,8 +230,8 @@ def test_delete_queued_image_not_forced_confirmed(self, mock_client, cache_manage.delete_queued_image(mock_options, ['img_id']), cache_manage.SUCCESS) self.assertTrue(mock_client.called) - self.assertTrue( - mock.call.mock_client().delete_queued_image('img_id') in + self.assertIn( + mock.call.mock_client().delete_queued_image('img_id'), manager.mock_calls) @mock.patch.object(glance.cmd.cache_manage, 'user_confirm') @@ -265,8 +265,8 @@ def test_delete_queued_images_not_forced_confirmed(self, mock_client, cache_manage.delete_all_queued_images(mock_options, None), cache_manage.SUCCESS) self.assertTrue(mock_client.called) - self.assertTrue( - mock.call.mock_client().delete_all_queued_images() in + self.assertIn( + mock.call.mock_client().delete_all_queued_images(), manager.mock_calls) @mock.patch.object(glance.cmd.cache_manage, 'get_client') diff --git a/glance/tests/unit/api/test_property_protections.py b/glance/tests/unit/api/test_property_protections.py index be0d82f52d..7f26cbf45d 100644 --- a/glance/tests/unit/api/test_property_protections.py +++ b/glance/tests/unit/api/test_property_protections.py @@ -76,7 +76,7 @@ def test_get_image(self): self.assertEqual(result_extra_props['spl_read_prop'], 'r') self.assertEqual(result_extra_props['spl_update_prop'], 'u') self.assertEqual(result_extra_props['spl_delete_prop'], 'd') - self.assertFalse('forbidden' in result_extra_props.keys()) + self.assertNotIn('forbidden', result_extra_props.keys()) def test_list_image(self): result_images = self.image_repo.list() @@ -86,14 +86,14 @@ def test_list_image(self): self.assertEqual(result_extra_props['spl_read_prop'], 'r') self.assertEqual(result_extra_props['spl_update_prop'], 'u') self.assertEqual(result_extra_props['spl_delete_prop'], 'd') - self.assertFalse('forbidden' in result_extra_props.keys()) + self.assertNotIn('forbidden', result_extra_props.keys()) result_extra_props = result_images[1].extra_properties self.assertEqual(result_extra_props, {}) result_extra_props = result_images[2].extra_properties self.assertEqual(result_extra_props['spl_read_prop'], 'r') - self.assertFalse('forbidden' in result_extra_props.keys()) + self.assertNotIn('forbidden', result_extra_props.keys()) class TestProtectedImageProxy(utils.BaseTestCase): @@ -116,7 +116,7 @@ def test_read_image_with_extra_prop(self): image, context, self.property_rules) result_extra_props = result_image.extra_properties self.assertEqual(result_extra_props['spl_read_prop'], 'read') - self.assertFalse('spl_fake_prop' in result_extra_props.keys()) + self.assertNotIn('spl_fake_prop', result_extra_props.keys()) class TestExtraPropertiesProxy(utils.BaseTestCase): diff --git a/glance/tests/unit/common/test_exception.py b/glance/tests/unit/common/test_exception.py index 8ff0e46533..4debd8795c 100644 --- a/glance/tests/unit/common/test_exception.py +++ b/glance/tests/unit/common/test_exception.py @@ -29,7 +29,7 @@ class FakeGlanceException(exception.GlanceException): self.assertEqual(unicode(exc), 'default message') def test_specified_error_msg(self): - self.assertTrue('test' in unicode(exception.GlanceException('test'))) + self.assertIn('test', unicode(exception.GlanceException('test'))) def test_default_error_msg_with_kwargs(self): class FakeGlanceException(exception.GlanceException): @@ -39,9 +39,9 @@ class FakeGlanceException(exception.GlanceException): self.assertEqual(unicode(exc), "default message: 500") def test_specified_error_msg_with_kwargs(self): - self.assertTrue('test: 500' in - unicode(exception.GlanceException('test: %(code)s', - code=500))) + self.assertIn('test: 500', + unicode(exception.GlanceException('test: %(code)s', + code=500))) def test_non_unicode_error_msg(self): exc = exception.GlanceException(str('test')) diff --git a/glance/tests/unit/common/test_rpc.py b/glance/tests/unit/common/test_rpc.py index 5409100248..4ae0ee16aa 100644 --- a/glance/tests/unit/common/test_rpc.py +++ b/glance/tests/unit/common/test_rpc.py @@ -307,7 +307,7 @@ def test_has_body_has_content_length(self): request = wsgi.Request.blank('/') request.method = 'POST' request.body = 'asdf' - self.assertTrue('Content-Length' in request.headers) + self.assertIn('Content-Length', request.headers) self.assertTrue(rpc.RPCJSONDeserializer().has_body(request)) def test_no_body_no_content_length(self): @@ -344,7 +344,7 @@ def test_has_body_has_transfer_encoding(self): request.method = 'POST' request.body = 'fake_body' request.headers['transfer-encoding'] = 0 - self.assertTrue('transfer-encoding' in request.headers) + self.assertIn('transfer-encoding', request.headers) self.assertTrue(rpc.RPCJSONDeserializer().has_body(request)) def test_to_json_with_date_format_value(self): diff --git a/glance/tests/unit/common/test_wsgi.py b/glance/tests/unit/common/test_wsgi.py index 1c100301da..86c4856881 100644 --- a/glance/tests/unit/common/test_wsgi.py +++ b/glance/tests/unit/common/test_wsgi.py @@ -334,7 +334,7 @@ def test_has_body_has_content_length(self): request = wsgi.Request.blank('/') request.method = 'POST' request.body = 'asdf' - self.assertTrue('Content-Length' in request.headers) + self.assertIn('Content-Length', request.headers) self.assertTrue(wsgi.JSONRequestDeserializer().has_body(request)) def test_no_body_no_content_length(self): @@ -371,7 +371,7 @@ def test_has_body_has_transfer_encoding(self): request.method = 'POST' request.body = 'fake_body' request.headers['transfer-encoding'] = 0 - self.assertTrue('transfer-encoding' in request.headers) + self.assertIn('transfer-encoding', request.headers) self.assertTrue(wsgi.JSONRequestDeserializer().has_body(request)) def test_get_bind_addr_default_value(self): @@ -430,7 +430,7 @@ class FakeResponse(): if v is not None: self.assertEqual(v, result[k]) else: - self.assertFalse(k in result) + self.assertNotIn(k, result) class GetSocketTestCase(test_utils.BaseTestCase): @@ -466,19 +466,19 @@ def test_correct_get_socket(self): 'glance.common.wsgi.eventlet.listen', lambda *x, **y: None)) wsgi.get_socket(1234) - self.assertTrue(mock.call().setsockopt( + self.assertIn(mock.call().setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, - 1) in mock_socket.mock_calls) - self.assertTrue(mock.call().setsockopt( + 1), mock_socket.mock_calls) + self.assertIn(mock.call().setsockopt( socket.SOL_SOCKET, socket.SO_KEEPALIVE, - 1) in mock_socket.mock_calls) + 1), mock_socket.mock_calls) if hasattr(socket, 'TCP_KEEPIDLE'): - self.assertTrue(mock.call().setsockopt( + self.assertIn(mock.call().setsockopt( socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, - wsgi.CONF.tcp_keepidle) in mock_socket.mock_calls) + wsgi.CONF.tcp_keepidle), mock_socket.mock_calls) def test_get_socket_without_all_ssl_reqs(self): wsgi.CONF.key_file = None diff --git a/glance/tests/unit/test_auth.py b/glance/tests/unit/test_auth.py index 979b37e7fc..a50e6b3617 100644 --- a/glance/tests/unit/test_auth.py +++ b/glance/tests/unit/test_auth.py @@ -305,14 +305,14 @@ def fake_do_request(cls, url, method, headers=None, body=None): for creds in good_creds: plugin = auth.KeystoneStrategy(creds) - self.assertTrue(plugin.authenticate() is None) + self.assertIsNone(plugin.authenticate()) self.assertEqual(plugin.management_url, "example.com") # Assert it does not update management_url via auth response for creds in good_creds: plugin = auth.KeystoneStrategy(creds, configure_via_auth=False) - self.assertTrue(plugin.authenticate() is None) - self.assertTrue(plugin.management_url is None) + self.assertIsNone(plugin.authenticate()) + self.assertIsNone(plugin.management_url) def test_v2_auth(self): """Test v2 auth code paths""" @@ -387,7 +387,7 @@ def fake_do_request(cls, url, method, headers=None, body=None): } plugin = auth.KeystoneStrategy(no_region_creds) - self.assertTrue(plugin.authenticate() is None) + self.assertIsNone(plugin.authenticate()) self.assertEqual(plugin.management_url, 'http://localhost:9292') # Add another image service, with a different region @@ -483,7 +483,7 @@ def fake_do_request(cls, url, method, headers=None, body=None): for creds in good_creds: plugin = auth.KeystoneStrategy(creds) - self.assertTrue(plugin.authenticate() is None) + self.assertIsNone(plugin.authenticate()) self.assertEqual(plugin.management_url, 'http://localhost:9292') ambiguous_region_creds = { diff --git a/glance/tests/unit/test_cache_middleware.py b/glance/tests/unit/test_cache_middleware.py index 8756baf29e..dbe7a3d2d1 100644 --- a/glance/tests/unit/test_cache_middleware.py +++ b/glance/tests/unit/test_cache_middleware.py @@ -29,12 +29,12 @@ class TestCacheMiddlewareURLMatching(testtools.TestCase): def test_v1_no_match_detail(self): req = webob.Request.blank('/v1/images/detail') out = glance.api.middleware.cache.CacheFilter._match_request(req) - self.assertTrue(out is None) + self.assertIsNone(out) def test_v1_no_match_detail_with_query_params(self): req = webob.Request.blank('/v1/images/detail?limit=10') out = glance.api.middleware.cache.CacheFilter._match_request(req) - self.assertTrue(out is None) + self.assertIsNone(out) def test_v1_match_id_with_query_param(self): req = webob.Request.blank('/v1/images/asdf?ping=pong') @@ -49,12 +49,12 @@ def test_v2_match_id(self): def test_v2_no_match_bad_path(self): req = webob.Request.blank('/v2/images/asdf') out = glance.api.middleware.cache.CacheFilter._match_request(req) - self.assertTrue(out is None) + self.assertIsNone(out) def test_no_match_unknown_version(self): req = webob.Request.blank('/v3/images/asdf') out = glance.api.middleware.cache.CacheFilter._match_request(req) - self.assertTrue(out is None) + self.assertIsNone(out) class TestCacheMiddlewareRequestStashCacheInfo(testtools.TestCase): @@ -191,7 +191,7 @@ def fake_process_v1_request(request, image_id, image_iterator): self.stubs.Set(cache_filter, '_process_v1_request', fake_process_v1_request) cache_filter.process_request(request) - self.assertTrue(image_id in cache_filter.cache.deleted_images) + self.assertIn(image_id, cache_filter.cache.deleted_images) def test_v1_process_request_image_fetch(self): @@ -263,7 +263,7 @@ def fake_get_image_size(image_id): self.stubs.Set(cache_filter.cache, 'get_image_size', fake_get_image_size) cache_filter._verify_metadata(image_meta) - self.assertTrue(image_meta['size'] == image_size) + self.assertEqual(image_size, image_meta['size']) def test_v2_process_request_response_headers(self): def dummy_img_iterator(): diff --git a/glance/tests/unit/test_db.py b/glance/tests/unit/test_db.py index 75cf2bb9dd..e16ce8eed4 100644 --- a/glance/tests/unit/test_db.py +++ b/glance/tests/unit/test_db.py @@ -188,7 +188,7 @@ def test_get_not_found(self): fake_uuid = str(uuid.uuid4()) exc = self.assertRaises(exception.NotFound, self.image_repo.get, fake_uuid) - self.assertTrue(fake_uuid in unicode(exc)) + self.assertIn(fake_uuid, unicode(exc)) def test_get_forbidden(self): self.assertRaises(exception.NotFound, self.image_repo.get, UUID4) @@ -329,7 +329,7 @@ def test_save_image_not_found(self): image.image_id = fake_uuid exc = self.assertRaises(exception.NotFound, self.image_repo.save, image) - self.assertTrue(fake_uuid in unicode(exc)) + self.assertIn(fake_uuid, unicode(exc)) def test_remove_image(self): image = self.image_repo.get(UUID1) @@ -344,7 +344,7 @@ def test_remove_image_not_found(self): image.image_id = fake_uuid exc = self.assertRaises(exception.NotFound, self.image_repo.remove, image) - self.assertTrue(fake_uuid in unicode(exc)) + self.assertIn(fake_uuid, unicode(exc)) class TestEncryptedLocations(test_utils.BaseTestCase): @@ -473,7 +473,7 @@ def test_add_image_member(self): image = self.image_repo.get(UUID1) image_member = self.image_member_factory.new_image_member(image, TENANT4) - self.assertTrue(image_member.id is None) + self.assertIsNone(image_member.id) self.image_member_repo.add(image_member) retreived_image_member = self.image_member_repo.get(TENANT4) self.assertIsNotNone(retreived_image_member.id) @@ -488,7 +488,7 @@ def test_add_duplicate_image_member(self): image = self.image_repo.get(UUID1) image_member = self.image_member_factory.new_image_member(image, TENANT4) - self.assertTrue(image_member.id is None) + self.assertIsNone(image_member.id) self.image_member_repo.add(image_member) retreived_image_member = self.image_member_repo.get(TENANT4) self.assertIsNotNone(retreived_image_member.id) @@ -536,7 +536,7 @@ def test_remove_image_member_does_not_exist(self): exc = self.assertRaises(exception.NotFound, self.image_member_repo.remove, fake_member) - self.assertTrue(fake_uuid in unicode(exc)) + self.assertIn(fake_uuid, unicode(exc)) class TestTaskRepo(test_utils.BaseTestCase): diff --git a/glance/tests/unit/test_domain.py b/glance/tests/unit/test_domain.py index aadb21a200..8f4258f45d 100644 --- a/glance/tests/unit/test_domain.py +++ b/glance/tests/unit/test_domain.py @@ -41,8 +41,8 @@ def setUp(self): def test_minimal_new_image(self): image = self.image_factory.new_image() - self.assertTrue(image.image_id is not None) - self.assertTrue(image.created_at is not None) + self.assertIsNotNone(image.image_id) + self.assertIsNotNone(image.created_at) self.assertEqual(image.created_at, image.updated_at) self.assertEqual(image.status, 'queued') self.assertEqual(image.visibility, 'private') @@ -51,7 +51,7 @@ def test_minimal_new_image(self): self.assertIsNone(image.size) self.assertEqual(image.min_disk, 0) self.assertEqual(image.min_ram, 0) - self.assertEqual(image.protected, False) + self.assertFalse(image.protected) self.assertIsNone(image.disk_format) self.assertIsNone(image.container_format) self.assertEqual(image.extra_properties, {}) @@ -62,7 +62,7 @@ def test_new_image(self): image_id=UUID1, name='image-1', min_disk=256, owner=TENANT1) self.assertEqual(image.image_id, UUID1) - self.assertTrue(image.created_at is not None) + self.assertIsNotNone(image.created_at) self.assertEqual(image.created_at, image.updated_at) self.assertEqual(image.status, 'queued') self.assertEqual(image.visibility, 'private') @@ -71,7 +71,7 @@ def test_new_image(self): self.assertIsNone(image.size) self.assertEqual(image.min_disk, 256) self.assertEqual(image.min_ram, 0) - self.assertEqual(image.protected, False) + self.assertFalse(image.protected) self.assertIsNone(image.disk_format) self.assertIsNone(image.container_format) self.assertEqual(image.extra_properties, {}) @@ -85,7 +85,7 @@ def test_new_image_with_extra_properties_and_tags(self): extra_properties=extra_properties, tags=tags) self.assertEqual(image.image_id, UUID1) - self.assertTrue(image.created_at is not None) + self.assertIsNotNone(image.created_at) self.assertEqual(image.created_at, image.updated_at) self.assertEqual(image.status, 'queued') self.assertEqual(image.visibility, 'private') @@ -94,7 +94,7 @@ def test_new_image_with_extra_properties_and_tags(self): self.assertIsNone(image.size) self.assertEqual(image.min_disk, 0) self.assertEqual(image.min_ram, 0) - self.assertEqual(image.protected, False) + self.assertFalse(image.protected) self.assertIsNone(image.disk_format) self.assertIsNone(image.container_format) self.assertEqual(image.extra_properties, {'foo': 'bar'}) @@ -221,10 +221,10 @@ def test_minimal_new_image_member(self): image_member = self.image_member_factory.new_image_member(image, member_id) self.assertEqual(image_member.image_id, image.image_id) - self.assertTrue(image_member.created_at is not None) + self.assertIsNotNone(image_member.created_at) self.assertEqual(image_member.created_at, image_member.updated_at) self.assertEqual(image_member.status, 'pending') - self.assertTrue(image_member.member_id is not None) + self.assertIsNotNone(image_member.member_id) class TestExtraProperties(test_utils.BaseTestCase): diff --git a/glance/tests/unit/test_domain_proxy.py b/glance/tests/unit/test_domain_proxy.py index 86684fc05d..4a3f826b97 100644 --- a/glance/tests/unit/test_domain_proxy.py +++ b/glance/tests/unit/test_domain_proxy.py @@ -131,7 +131,7 @@ def _test_method_with_proxied_argument(self, name, result): self.assertEqual(self.fake_repo.kwargs, {}) if result is None: - self.assertTrue(proxy_result is None) + self.assertIsNone(proxy_result) else: self.assertIsInstance(proxy_result, FakeProxy) self.assertEqual(proxy_result.base, result) diff --git a/glance/tests/unit/test_glance_replicator.py b/glance/tests/unit/test_glance_replicator.py index 4583873fed..e0c501ada8 100644 --- a/glance/tests/unit/test_glance_replicator.py +++ b/glance/tests/unit/test_glance_replicator.py @@ -172,12 +172,12 @@ def test_rest_header_list_to_dict(self): ('x-image-meta-property-frog', 11), ('x-image-meta-property-duck', 12)] o = glance_replicator.ImageService._header_list_to_dict(i) - self.assertTrue('banana' in o) - self.assertTrue('gerkin' in o) - self.assertTrue('properties' in o) - self.assertTrue('frog' in o['properties']) - self.assertTrue('duck' in o['properties']) - self.assertFalse('x-image-meta-banana' in o) + self.assertIn('banana', o) + self.assertIn('gerkin', o) + self.assertIn('properties', o) + self.assertIn('frog', o['properties']) + self.assertIn('duck', o['properties']) + self.assertNotIn('x-image-meta-banana', o) def test_rest_get_image_meta(self): c = glance_replicator.ImageService(FakeHTTPConnection(), 'noauth') @@ -188,7 +188,7 @@ def test_rest_get_image_meta(self): 200, '', IMG_RESPONSE_ACTIVE) header = c.get_image_meta(IMG_RESPONSE_ACTIVE['id']) - self.assertTrue('id' in header) + self.assertIn('id', header) def test_rest_dict_to_headers(self): i = {'banana': 42, @@ -197,12 +197,12 @@ def test_rest_dict_to_headers(self): 'kernel_id': None} } o = glance_replicator.ImageService._dict_to_headers(i) - self.assertTrue('x-image-meta-banana' in o) - self.assertTrue('x-image-meta-gerkin' in o) - self.assertTrue('x-image-meta-property-frog' in o) - self.assertTrue('x-image-meta-property-kernel_id' in o) + self.assertIn('x-image-meta-banana', o) + self.assertIn('x-image-meta-gerkin', o) + self.assertIn('x-image-meta-property-frog', o) + self.assertIn('x-image-meta-property-kernel_id', o) self.assertEqual(o['x-image-meta-property-kernel_id'], '') - self.assertFalse('properties' in o) + self.assertNotIn('properties', o) def test_rest_add_image(self): c = glance_replicator.ImageService(FakeHTTPConnection(), 'noauth') @@ -385,9 +385,9 @@ def test_replication_dump(self): with open(imgfile) as f: d = jsonutils.loads(f.read()) - self.assertTrue('status' in d) - self.assertTrue('id' in d) - self.assertTrue('size' in d) + self.assertIn('status', d) + self.assertIn('id', d) + self.assertIn('size', d) for inactive in ['f4da1d2a-40e8-4710-b3aa-0222a4cc887b']: imgfile = os.path.join(tempdir, inactive) @@ -396,9 +396,9 @@ def test_replication_dump(self): with open(imgfile) as f: d = jsonutils.loads(f.read()) - self.assertTrue('status' in d) - self.assertTrue('id' in d) - self.assertTrue('size' in d) + self.assertIn('status', d) + self.assertIn('id', d) + self.assertIn('size', d) def test_replication_dump_with_no_args(self): args = [] @@ -464,10 +464,10 @@ def write_image(img, data): finally: glance_replicator.get_image_service = orig_img_service - self.assertTrue('5dcddce0-cba5-4f18-9cf4-9853c7b207a6' in updated) - self.assertFalse('f4da1d2a-40e8-4710-b3aa-0222a4cc887b' in updated) - self.assertTrue(new_id in updated) - self.assertFalse(new_id_missing_data in updated) + self.assertIn('5dcddce0-cba5-4f18-9cf4-9853c7b207a6', updated) + self.assertNotIn('f4da1d2a-40e8-4710-b3aa-0222a4cc887b', updated) + self.assertIn(new_id, updated) + self.assertNotIn(new_id_missing_data, updated) def test_replication_load_with_no_args(self): args = [] @@ -523,10 +523,10 @@ def test_replication_compare(self): finally: glance_replicator.get_image_service = orig_img_service - self.assertTrue('15648dd7-8dd0-401c-bd51-550e1ba9a088' in differences) + self.assertIn('15648dd7-8dd0-401c-bd51-550e1ba9a088', differences) self.assertEqual(differences['15648dd7-8dd0-401c-bd51-550e1ba9a088'], 'missing') - self.assertTrue('37ff82db-afca-48c7-ae0b-ddc7cf83e3db' in differences) + self.assertIn('37ff82db-afca-48c7-ae0b-ddc7cf83e3db', differences) self.assertEqual(differences['37ff82db-afca-48c7-ae0b-ddc7cf83e3db'], 'diff') diff --git a/glance/tests/unit/test_migrations.py b/glance/tests/unit/test_migrations.py index 71e7672099..39d44267a1 100644 --- a/glance/tests/unit/test_migrations.py +++ b/glance/tests/unit/test_migrations.py @@ -960,7 +960,7 @@ def _check_019(self, engine, data): def _check_020(self, engine, data): images = get_table(engine, 'images') - self.assertFalse('location' in images.c) + self.assertNotIn('location', images.c) def _pre_upgrade_026(self, engine): image_locations = get_table(engine, 'image_locations') @@ -996,7 +996,7 @@ def _check_026(self, engine, data): r = list(results) self.assertEqual(len(r), 1) self.assertEqual(r[0]['value'], 'file:///some/place/onthe/fs') - self.assertTrue('meta_data' in r[0]) + self.assertIn('meta_data', r[0]) x = pickle.loads(r[0]['meta_data']) self.assertEqual(x, {}) @@ -1304,7 +1304,7 @@ def _check_033(self, engine, data): .where(image_locations.c.image_id == image_id).execute() r = list(results) self.assertEqual(len(r), 1) - self.assertTrue('status' in r[0]) + self.assertIn('status', r[0]) self.assertEqual(r[0]['status'], status_list[idx]) def _post_downgrade_033(self, engine): diff --git a/glance/tests/unit/test_misc.py b/glance/tests/unit/test_misc.py index 624ecc8a71..d0df18f281 100644 --- a/glance/tests/unit/test_misc.py +++ b/glance/tests/unit/test_misc.py @@ -36,9 +36,9 @@ def test_encryption(self): for key in key_list: for plaintext in plaintext_list: ciphertext = crypt.urlsafe_encrypt(key, plaintext, blocksize) - self.assertTrue(ciphertext != plaintext) + self.assertNotEqual(ciphertext, plaintext) text = crypt.urlsafe_decrypt(key, ciphertext) - self.assertTrue(plaintext == text) + self.assertEqual(plaintext, text) def test_empty_metadata_headers(self): """Ensure unset metadata is not encoded in HTTP headers""" @@ -58,10 +58,10 @@ def test_empty_metadata_headers(self): headers = utils.image_meta_to_http_headers(metadata) - self.assertFalse('x-image-meta-snafu' in headers) - self.assertFalse('x-image-meta-uset' in headers) - self.assertFalse('x-image-meta-snafu' in headers) - self.assertFalse('x-image-meta-property-arch' in headers) + self.assertNotIn('x-image-meta-snafu', headers) + self.assertNotIn('x-image-meta-uset', headers) + self.assertNotIn('x-image-meta-snafu', headers) + self.assertNotIn('x-image-meta-property-arch', headers) self.assertEqual(headers.get('x-image-meta-foo'), 'bar') self.assertEqual(headers.get('x-image-meta-bells'), 'whistles') diff --git a/glance/tests/unit/test_notifier.py b/glance/tests/unit/test_notifier.py index 4e1b338c8c..1a11b7ddb1 100644 --- a/glance/tests/unit/test_notifier.py +++ b/glance/tests/unit/test_notifier.py @@ -277,7 +277,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Modern Major General' in output_log['payload']) + self.assertIn('Modern Major General', output_log['payload']) def test_image_set_data_value_error(self): def data_iterator(): @@ -294,7 +294,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('value wrong' in output_log['payload']) + self.assertIn('value wrong', output_log['payload']) def test_image_set_data_duplicate(self): def data_iterator(): @@ -311,7 +311,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Cant have duplicates' in output_log['payload']) + self.assertIn('Cant have duplicates', output_log['payload']) def test_image_set_data_storage_write_denied(self): def data_iterator(): @@ -328,7 +328,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('The Very Model' in output_log['payload']) + self.assertIn('The Very Model', output_log['payload']) def test_image_set_data_forbidden(self): def data_iterator(): @@ -345,7 +345,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Not allowed' in output_log['payload']) + self.assertIn('Not allowed', output_log['payload']) def test_image_set_data_not_found(self): def data_iterator(): @@ -362,7 +362,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Not found' in output_log['payload']) + self.assertIn('Not found', output_log['payload']) def test_image_set_data_HTTP_error(self): def data_iterator(): @@ -379,7 +379,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Http issue' in output_log['payload']) + self.assertIn('Http issue', output_log['payload']) def test_image_set_data_error(self): def data_iterator(): @@ -396,7 +396,7 @@ def data_iterator(): output_log = output_logs[0] self.assertEqual(output_log['notification_type'], 'ERROR') self.assertEqual(output_log['event_type'], 'image.upload') - self.assertTrue('Failed' in output_log['payload']) + self.assertIn('Failed', output_log['payload']) class TestTaskNotifications(utils.BaseTestCase): diff --git a/glance/tests/unit/test_quota.py b/glance/tests/unit/test_quota.py index 1499d7c191..202f6364e8 100644 --- a/glance/tests/unit/test_quota.py +++ b/glance/tests/unit/test_quota.py @@ -338,7 +338,7 @@ def test_save_image_too_many_image_properties(self): self.image.extra_properties = {'foo': 'bar', 'foo2': 'bar2'} exc = self.assertRaises(exception.ImagePropertyLimitExceeded, self.image_repo_proxy.save, self.image) - self.assertTrue("Attempted: 2, Maximum: 1" in str(exc)) + self.assertIn("Attempted: 2, Maximum: 1", str(exc)) def test_save_image_unlimited_image_properties(self): self.config(image_property_quota=-1) @@ -362,7 +362,7 @@ def test_add_image_too_many_image_properties(self): self.image.extra_properties = {'foo': 'bar', 'foo2': 'bar2'} exc = self.assertRaises(exception.ImagePropertyLimitExceeded, self.image_repo_proxy.add, self.image) - self.assertTrue("Attempted: 2, Maximum: 1" in str(exc)) + self.assertIn("Attempted: 2, Maximum: 1", str(exc)) def test_add_image_unlimited_image_properties(self): self.config(image_property_quota=-1) @@ -398,7 +398,7 @@ def test_replace_too_many_image_tags(self): exc = self.assertRaises(exception.ImageTagLimitExceeded, setattr, self.image, 'tags', ['foo', 'bar']) - self.assertTrue('Attempted: 2, Maximum: 0' in str(exc)) + self.assertIn('Attempted: 2, Maximum: 0', str(exc)) self.assertEqual(len(self.image.tags), 0) def test_replace_unlimited_image_tags(self): @@ -416,7 +416,7 @@ def test_add_too_many_image_tags(self): self.image.tags.add('foo') exc = self.assertRaises(exception.ImageTagLimitExceeded, self.image.tags.add, 'bar') - self.assertTrue('Attempted: 2, Maximum: 1' in str(exc)) + self.assertIn('Attempted: 2, Maximum: 1', str(exc)) def test_add_unlimited_image_tags(self): self.config(image_tag_quota=-1) @@ -439,14 +439,14 @@ def setUp(self): def test_add(self): proxy = glance.quota.QuotaImageTagsProxy(set([])) proxy.add('foo') - self.assertTrue('foo' in proxy) + self.assertIn('foo', proxy) def test_add_too_many_tags(self): self.config(image_tag_quota=0) proxy = glance.quota.QuotaImageTagsProxy(set([])) exc = self.assertRaises(exception.ImageTagLimitExceeded, proxy.add, 'bar') - self.assertTrue('Attempted: 1, Maximum: 0' in str(exc)) + self.assertIn('Attempted: 1, Maximum: 0', str(exc)) def test_equals(self): proxy = glance.quota.QuotaImageTagsProxy(set([])) @@ -454,7 +454,7 @@ def test_equals(self): def test_contains(self): proxy = glance.quota.QuotaImageTagsProxy(set(['foo'])) - self.assertTrue('foo' in proxy) + self.assertIn('foo', proxy) def test_len(self): proxy = glance.quota.QuotaImageTagsProxy(set(['foo', @@ -542,7 +542,7 @@ def test_replace_too_many_image_locations(self): ] exc = self.assertRaises(exception.ImageLocationLimitExceeded, setattr, self.image, 'locations', locations) - self.assertTrue('Attempted: 3, Maximum: 1' in str(exc)) + self.assertIn('Attempted: 3, Maximum: 1', str(exc)) self.assertEqual(len(self.image.locations), 1) def test_replace_unlimited_image_locations(self): @@ -565,7 +565,7 @@ def test_add_too_many_image_locations(self): location2 = {"url": "file:///fake2.img.tar.gz", "metadata": {}} exc = self.assertRaises(exception.ImageLocationLimitExceeded, self.image.locations.append, location2) - self.assertTrue('Attempted: 2, Maximum: 1' in str(exc)) + self.assertIn('Attempted: 2, Maximum: 1', str(exc)) def test_add_unlimited_image_locations(self): self.config(image_location_quota=-1) diff --git a/glance/tests/unit/test_store_image.py b/glance/tests/unit/test_store_image.py index eb8d333b1a..a18a362778 100644 --- a/glance/tests/unit/test_store_image.py +++ b/glance/tests/unit/test_store_image.py @@ -197,7 +197,7 @@ def test_image_change_append_invalid_location_uri(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) def test_image_change_append_invalid_location_metatdata(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -221,8 +221,8 @@ def test_image_change_append_invalid_location_metatdata(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) def test_image_change_append_locations(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -243,8 +243,8 @@ def test_image_change_append_locations(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image2.delete() @@ -272,8 +272,8 @@ def test_image_change_pop_location(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image2.delete() @@ -291,7 +291,7 @@ def test_image_change_extend_invalid_locations_uri(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) def test_image_change_extend_invalid_locations_metadata(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -310,8 +310,8 @@ def test_image_change_extend_invalid_locations_metadata(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) def test_image_change_extend_locations(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -332,8 +332,8 @@ def test_image_change_extend_locations(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image2.delete() @@ -361,8 +361,8 @@ def test_image_change_remove_location(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) def test_image_change_delete_location(self): self.assertEqual(len(self.store_api.data.keys()), 2) @@ -376,7 +376,7 @@ def test_image_change_delete_location(self): self.assertEqual(len(image1.locations), 0) self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) image1.delete() @@ -393,7 +393,7 @@ def test_image_change_insert_invalid_location_uri(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) def test_image_change_insert_invalid_location_metadata(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -412,8 +412,8 @@ def test_image_change_insert_invalid_location_metadata(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) def test_image_change_insert_location(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -434,8 +434,8 @@ def test_image_change_insert_location(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image2.delete() @@ -464,8 +464,8 @@ def test_image_change_delete_locations(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) def test_image_change_adding_invalid_location_uri(self): self.assertEqual(len(self.store_api.data.keys()), 2) @@ -484,7 +484,7 @@ def test_image_change_adding_invalid_location_uri(self): image1.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) def test_image_change_adding_invalid_location_metadata(self): self.assertEqual(len(self.store_api.data.keys()), 2) @@ -506,7 +506,7 @@ def test_image_change_adding_invalid_location_metadata(self): image2.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) def test_image_change_adding_locations(self): UUID3 = 'a8a61ec4-d7a3-11e2-8c28-000c29c27581' @@ -530,8 +530,8 @@ def test_image_change_adding_locations(self): image3.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image1.delete() image2.delete() @@ -556,8 +556,8 @@ def test_image_get_location_index(self): image3.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image1.delete() image2.delete() @@ -583,8 +583,8 @@ def test_image_get_location_by_index(self): image3.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image1.delete() image2.delete() @@ -606,14 +606,14 @@ def test_image_checking_location_exists(self): image3.locations += [location2, location3] - self.assertTrue(location3 in image_stub3.locations) - self.assertFalse(location_bad in image_stub3.locations) + self.assertIn(location3, image_stub3.locations) + self.assertNotIn(location_bad, image_stub3.locations) image3.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image1.delete() image2.delete() @@ -641,8 +641,8 @@ def test_image_reverse_locations_order(self): image3.delete() self.assertEqual(len(self.store_api.data.keys()), 2) - self.assertFalse(UUID2 in self.store_api.data.keys()) - self.assertFalse(UUID3 in self.store_api.data.keys()) + self.assertNotIn(UUID2, self.store_api.data.keys()) + self.assertNotIn(UUID3, self.store_api.data.keys()) image1.delete() image2.delete() @@ -740,8 +740,8 @@ def setUp(self): def test_new_image(self): image = self.image_factory.new_image() - self.assertTrue(image.image_id is None) - self.assertTrue(image.status is None) + self.assertIsNone(image.image_id) + self.assertIsNone(image.status) self.assertEqual(image.visibility, 'private') self.assertEqual(image.locations, []) diff --git a/glance/tests/unit/test_store_location.py b/glance/tests/unit/test_store_location.py index df8d5d7840..f8d98e4b84 100644 --- a/glance/tests/unit/test_store_location.py +++ b/glance/tests/unit/test_store_location.py @@ -513,5 +513,5 @@ def fake_get_size_from_backend(context, uri): image2 = FakeImageProxy() locations = glance.store.StoreLocations(image2, [loc1]) locations[0] = loc2 - self.assertTrue(loc2 in locations) + self.assertIn(loc2, locations) self.assertEqual(image2.size, 1) diff --git a/glance/tests/unit/test_swift_store.py b/glance/tests/unit/test_swift_store.py index 1bf876065b..a6bef4c006 100644 --- a/glance/tests/unit/test_swift_store.py +++ b/glance/tests/unit/test_swift_store.py @@ -423,8 +423,8 @@ def test_add_no_container_no_create(self): self.store.add(str(uuid.uuid4()), image_swift, 0) except BackendException as e: exception_caught = True - self.assertTrue("container noexist does not exist " - "in Swift" in six.text_type(e)) + self.assertIn("container noexist does not exist " + "in Swift", six.text_type(e)) self.assertTrue(exception_caught) self.assertEqual(SWIFT_PUT_OBJECT_CALLS, 0) diff --git a/glance/tests/unit/v1/test_api.py b/glance/tests/unit/v1/test_api.py index e1c5b1a81a..f7d29da2c1 100644 --- a/glance/tests/unit/v1/test_api.py +++ b/glance/tests/unit/v1/test_api.py @@ -147,7 +147,7 @@ def test_bad_min_disk_size_create(self): req.headers[k] = v res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid value' in res.body, res.body) + self.assertIn('Invalid value', res.body) def test_bad_min_disk_size_update(self): fixture_headers = {'x-image-meta-disk-format': 'vhd', @@ -169,7 +169,7 @@ def test_bad_min_disk_size_update(self): req.headers['x-image-meta-min-disk'] = '-42' res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid value' in res.body, res.body) + self.assertIn('Invalid value', res.body) def test_bad_min_ram_size_create(self): fixture_headers = {'x-image-meta-store': 'file', @@ -184,7 +184,7 @@ def test_bad_min_ram_size_create(self): req.headers[k] = v res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid value' in res.body, res.body) + self.assertIn('Invalid value', res.body) def test_bad_min_ram_size_update(self): fixture_headers = {'x-image-meta-disk-format': 'vhd', @@ -206,7 +206,7 @@ def test_bad_min_ram_size_update(self): req.headers['x-image-meta-min-ram'] = '-42' res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid value' in res.body, res.body) + self.assertIn('Invalid value', res.body) def test_bad_disk_format(self): fixture_headers = { @@ -224,7 +224,7 @@ def test_bad_disk_format(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid disk format' in res.body, res.body) + self.assertIn('Invalid disk format', res.body) def test_configured_disk_format_good(self): self.config(disk_formats=['foo'], group="image_format") @@ -260,7 +260,7 @@ def test_configured_disk_format_bad(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid disk format' in res.body, res.body) + self.assertIn('Invalid disk format', res.body) def test_configured_container_format_good(self): self.config(container_formats=['foo'], group="image_format") @@ -296,7 +296,7 @@ def test_configured_container_format_bad(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid container format' in res.body, res.body) + self.assertIn('Invalid container format', res.body) def test_container_and_disk_amazon_format_differs(self): fixture_headers = { @@ -317,7 +317,7 @@ def test_container_and_disk_amazon_format_differs(self): "'aki', 'ari', or 'ami', " "the container and disk formats must match.") self.assertEqual(res.status_int, 400) - self.assertTrue(expected in res.body, res.body) + self.assertIn(expected, res.body) def test_create_with_location_no_container_format(self): fixture_headers = { @@ -333,7 +333,7 @@ def test_create_with_location_no_container_format(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid container format' in res.body) + self.assertIn('Invalid container format', res.body) def test_create_with_bad_store_name(self): fixture_headers = { @@ -350,7 +350,7 @@ def test_create_with_bad_store_name(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Required store bad is invalid' in res.body) + self.assertIn('Required store bad is invalid', res.body) def test_create_with_location_unknown_scheme(self): fixture_headers = { @@ -368,7 +368,7 @@ def test_create_with_location_unknown_scheme(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('External sourcing not supported' in res.body) + self.assertIn('External sourcing not supported', res.body) def test_create_with_location_bad_store_uri(self): fixture_headers = { @@ -386,7 +386,7 @@ def test_create_with_location_bad_store_uri(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid location' in res.body) + self.assertIn('Invalid location', res.body) def test_create_image_with_too_many_properties(self): self.config(image_property_quota=1) @@ -416,7 +416,7 @@ def test_bad_container_format(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid container format' in res.body) + self.assertIn('Invalid container format', res.body) def test_bad_image_size(self): fixture_headers = { @@ -434,7 +434,7 @@ def exec_bad_size_test(bad_size, expected_substr): headers=fixture_headers) res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue(expected_substr in res.body) + self.assertIn(expected_substr, res.body) expected = "Cannot convert image size 'invalid' to an integer." exec_bad_size_test('invalid', expected) @@ -489,7 +489,7 @@ def test_add_image_no_location_no_image_as_body(self): # Once the location is set, the image should be activated # see LP Bug #939484 self.assertEqual('active', res_body['status']) - self.assertFalse('location' in res_body) # location never shown + self.assertNotIn('location', res_body) # location never shown def test_add_image_no_location_no_content_type(self): """Tests creates a queued image for no body and no loc header""" @@ -639,8 +639,8 @@ def _add_check_no_url_info(self): req.headers[k] = v res = req.get_response(self.api) res_body = jsonutils.loads(res.body)['image'] - self.assertFalse('locations' in res_body) - self.assertFalse('direct_url' in res_body) + self.assertNotIn('locations', res_body) + self.assertNotIn('direct_url', res_body) image_id = res_body['id'] # HEAD empty image @@ -648,8 +648,8 @@ def _add_check_no_url_info(self): req.method = 'HEAD' res = req.get_response(self.api) self.assertEqual(res.status_int, 200) - self.assertFalse('x-image-meta-locations' in res.headers) - self.assertFalse('x-image-meta-direct_url' in res.headers) + self.assertNotIn('x-image-meta-locations', res.headers) + self.assertNotIn('x-image-meta-direct_url', res.headers) def test_add_check_no_url_info_ml(self): self.config(show_multiple_locations=True) @@ -765,8 +765,7 @@ def test_add_image_basic_file_store(self): "'location' not in response headers.\n" "res.headerlist = %r" % res.headerlist) res_body = jsonutils.loads(res.body)['image'] - self.assertTrue('/images/%s' % res_body['id'] - in res.headers['location']) + self.assertIn('/images/%s' % res_body['id'], res.headers['location']) self.assertEqual('active', res_body['status']) image_id = res_body['id'] @@ -1007,7 +1006,7 @@ def test_update_data_upload_bad_store_uri(self): req.headers['x-image-meta-location'] = 'http://' res = req.get_response(self.api) self.assertEqual(res.status_int, 400) - self.assertTrue('Invalid location' in res.body) + self.assertIn('Invalid location', res.body) def test_update_data_upload_image_unauthorized(self): rules = {"upload_image": '!', "modify_image": '@', @@ -1173,7 +1172,7 @@ def test_update_deleted_image(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 403) - self.assertTrue('Forbidden to update deleted image' in res.body) + self.assertIn('Forbidden to update deleted image', res.body) def test_delete_deleted_image(self): """Tests that exception raised trying to delete a deleted image""" @@ -1194,7 +1193,7 @@ def test_delete_deleted_image(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 404) msg = "Image %s not found." % UUID2 - self.assertTrue(msg in res.body) + self.assertIn(msg, res.body) # Verify the status is still deleted req = webob.Request.blank("/images/%s" % UUID2) @@ -1248,8 +1247,7 @@ def test_delete_pending_delete_image(self): req.method = 'DELETE' res = req.get_response(self.api) self.assertEqual(res.status_int, 403) - self.assertTrue('Forbidden to delete a pending_delete image' - in res.body) + self.assertIn('Forbidden to delete a pending_delete image', res.body) # Verify the status is still pending_delete req = webob.Request.blank("/images/%s" % UUID2) @@ -1281,7 +1279,7 @@ def test_upload_to_image_status_saving(self): res_body = jsonutils.loads(res.body)['image'] image_id = res_body['id'] - self.assertTrue('/images/%s' % image_id in res.headers['location']) + self.assertIn('/images/%s' % image_id, res.headers['location']) # verify the status is 'queued' self.assertEqual('queued', res_body['status']) @@ -1384,18 +1382,18 @@ def test_register_and_upload(self): self.assertEqual(res.status_int, 201) res_body = jsonutils.loads(res.body)['image'] - self.assertTrue('id' in res_body) + self.assertIn('id', res_body) image_id = res_body['id'] - self.assertTrue('/images/%s' % image_id in res.headers['location']) + self.assertIn('/images/%s' % image_id, res.headers['location']) # Verify the status is queued - self.assertTrue('status' in res_body) + self.assertIn('status', res_body) self.assertEqual('queued', res_body['status']) # Check properties are not deleted - self.assertTrue('properties' in res_body) - self.assertTrue('key1' in res_body['properties']) + self.assertIn('properties', res_body) + self.assertIn('key1', res_body['properties']) self.assertEqual('value1', res_body['properties']['key1']) # Now upload the image file along with some more @@ -1438,10 +1436,10 @@ def test_delete_during_image_upload(self): self.assertEqual(res.status_int, 201) res_body = jsonutils.loads(res.body)['image'] - self.assertTrue('id' in res_body) + self.assertIn('id', res_body) image_id = res_body['id'] - self.assertTrue('/images/%s' % image_id in res.headers['location']) + self.assertIn('/images/%s' % image_id, res.headers['location']) # Verify the status is queued self.assertEqual('queued', res_body['status']) @@ -1526,18 +1524,18 @@ def test_disable_purge_props(self): self.assertEqual(res.status_int, 201) res_body = jsonutils.loads(res.body)['image'] - self.assertTrue('id' in res_body) + self.assertIn('id', res_body) image_id = res_body['id'] - self.assertTrue('/images/%s' % image_id in res.headers['location']) + self.assertIn('/images/%s' % image_id, res.headers['location']) # Verify the status is queued - self.assertTrue('status' in res_body) + self.assertIn('status', res_body) self.assertEqual('active', res_body['status']) # Check properties are not deleted - self.assertTrue('properties' in res_body) - self.assertTrue('key1' in res_body['properties']) + self.assertIn('properties', res_body) + self.assertIn('key1', res_body['properties']) self.assertEqual('value1', res_body['properties']['key1']) # Now update the image, setting new properties without @@ -2084,14 +2082,14 @@ def test_store_location_not_revealed(self): req = webob.Request.blank("/images/%s" % UUID2) res = req.get_response(self.api) self.assertEqual(res.status_int, 200) - self.assertFalse('X-Image-Meta-Location' in res.headers) + self.assertNotIn('X-Image-Meta-Location', res.headers) # Check HEAD req = webob.Request.blank("/images/%s" % UUID2) req.method = 'HEAD' res = req.get_response(self.api) self.assertEqual(res.status_int, 200) - self.assertFalse('X-Image-Meta-Location' in res.headers) + self.assertNotIn('X-Image-Meta-Location', res.headers) # Check PUT req = webob.Request.blank("/images/%s" % UUID2) @@ -2100,7 +2098,7 @@ def test_store_location_not_revealed(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 200) res_body = jsonutils.loads(res.body) - self.assertFalse('location' in res_body['image']) + self.assertNotIn('location', res_body['image']) # Check POST req = webob.Request.blank("/images") @@ -2114,7 +2112,7 @@ def test_store_location_not_revealed(self): res = req.get_response(self.api) self.assertEqual(res.status_int, 201) res_body = jsonutils.loads(res.body) - self.assertFalse('location' in res_body['image']) + self.assertNotIn('location', res_body['image']) def test_image_is_checksummed(self): """Test that the image contents are checksummed properly""" @@ -2760,8 +2758,8 @@ def test_get_members_of_deleted_image_raises_404(self): res = req.get_response(self.api) self.assertEqual(res.status_int, webob.exc.HTTPNotFound.code) - self.assertTrue( - 'Image with identifier %s has been deleted.' % UUID2 in res.body) + self.assertIn( + 'Image with identifier %s has been deleted.' % UUID2, res.body) def test_delete_member_of_deleted_image_raises_404(self): """ @@ -2779,8 +2777,8 @@ def test_delete_member_of_deleted_image_raises_404(self): res = req.get_response(self.api) self.assertEqual(res.status_int, webob.exc.HTTPNotFound.code) - self.assertTrue( - 'Image with identifier %s has been deleted.' % UUID2 in res.body) + self.assertIn( + 'Image with identifier %s has been deleted.' % UUID2, res.body) def test_update_members_of_deleted_image_raises_404(self): """ @@ -2806,8 +2804,8 @@ def test_update_members_of_deleted_image_raises_404(self): req.body = jsonutils.dumps(dict(memberships=fixture)) res = req.get_response(self.api) self.assertEqual(res.status_int, webob.exc.HTTPNotFound.code) - self.assertTrue( - 'Image with identifier %s has been deleted.' % UUID2 in res.body) + self.assertIn( + 'Image with identifier %s has been deleted.' % UUID2, res.body) def test_replace_members_of_image(self): test_router = router.API(self.mapper) @@ -2906,8 +2904,8 @@ def test_create_member_to_deleted_image_raises_404(self): res = req.get_response(self.api) self.assertEqual(res.status_int, webob.exc.HTTPNotFound.code) - self.assertTrue( - 'Image with identifier %s has been deleted.' % UUID2 in res.body) + self.assertIn( + 'Image with identifier %s has been deleted.' % UUID2, res.body) def test_delete_member(self): """ @@ -2970,7 +2968,7 @@ def test_delete_image_member(self): req.content_type = 'application/json' res = req.get_response(self.api) self.assertEqual(res.status_int, 404) - self.assertTrue('Forbidden' in res.body) + self.assertIn('Forbidden', res.body) def test_delete_member_allowed_by_policy(self): rules = {"delete_member": '@', "modify_member": '@'} @@ -3976,7 +3974,7 @@ def test_update_image_with_too_many_properties(self): output = another_request.get_response(self.api) self.assertEqual(output.status_int, 413) - self.assertTrue("Attempted: 2, Maximum: 1" in output.text) + self.assertIn("Attempted: 2, Maximum: 1", output.text) def test_update_image_with_too_many_properties_without_purge_props(self): """ @@ -4008,7 +4006,7 @@ def test_update_image_with_too_many_properties_without_purge_props(self): output = another_request.get_response(self.api) self.assertEqual(output.status_int, 413) - self.assertTrue("Attempted: 2, Maximum: 1" in output.text) + self.assertIn("Attempted: 2, Maximum: 1", output.text) def test_update_properties_without_purge_props_overwrite_value(self): """ diff --git a/glance/tests/unit/v1/test_registry_api.py b/glance/tests/unit/v1/test_registry_api.py index 46a8d9adcb..0b8b27df9f 100644 --- a/glance/tests/unit/v1/test_registry_api.py +++ b/glance/tests/unit/v1/test_registry_api.py @@ -209,7 +209,7 @@ def test_get_index_malformed_marker(self): when a malformed marker is provided """ res = self.get_api_response_ext(400, url='/images?marker=4') - self.assertTrue('marker' in res.body) + self.assertIn('marker', res.body) def test_get_index_forbidden_marker(self): """ @@ -712,7 +712,7 @@ def test_get_details_malformed_marker(self): when a malformed marker is provided """ res = self.get_api_response_ext(400, url='/images/detail?marker=4') - self.assertTrue('marker' in res.body) + self.assertIn('marker', res.body) def test_get_details_forbidden_marker(self): """ @@ -941,7 +941,7 @@ def test_get_details_filter_size_min_max(self): self.assertEqual(len(images), 2) for image in images: - self.assertTrue(image['size'] <= 19 and image['size'] >= 18) + self.assertTrue(18 <= image['size'] <= 19) def test_get_details_filter_changes_since(self): """ @@ -1139,7 +1139,7 @@ def test_get_details_filter_deleted_false(self): images = res_dict['images'] for image in images: - self.assertEqual(False, image['deleted']) + self.assertFalse(image['deleted']) def test_get_filter_no_public_with_no_admin(self): """ @@ -1270,7 +1270,7 @@ def test_create_image_with_bad_status(self): res = self.get_api_response_ext(400, body=body, method='POST', content_type='json') - self.assertTrue('Invalid image status' in res.body) + self.assertIn('Invalid image status', res.body) def test_create_image_with_bad_id(self): """Tests proper exception is raised if a bad disk_format is set""" @@ -1334,7 +1334,7 @@ def test_update_image_with_bad_status(self): res = self.get_api_response_ext(400, method='PUT', body=body, url='/images/%s' % UUID2, content_type='json') - self.assertTrue('Invalid image status' in res.body) + self.assertIn('Invalid image status', res.body) def test_update_private_image_no_admin(self): """ @@ -1702,7 +1702,7 @@ def test_delete_member_invalid(self): res = self.get_api_response_ext(404, method='DELETE', url=('/images/%s/members/pattieblack' % UUID2)) - self.assertTrue('Membership could not be found' in res.body) + self.assertIn('Membership could not be found', res.body) def test_delete_member_from_non_exist_image(self): """ diff --git a/glance/tests/unit/v1/test_registry_client.py b/glance/tests/unit/v1/test_registry_client.py index d7ef0ba261..59680f384f 100644 --- a/glance/tests/unit/v1/test_registry_client.py +++ b/glance/tests/unit/v1/test_registry_client.py @@ -654,7 +654,7 @@ def test_add_image_basic(self): self.assertEqual(v, data[k]) # Test status was updated properly - self.assertTrue('status' in data.keys()) + self.assertIn('status', data.keys()) self.assertEqual('active', data['status']) def test_add_image_with_properties(self): @@ -669,7 +669,7 @@ def test_add_image_with_properties(self): self.assertEqual(v, new_image[k]) # Test status was updated properly - self.assertTrue('status' in new_image.keys()) + self.assertIn('status', new_image.keys()) self.assertEqual('active', new_image['status']) def test_add_image_with_location_data(self): diff --git a/glance/tests/unit/v2/test_image_data_resource.py b/glance/tests/unit/v2/test_image_data_resource.py index 0dfb55ecce..49f91b51d1 100644 --- a/glance/tests/unit/v2/test_image_data_resource.py +++ b/glance/tests/unit/v2/test_image_data_resource.py @@ -390,7 +390,7 @@ def test_download(self): self.serializer.download(response, image) self.assertEqual('ZZZ', response.body) self.assertEqual('3', response.headers['Content-Length']) - self.assertFalse('Content-MD5' in response.headers) + self.assertNotIn('Content-MD5', response.headers) self.assertEqual('application/octet-stream', response.headers['Content-Type']) diff --git a/glance/tests/unit/v2/test_images_resource.py b/glance/tests/unit/v2/test_images_resource.py index 2f823fd1f8..fbd47f7142 100644 --- a/glance/tests/unit/v2/test_images_resource.py +++ b/glance/tests/unit/v2/test_images_resource.py @@ -233,7 +233,7 @@ def test_index_no_next_marker(self): actual = set([image.image_id for image in output['images']]) expected = set([]) self.assertEqual(actual, expected) - self.assertTrue('next_marker' not in output) + self.assertNotIn('next_marker', output) def test_index_with_id_filter(self): request = unit_test_utils.get_fake_request('/images?id=%s' % UUID1) @@ -375,7 +375,7 @@ def test_index_with_marker(self): output = self.controller.index(request, marker=UUID3) actual = set([image.image_id for image in output['images']]) self.assertEqual(1, len(actual)) - self.assertTrue(UUID2 in actual) + self.assertIn(UUID2, actual) def test_index_with_limit(self): path = '/images' @@ -384,8 +384,8 @@ def test_index_with_limit(self): output = self.controller.index(request, limit=limit) actual = set([image.image_id for image in output['images']]) self.assertEqual(limit, len(actual)) - self.assertTrue(UUID3 in actual) - self.assertTrue(UUID2 in actual) + self.assertIn(UUID3, actual) + self.assertIn(UUID2, actual) def test_index_greater_than_limit_max(self): self.config(limit_param_default=1, api_limit_max=3) @@ -394,7 +394,7 @@ def test_index_greater_than_limit_max(self): output = self.controller.index(request, limit=4) actual = set([image.image_id for image in output['images']]) self.assertEqual(3, len(actual)) - self.assertTrue(output['next_marker'] not in output) + self.assertNotIn(output['next_marker'], output) def test_index_default_limit(self): self.config(limit_param_default=1, api_limit_max=3) @@ -449,8 +449,8 @@ def test_index_with_tags(self): output = self.controller.index(request, filters={'tags': ['64bit']}) actual = [image.tags for image in output['images']] self.assertEqual(2, len(actual)) - self.assertTrue('64bit' in actual[0]) - self.assertTrue('64bit' in actual[1]) + self.assertIn('64bit', actual[0]) + self.assertIn('64bit', actual[1]) def test_index_with_multi_tags(self): path = '/images?tag=power&tag=64bit' @@ -459,8 +459,8 @@ def test_index_with_multi_tags(self): filters={'tags': ['power', '64bit']}) actual = [image.tags for image in output['images']] self.assertEqual(1, len(actual)) - self.assertTrue('64bit' in actual[0]) - self.assertTrue('power' in actual[0]) + self.assertIn('64bit', actual[0]) + self.assertIn('power', actual[0]) def test_index_with_multi_tags_and_nonexistent(self): path = '/images?tag=power&tag=fake' @@ -478,8 +478,8 @@ def test_index_with_tags_and_properties(self): 'hypervisor_type': 'kvm'}) tags = [image.tags for image in output['images']] properties = [image.extra_properties for image in output['images']] - self.assertTrue(len(tags) == len(properties)) - self.assertTrue('64bit' in tags[0]) + self.assertEqual(len(tags), len(properties)) + self.assertIn('64bit', tags[0]) self.assertEqual('kvm', properties[0]['hypervisor_type']) def test_index_with_multiple_properties(self): @@ -666,11 +666,11 @@ def test_update_no_changes(self): self.assertEqual(output.image_id, UUID1) self.assertEqual(output.created_at, output.updated_at) self.assertEqual(len(output.tags), 2) - self.assertTrue('ping' in output.tags) - self.assertTrue('pong' in output.tags) + self.assertIn('ping', output.tags) + self.assertIn('pong', output.tags) output_logs = self.notifier.get_logs() #NOTE(markwash): don't send a notification if nothing is updated - self.assertTrue(len(output_logs) == 0) + self.assertEqual(0, len(output_logs)) def test_update_with_bad_min_disk(self): request = unit_test_utils.get_fake_request() @@ -713,8 +713,8 @@ def test_update_replace_tags(self): output = self.controller.update(request, UUID1, changes) self.assertEqual(output.image_id, UUID1) self.assertEqual(len(output.tags), 2) - self.assertTrue('king' in output.tags) - self.assertTrue('kong' in output.tags) + self.assertIn('king', output.tags) + self.assertIn('kong', output.tags) self.assertNotEqual(output.created_at, output.updated_at) def test_update_replace_property(self): @@ -1505,7 +1505,7 @@ def test_update_remove_location_while_over_limit(self): output = self.controller.update(request, UUID1, changes) self.assertEqual(output.image_id, UUID1) self.assertEqual(len(output.locations), 1) - self.assertTrue('fake_location_2' in output.locations[0]['url']) + self.assertIn('fake_location_2', output.locations[0]['url']) self.assertNotEqual(output.created_at, output.updated_at) def test_update_add_and_remove_location_under_limit(self): @@ -1541,7 +1541,7 @@ def test_update_add_and_remove_location_under_limit(self): output = self.controller.update(request, UUID1, changes) self.assertEqual(output.image_id, UUID1) self.assertEqual(len(output.locations), 1) - self.assertTrue('fake_location_3' in output.locations[0]['url']) + self.assertIn('fake_location_3', output.locations[0]['url']) self.assertNotEqual(output.created_at, output.updated_at) def test_update_remove_base_property(self): @@ -1586,7 +1586,7 @@ def test_update_remove_location(self): output = self.controller.update(request, UUID1, changes) self.assertEqual(output.image_id, UUID1) self.assertEqual(len(output.locations), 0) - self.assertTrue(output.status == 'queued') + self.assertEqual(output.status, 'queued') self.assertIsNone(output.size) new_location = {'url': '%s/fake_location' % BASE_URI, 'metadata': {}} @@ -1664,7 +1664,7 @@ def test_update_duplicate_tags(self): ] output = self.controller.update(request, UUID1, changes) self.assertEqual(len(output.tags), 1) - self.assertTrue('ping' in output.tags) + self.assertIn('ping', output.tags) output_logs = self.notifier.get_logs() self.assertEqual(len(output_logs), 1) output_log = output_logs[0] @@ -1674,7 +1674,7 @@ def test_update_duplicate_tags(self): def test_delete(self): request = unit_test_utils.get_fake_request() - self.assertTrue(filter(lambda k: UUID1 in k, self.store.data)) + self.assertIn('%s/%s' % (BASE_URI, UUID1), self.store.data) try: self.controller.delete(request, UUID1) output_logs = self.notifier.get_logs() @@ -1689,7 +1689,7 @@ def test_delete(self): force_show_deleted=True) self.assertTrue(deleted_img['deleted']) self.assertEqual(deleted_img['status'], 'deleted') - self.assertFalse(filter(lambda k: UUID1 in k, self.store.data)) + self.assertNotIn('%s/%s' % (BASE_URI, UUID1), self.store.data) def test_delete_queued_updates_status(self): """Ensure status of queued image is updated (LP bug #1048851)""" @@ -1721,7 +1721,7 @@ def test_delete_queued_updates_status_delayed_delete(self): def test_delete_not_in_store(self): request = unit_test_utils.get_fake_request() - self.assertTrue(filter(lambda k: UUID1 in k, self.store.data)) + self.assertIn('%s/%s' % (BASE_URI, UUID1), self.store.data) for k in self.store.data: if UUID1 in k: del self.store.data[k] @@ -1732,19 +1732,19 @@ def test_delete_not_in_store(self): force_show_deleted=True) self.assertTrue(deleted_img['deleted']) self.assertEqual(deleted_img['status'], 'deleted') - self.assertFalse(filter(lambda k: UUID1 in k, self.store.data)) + self.assertNotIn('%s/%s' % (BASE_URI, UUID1), self.store.data) def test_delayed_delete(self): self.config(delayed_delete=True) request = unit_test_utils.get_fake_request() - self.assertTrue(filter(lambda k: UUID1 in k, self.store.data)) + self.assertIn('%s/%s' % (BASE_URI, UUID1), self.store.data) self.controller.delete(request, UUID1) deleted_img = self.db.image_get(request.context, UUID1, force_show_deleted=True) self.assertTrue(deleted_img['deleted']) self.assertEqual(deleted_img['status'], 'pending_delete') - self.assertTrue(filter(lambda k: UUID1 in k, self.store.data)) + self.assertIn('%s/%s' % (BASE_URI, UUID1), self.store.data) def test_delete_non_existent(self): request = unit_test_utils.get_fake_request() @@ -2375,12 +2375,12 @@ def test_index_marker(self): def test_index_marker_not_specified(self): request = unit_test_utils.get_fake_request('/images') output = self.deserializer.index(request) - self.assertFalse('marker' in output) + self.assertNotIn('marker', output) def test_index_limit_not_specified(self): request = unit_test_utils.get_fake_request('/images') output = self.deserializer.index(request) - self.assertFalse('limit' in output) + self.assertNotIn('limit', output) def test_index_sort_key_id(self): request = unit_test_utils.get_fake_request('/images?sort_key=id') @@ -3124,7 +3124,7 @@ def test_index_store_location_enabled(self): self.assertEqual(images[1]['id'], UUID2) self.assertEqual(images[0]['direct_url'], 'http://some/fake/location') - self.assertFalse('direct_url' in images[1]) + self.assertNotIn('direct_url', images[1]) def test_index_store_multiple_location_enabled(self): self.config(show_multiple_locations=True) @@ -3140,8 +3140,8 @@ def test_index_store_multiple_location_enabled(self): def test_index_store_location_explicitly_disabled(self): self.config(show_image_direct_url=False) images = self._do_index() - self.assertFalse('direct_url' in images[0]) - self.assertFalse('direct_url' in images[1]) + self.assertNotIn('direct_url', images[0]) + self.assertNotIn('direct_url', images[1]) def test_show_location_enabled(self): self.config(show_image_direct_url=True) @@ -3151,12 +3151,12 @@ def test_show_location_enabled(self): def test_show_location_enabled_but_not_set(self): self.config(show_image_direct_url=True) image = self._do_show(self.queued_image) - self.assertFalse('direct_url' in image) + self.assertNotIn('direct_url', image) def test_show_location_explicitly_disabled(self): self.config(show_image_direct_url=False) image = self._do_show(self.active_image) - self.assertFalse('direct_url' in image) + self.assertNotIn('direct_url', image) class TestImageSchemaFormatConfiguration(test_utils.BaseTestCase): diff --git a/glance/tests/unit/v2/test_registry_client.py b/glance/tests/unit/v2/test_registry_client.py index 36dad33d94..1666ef0d56 100644 --- a/glance/tests/unit/v2/test_registry_client.py +++ b/glance/tests/unit/v2/test_registry_client.py @@ -418,7 +418,7 @@ def test_image_create_basic(self): self.assertEqual(v, data[k]) # Test status was updated properly - self.assertTrue('status' in data.keys()) + self.assertIn('status', data) self.assertEqual('active', data['status']) def test_image_create_with_properties(self): @@ -439,7 +439,7 @@ def test_image_create_with_properties(self): self.assertEqual(v, new_image[k]) # Test status was updated properly - self.assertTrue('status' in new_image.keys()) + self.assertIn('status', new_image.keys()) self.assertEqual('active', new_image['status']) def test_image_create_already_exists(self): diff --git a/glance/tests/unit/v2/test_tasks_resource.py b/glance/tests/unit/v2/test_tasks_resource.py index 16ab9a598f..3511975d09 100644 --- a/glance/tests/unit/v2/test_tasks_resource.py +++ b/glance/tests/unit/v2/test_tasks_resource.py @@ -154,7 +154,7 @@ def test_index_no_next_marker(self): actual = set([task.task_id for task in output['tasks']]) expected = set([]) self.assertEqual(actual, expected) - self.assertTrue('next_marker' not in output) + self.assertNotIn('next_marker', output) def test_index_with_id_filter(self): request = unit_test_utils.get_fake_request('/tasks?id=%s' % UUID1) @@ -194,7 +194,7 @@ def test_index_with_marker(self): output = self.controller.index(request, marker=UUID3) actual = set([task.task_id for task in output['tasks']]) self.assertEqual(1, len(actual)) - self.assertTrue(UUID2 in actual) + self.assertIn(UUID2, actual) def test_index_with_limit(self): path = '/tasks' @@ -211,7 +211,7 @@ def test_index_greater_than_limit_max(self): output = self.controller.index(request, limit=4) actual = set([task.task_id for task in output['tasks']]) self.assertEqual(3, len(actual)) - self.assertTrue(output['next_marker'] not in output) + self.assertNotIn(output['next_marker'], output) def test_index_default_limit(self): self.config(limit_param_default=1, api_limit_max=3) @@ -456,12 +456,12 @@ def test_index_marker(self): def test_index_marker_not_specified(self): request = unit_test_utils.get_fake_request('/tasks') output = self.deserializer.index(request) - self.assertFalse('marker' in output) + self.assertNotIn('marker', output) def test_index_limit_not_specified(self): request = unit_test_utils.get_fake_request('/tasks') output = self.deserializer.index(request) - self.assertFalse('limit' in output) + self.assertNotIn('limit', output) def test_index_sort_key_id(self): request = unit_test_utils.get_fake_request('/tasks?sort_key=id') @@ -667,7 +667,7 @@ def test_create(self): serialized_task['id']) self.assertEqual(self.fixtures[3]['task_details'].input, serialized_task['input']) - self.assertTrue('expires_at' in serialized_task) + self.assertIn('expires_at', serialized_task) self.assertEqual('application/json', response.content_type) def test_create_ensure_expires_at_is_not_returned(self): @@ -683,7 +683,7 @@ def test_create_ensure_expires_at_is_not_returned(self): serialized_task['id']) self.assertEqual(self.fixtures[0]['task_details'].input, serialized_task['input']) - self.assertFalse('expires_at' in serialized_task) + self.assertNotIn('expires_at', serialized_task) self.assertEqual('application/json', response.content_type) response = webob.Response() @@ -698,5 +698,5 @@ def test_create_ensure_expires_at_is_not_returned(self): serialized_task['id']) self.assertEqual(self.fixtures[1]['task_details'].input, serialized_task['input']) - self.assertFalse('expires_at' in serialized_task) + self.assertNotIn('expires_at', serialized_task) self.assertEqual('application/json', response.content_type)