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
This commit is contained in:
Sergey Nikitin 2014-02-07 16:06:47 +04:00
parent 1d9b9d19b4
commit 84dbe32a6d
25 changed files with 252 additions and 254 deletions

View File

@ -114,8 +114,8 @@ class TestGlanceCmdManage(test_utils.BaseTestCase):
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 @@ class TestGlanceCmdManage(test_utils.BaseTestCase):
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 @@ class TestGlanceCmdManage(test_utils.BaseTestCase):
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 @@ class TestGlanceCmdManage(test_utils.BaseTestCase):
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 @@ class TestGlanceCmdManage(test_utils.BaseTestCase):
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')

View File

@ -76,7 +76,7 @@ class TestProtectedImageRepoProxy(utils.BaseTestCase):
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 @@ class TestProtectedImageRepoProxy(utils.BaseTestCase):
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 @@ class TestProtectedImageProxy(utils.BaseTestCase):
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):

View File

@ -29,7 +29,7 @@ class GlanceExceptionTestCase(test_utils.BaseTestCase):
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 GlanceExceptionTestCase(test_utils.BaseTestCase):
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'))

View File

@ -307,7 +307,7 @@ class TestRPCJSONDeserializer(test_utils.BaseTestCase):
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 @@ class TestRPCJSONDeserializer(test_utils.BaseTestCase):
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):

View File

@ -334,7 +334,7 @@ class JSONRequestDeserializerTest(test_utils.BaseTestCase):
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 @@ class JSONRequestDeserializerTest(test_utils.BaseTestCase):
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 TestHelpers(test_utils.BaseTestCase):
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 @@ class GetSocketTestCase(test_utils.BaseTestCase):
'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

View File

@ -305,14 +305,14 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
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 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
}
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 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
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 = {

View File

@ -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 @@ class TestCacheMiddlewareURLMatching(testtools.TestCase):
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 @@ class TestCacheMiddlewareProcessRequest(base.IsolatedUnitTest):
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 @@ class TestCacheMiddlewareProcessRequest(base.IsolatedUnitTest):
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():

View File

@ -188,7 +188,7 @@ class TestImageRepo(test_utils.BaseTestCase):
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 @@ class TestImageRepo(test_utils.BaseTestCase):
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 @@ class TestImageRepo(test_utils.BaseTestCase):
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 @@ class TestImageMemberRepo(test_utils.BaseTestCase):
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 @@ class TestImageMemberRepo(test_utils.BaseTestCase):
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 @@ class TestImageMemberRepo(test_utils.BaseTestCase):
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):

View File

@ -41,8 +41,8 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageFactory(test_utils.BaseTestCase):
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 @@ class TestImageMemberFactory(test_utils.BaseTestCase):
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):

View File

@ -131,7 +131,7 @@ class TestProxyRepoWrapping(test_utils.BaseTestCase):
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)

View File

@ -172,12 +172,12 @@ class ImageServiceTestCase(test_utils.BaseTestCase):
('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 @@ class ImageServiceTestCase(test_utils.BaseTestCase):
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 @@ class ImageServiceTestCase(test_utils.BaseTestCase):
'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 @@ class ReplicationCommandsTestCase(test_utils.BaseTestCase):
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 @@ class ReplicationCommandsTestCase(test_utils.BaseTestCase):
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 @@ class ReplicationCommandsTestCase(test_utils.BaseTestCase):
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 @@ class ReplicationCommandsTestCase(test_utils.BaseTestCase):
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')

View File

@ -960,7 +960,7 @@ class TestMigrations(test_utils.BaseTestCase):
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 @@ class TestMigrations(test_utils.BaseTestCase):
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 @@ class TestMigrations(test_utils.BaseTestCase):
.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):

View File

@ -36,9 +36,9 @@ class UtilsTestCase(test_utils.BaseTestCase):
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 @@ class UtilsTestCase(test_utils.BaseTestCase):
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')

View File

@ -277,7 +277,7 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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 @@ class TestImageNotifications(utils.BaseTestCase):
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):

View File

@ -338,7 +338,7 @@ class TestImagePropertyQuotas(test_utils.BaseTestCase):
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 @@ class TestImagePropertyQuotas(test_utils.BaseTestCase):
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 @@ class TestImageTagQuotas(test_utils.BaseTestCase):
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 @@ class TestImageTagQuotas(test_utils.BaseTestCase):
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 @@ class TestQuotaImageTagsProxy(test_utils.BaseTestCase):
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 @@ class TestQuotaImageTagsProxy(test_utils.BaseTestCase):
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 @@ class TestImageLocationQuotas(test_utils.BaseTestCase):
]
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 @@ class TestImageLocationQuotas(test_utils.BaseTestCase):
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)

View File

@ -197,7 +197,7 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestStoreImage(utils.BaseTestCase):
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 @@ class TestImageFactory(utils.BaseTestCase):
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, [])

View File

@ -513,5 +513,5 @@ class TestStoreLocation(base.StoreClearingUnitTest):
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)

View File

@ -423,8 +423,8 @@ class SwiftTests(object):
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)

View File

@ -147,7 +147,7 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
"'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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
# 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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
"'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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestGlanceAPI(base.IsolatedUnitTest):
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 @@ class TestAPIPropertyQuotas(base.IsolatedUnitTest):
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 @@ class TestAPIPropertyQuotas(base.IsolatedUnitTest):
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):
"""

View File

@ -209,7 +209,7 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryAPI(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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):
"""

View File

@ -654,7 +654,7 @@ class TestRegistryV1Client(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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 @@ class TestRegistryV1Client(base.IsolatedUnitTest, test_utils.RegistryAPIMixIn):
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):

View File

@ -390,7 +390,7 @@ class TestImageDataSerializer(test_utils.BaseTestCase):
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'])

View File

@ -233,7 +233,7 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
'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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
]
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesController(base.IsolatedUnitTest):
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 @@ class TestImagesDeserializer(test_utils.BaseTestCase):
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 @@ class TestImagesSerializerDirectUrl(test_utils.BaseTestCase):
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 @@ class TestImagesSerializerDirectUrl(test_utils.BaseTestCase):
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 @@ class TestImagesSerializerDirectUrl(test_utils.BaseTestCase):
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):

View File

@ -418,7 +418,7 @@ class TestRegistryV2Client(base.IsolatedUnitTest,
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 @@ class TestRegistryV2Client(base.IsolatedUnitTest,
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):

View File

@ -154,7 +154,7 @@ class TestTasksController(test_utils.BaseTestCase):
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 @@ class TestTasksController(test_utils.BaseTestCase):
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 @@ class TestTasksController(test_utils.BaseTestCase):
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 @@ class TestTasksDeserializer(test_utils.BaseTestCase):
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 @@ class TestTasksSerializer(test_utils.BaseTestCase):
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 @@ class TestTasksSerializer(test_utils.BaseTestCase):
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 @@ class TestTasksSerializer(test_utils.BaseTestCase):
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)