Use more specific asserts in functional tests

I changed asserts with more specific assert methods.
e.g.: from assertTrue(sth == None) to assertIsNone(*) or
assertTrue(isinstance(inst, type)) to assertIsInstace(inst, type) or
assertTrue(not sth) to assertFalse(sth).

The code gets more readable, and a better description will be shown on fail.

Change-Id: I80ec96e0b729bef38213a6be4ff4b6eb65c7612d
This commit is contained in:
Gábor Antal 2016-07-15 14:02:38 +02:00
parent 7b28ac1d36
commit e278179b08
4 changed files with 84 additions and 87 deletions

View File

@ -98,11 +98,11 @@ class TestAccount(unittest2.TestCase):
resp = retry(head) resp = retry(head)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-account-meta-test'), None) self.assertIsNone(resp.getheader('x-account-meta-test'))
resp = retry(get) resp = retry(get)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-account-meta-test'), None) self.assertIsNone(resp.getheader('x-account-meta-test'))
resp = retry(post, 'Value') resp = retry(post, 'Value')
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
@ -164,7 +164,7 @@ class TestAccount(unittest2.TestCase):
resp = retry(post, headers, use_account=1) resp = retry(post, headers, use_account=1)
resp.read() resp.read()
self.assertEqual(resp.status, 400) self.assertEqual(resp.status, 400)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
@requires_acls @requires_acls
def test_invalid_acl_values(self): def test_invalid_acl_values(self):
@ -180,7 +180,7 @@ class TestAccount(unittest2.TestCase):
resp = retry(post, headers=headers, use_account=1) resp = retry(post, headers=headers, use_account=1)
resp.read() resp.read()
self.assertEqual(resp.status, 400) self.assertEqual(resp.status, 400)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
@requires_acls @requires_acls
def test_read_only_acl(self): def test_read_only_acl(self):
@ -215,7 +215,7 @@ class TestAccount(unittest2.TestCase):
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
# but not acls # but not acls
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# read-only can not write metadata # read-only can not write metadata
headers = {'x-account-meta-test': 'value'} headers = {'x-account-meta-test': 'value'}
@ -266,7 +266,7 @@ class TestAccount(unittest2.TestCase):
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
# but not acls # but not acls
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# read-write can not write account metadata # read-write can not write account metadata
headers = {'x-account-meta-test': 'value'} headers = {'x-account-meta-test': 'value'}
@ -368,12 +368,11 @@ class TestAccount(unittest2.TestCase):
# read-only tester3 can read account metadata # read-only tester3 can read account metadata
resp = retry(get, use_account=3) resp = retry(get, use_account=3)
resp.read() resp.read()
self.assertTrue( self.assertIn(resp.status, (200, 204),
resp.status in (200, 204),
'Expected status in (200, 204), got %s' % resp.status) 'Expected status in (200, 204), got %s' % resp.status)
self.assertEqual(resp.getheader('X-Account-Meta-Test'), value) self.assertEqual(resp.getheader('X-Account-Meta-Test'), value)
# but not temp-url-key # but not temp-url-key
self.assertEqual(resp.getheader('X-Account-Meta-Temp-Url-Key'), None) self.assertIsNone(resp.getheader('X-Account-Meta-Temp-Url-Key'))
# grant read-write access to tester3 # grant read-write access to tester3
acl_user = tf.swift_test_user[2] acl_user = tf.swift_test_user[2]
@ -387,12 +386,11 @@ class TestAccount(unittest2.TestCase):
# read-write tester3 can read account metadata # read-write tester3 can read account metadata
resp = retry(get, use_account=3) resp = retry(get, use_account=3)
resp.read() resp.read()
self.assertTrue( self.assertIn(resp.status, (200, 204),
resp.status in (200, 204),
'Expected status in (200, 204), got %s' % resp.status) 'Expected status in (200, 204), got %s' % resp.status)
self.assertEqual(resp.getheader('X-Account-Meta-Test'), value) self.assertEqual(resp.getheader('X-Account-Meta-Test'), value)
# but not temp-url-key # but not temp-url-key
self.assertEqual(resp.getheader('X-Account-Meta-Temp-Url-Key'), None) self.assertIsNone(resp.getheader('X-Account-Meta-Temp-Url-Key'))
# grant admin access to tester3 # grant admin access to tester3
acl_user = tf.swift_test_user[2] acl_user = tf.swift_test_user[2]
@ -406,8 +404,7 @@ class TestAccount(unittest2.TestCase):
# admin tester3 can read account metadata # admin tester3 can read account metadata
resp = retry(get, use_account=3) resp = retry(get, use_account=3)
resp.read() resp.read()
self.assertTrue( self.assertIn(resp.status, (200, 204),
resp.status in (200, 204),
'Expected status in (200, 204), got %s' % resp.status) 'Expected status in (200, 204), got %s' % resp.status)
self.assertEqual(resp.getheader('X-Account-Meta-Test'), value) self.assertEqual(resp.getheader('X-Account-Meta-Test'), value)
# including temp-url-key # including temp-url-key
@ -424,8 +421,7 @@ class TestAccount(unittest2.TestCase):
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
resp = retry(get, use_account=3) resp = retry(get, use_account=3)
resp.read() resp.read()
self.assertTrue( self.assertIn(resp.status, (200, 204),
resp.status in (200, 204),
'Expected status in (200, 204), got %s' % resp.status) 'Expected status in (200, 204), got %s' % resp.status)
self.assertEqual(resp.getheader('X-Account-Meta-Temp-Url-Key'), self.assertEqual(resp.getheader('X-Account-Meta-Temp-Url-Key'),
secret) secret)
@ -464,13 +460,13 @@ class TestAccount(unittest2.TestCase):
use_account=1) use_account=1)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User1 can GET their own empty account # User1 can GET their own empty account
resp = retry(get, use_account=1) resp = retry(get, use_account=1)
resp.read() resp.read()
self.assertEqual(resp.status // 100, 2) self.assertEqual(resp.status // 100, 2)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User2 can't GET User1's account # User2 can't GET User1's account
resp = retry(get, use_account=2, url_account=1) resp = retry(get, use_account=2, url_account=1)
@ -514,7 +510,7 @@ class TestAccount(unittest2.TestCase):
resp = retry(head, use_account=2, url_account=1) resp = retry(head, use_account=2, url_account=1)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('x-account-access-control'), None) self.assertIsNone(resp.getheader('x-account-access-control'))
# User2 can PUT and DELETE a container # User2 can PUT and DELETE a container
resp = retry(put, use_account=2, url_account=1, resp = retry(put, use_account=2, url_account=1,
@ -539,7 +535,7 @@ class TestAccount(unittest2.TestCase):
resp = retry(head, use_account=2, url_account=1) resp = retry(head, use_account=2, url_account=1)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('x-account-access-control'), None) self.assertIsNone(resp.getheader('x-account-access-control'))
# User2 can't PUT a container # User2 can't PUT a container
resp = retry(put, use_account=2, url_account=1, resp = retry(put, use_account=2, url_account=1,
@ -577,13 +573,13 @@ class TestAccount(unittest2.TestCase):
resp = retry(post, headers={'X-Account-Access-Control': '{}'}) resp = retry(post, headers={'X-Account-Access-Control': '{}'})
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User1 can GET their own empty account # User1 can GET their own empty account
resp = retry(get) resp = retry(get)
resp.read() resp.read()
self.assertEqual(resp.status // 100, 2) self.assertEqual(resp.status // 100, 2)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User1 can POST non-empty data # User1 can POST non-empty data
acl_json = '{"admin":["bob"]}' acl_json = '{"admin":["bob"]}'
@ -636,13 +632,13 @@ class TestAccount(unittest2.TestCase):
resp = retry(post, headers={'X-Account-Access-Control': '{}'}) resp = retry(post, headers={'X-Account-Access-Control': '{}'})
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User1 can GET their own empty account # User1 can GET their own empty account
resp = retry(get) resp = retry(get)
resp.read() resp.read()
self.assertEqual(resp.status // 100, 2) self.assertEqual(resp.status // 100, 2)
self.assertEqual(resp.getheader('X-Account-Access-Control'), None) self.assertIsNone(resp.getheader('X-Account-Access-Control'))
# User1 can POST non-empty data # User1 can POST non-empty data
acl_json = '{"admin":["bob"]}' acl_json = '{"admin":["bob"]}'

View File

@ -80,7 +80,7 @@ class TestContainer(unittest2.TestCase):
body = resp.read() body = resp.read()
if resp.status == 404: if resp.status == 404:
break break
self.assertTrue(resp.status // 100 == 2, resp.status) self.assertEqual(resp.status // 100, 2, resp.status)
objs = json.loads(body) objs = json.loads(body)
if not objs: if not objs:
break break
@ -223,11 +223,11 @@ class TestContainer(unittest2.TestCase):
resp = retry(head, name) resp = retry(head, name)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-container-meta-test'), None) self.assertIsNone(resp.getheader('x-container-meta-test'))
resp = retry(get, name) resp = retry(get, name)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-container-meta-test'), None) self.assertIsNone(resp.getheader('x-container-meta-test'))
resp = retry(delete, name) resp = retry(delete, name)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
@ -255,11 +255,11 @@ class TestContainer(unittest2.TestCase):
resp = retry(head) resp = retry(head)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-container-meta-test'), None) self.assertIsNone(resp.getheader('x-container-meta-test'))
resp = retry(get) resp = retry(get)
resp.read() resp.read()
self.assertIn(resp.status, (200, 204)) self.assertIn(resp.status, (200, 204))
self.assertEqual(resp.getheader('x-container-meta-test'), None) self.assertIsNone(resp.getheader('x-container-meta-test'))
resp = retry(post, 'Value') resp = retry(post, 'Value')
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
@ -965,7 +965,7 @@ class TestContainer(unittest2.TestCase):
resp = retry(get, self.name, use_account=3) resp = retry(get, self.name, use_account=3)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), None) self.assertIsNone(resp.getheader('X-Container-Meta-Test'))
@requires_acls @requires_acls
def test_admin_acl_listing(self): def test_admin_acl_listing(self):
@ -1107,7 +1107,7 @@ class TestContainer(unittest2.TestCase):
resp = retry(get, self.name, use_account=3) resp = retry(get, self.name, use_account=3)
resp.read() resp.read()
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), None) self.assertIsNone(resp.getheader('X-Container-Meta-Test'))
@requires_acls @requires_acls
def test_protected_container_sync(self): def test_protected_container_sync(self):
@ -1158,7 +1158,7 @@ class TestContainer(unittest2.TestCase):
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), value) self.assertEqual(resp.getheader('X-Container-Meta-Test'), value)
# but not sync-key # but not sync-key
self.assertEqual(resp.getheader('X-Container-Sync-Key'), None) self.assertIsNone(resp.getheader('X-Container-Sync-Key'))
# and can not write # and can not write
headers = {'x-container-sync-key': str(uuid4())} headers = {'x-container-sync-key': str(uuid4())}
@ -1180,7 +1180,7 @@ class TestContainer(unittest2.TestCase):
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), value) self.assertEqual(resp.getheader('X-Container-Meta-Test'), value)
# but not sync-key # but not sync-key
self.assertEqual(resp.getheader('X-Container-Sync-Key'), None) self.assertIsNone(resp.getheader('X-Container-Sync-Key'))
# sanity check sync-key w/ account1 # sanity check sync-key w/ account1
resp = retry(get, self.name, use_account=1) resp = retry(get, self.name, use_account=1)
@ -1282,8 +1282,8 @@ class TestContainer(unittest2.TestCase):
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), value) self.assertEqual(resp.getheader('X-Container-Meta-Test'), value)
# but not container acl # but not container acl
self.assertEqual(resp.getheader('X-Container-Read'), None) self.assertIsNone(resp.getheader('X-Container-Read'))
self.assertEqual(resp.getheader('X-Container-Write'), None) self.assertIsNone(resp.getheader('X-Container-Write'))
# and can not write # and can not write
headers = { headers = {
@ -1308,8 +1308,8 @@ class TestContainer(unittest2.TestCase):
self.assertEqual(resp.status, 204) self.assertEqual(resp.status, 204)
self.assertEqual(resp.getheader('X-Container-Meta-Test'), value) self.assertEqual(resp.getheader('X-Container-Meta-Test'), value)
# but not container acl # but not container acl
self.assertEqual(resp.getheader('X-Container-Read'), None) self.assertIsNone(resp.getheader('X-Container-Read'))
self.assertEqual(resp.getheader('X-Container-Write'), None) self.assertIsNone(resp.getheader('X-Container-Write'))
# sanity check container acls with account1 # sanity check container acls with account1
resp = retry(get, self.name, use_account=1) resp = retry(get, self.name, use_account=1)
@ -1488,7 +1488,7 @@ class TestContainer(unittest2.TestCase):
resp = retry(head) resp = retry(head)
resp.read() resp.read()
headers = dict((k.lower(), v) for k, v in resp.getheaders()) headers = dict((k.lower(), v) for k, v in resp.getheaders())
self.assertEqual(headers.get('x-storage-policy'), None) self.assertIsNone(headers.get('x-storage-policy'))
@requires_policies @requires_policies
def test_conflict_change_storage_policy_with_put(self): def test_conflict_change_storage_policy_with_put(self):
@ -1653,7 +1653,7 @@ class BaseTestContainerACLs(unittest2.TestCase):
while True: while True:
resp = retry(get, use_account=self.account) resp = retry(get, use_account=self.account)
body = resp.read() body = resp.read()
self.assertTrue(resp.status // 100 == 2, resp.status) self.assertEqual(resp.status // 100, 2, resp.status)
objs = json.loads(body) objs = json.loads(body)
if not objs: if not objs:
break break

View File

@ -113,7 +113,7 @@ class TestObject(unittest2.TestCase):
body = resp.read() body = resp.read()
if resp.status == 404: if resp.status == 404:
break break
self.assertTrue(resp.status // 100 == 2, resp.status) self.assertEqual(resp.status // 100, 2, resp.status)
objs = json.loads(body) objs = json.loads(body)
if not objs: if not objs:
break break

View File

@ -79,7 +79,7 @@ class Base(unittest2.TestCase):
def assert_body(self, body): def assert_body(self, body):
response_body = self.env.conn.response.read() response_body = self.env.conn.response.read()
self.assertTrue(response_body == body, self.assertEqual(response_body, body,
'Body returned: %s' % (response_body)) 'Body returned: %s' % (response_body))
def assert_status(self, status_or_statuses): def assert_status(self, status_or_statuses):
@ -186,7 +186,7 @@ class TestAccount(Base):
info = self.env.account.info() info = self.env.account.info()
for field in ['object_count', 'container_count', 'bytes_used']: for field in ['object_count', 'container_count', 'bytes_used']:
self.assertTrue(info[field] >= 0) self.assertGreaterEqual(info[field], 0)
if info['container_count'] == len(self.env.containers): if info['container_count'] == len(self.env.containers):
break break
@ -213,8 +213,8 @@ class TestAccount(Base):
for format_type in ['json', 'xml']: for format_type in ['json', 'xml']:
for a in self.env.account.containers( for a in self.env.account.containers(
parms={'format': format_type}): parms={'format': format_type}):
self.assertTrue(a['count'] >= 0) self.assertGreaterEqual(a['count'], 0)
self.assertTrue(a['bytes'] >= 0) self.assertGreaterEqual(a['bytes'], 0)
headers = dict(self.env.conn.response.getheaders()) headers = dict(self.env.conn.response.getheaders())
if format_type == 'json': if format_type == 'json':
@ -230,7 +230,8 @@ class TestAccount(Base):
p = {'limit': l} p = {'limit': l}
if l <= limit: if l <= limit:
self.assertTrue(len(self.env.account.containers(parms=p)) <= l) self.assertLessEqual(len(self.env.account.containers(parms=p)),
l)
self.assert_status(200) self.assert_status(200)
else: else:
self.assertRaises(ResponseError, self.assertRaises(ResponseError,
@ -316,11 +317,12 @@ class TestAccount(Base):
parms={'format': format_type, parms={'format': format_type,
'marker': marker, 'marker': marker,
'limit': limit}) 'limit': limit})
self.assertTrue(len(containers) <= limit) self.assertLessEqual(len(containers), limit)
if containers: if containers:
if isinstance(containers[0], dict): if isinstance(containers[0], dict):
containers = [x['name'] for x in containers] containers = [x['name'] for x in containers]
self.assertTrue(locale.strcoll(containers[0], marker) > 0) self.assertGreater(locale.strcoll(containers[0], marker),
0)
def testContainersOrderedByName(self): def testContainersOrderedByName(self):
for format_type in [None, 'json', 'xml']: for format_type in [None, 'json', 'xml']:
@ -545,12 +547,11 @@ class TestContainer(Base):
for i in range(len(files)): for i in range(len(files)):
f = files[i] f = files[i]
for j in range(1, len(files) - i): for j in range(1, len(files) - i):
self.assertTrue( self.assertEqual(cont.files(parms={'limit': j, 'marker': f}),
cont.files(parms={'limit': j, 'marker': f}) ==
files[i + 1: i + j + 1]) files[i + 1: i + j + 1])
self.assertTrue(cont.files(parms={'marker': f}) == files[i + 1:]) self.assertEqual(cont.files(parms={'marker': f}), files[i + 1:])
self.assertTrue(cont.files(parms={'marker': f, 'prefix': f}) == []) self.assertEqual(cont.files(parms={'marker': f, 'prefix': f}), [])
self.assertTrue(cont.files(parms={'prefix': f}) == [f]) self.assertEqual(cont.files(parms={'prefix': f}), [f])
def testPrefixAndLimit(self): def testPrefixAndLimit(self):
load_constraint('container_listing_limit') load_constraint('container_listing_limit')
@ -783,11 +784,11 @@ class TestContainer(Base):
if isinstance(files[0], dict): if isinstance(files[0], dict):
files = [x['name'] for x in files] files = [x['name'] for x in files]
self.assertTrue(len(files) <= limit) self.assertLessEqual(len(files), limit)
if files: if files:
if isinstance(files[0], dict): if isinstance(files[0], dict):
files = [x['name'] for x in files] files = [x['name'] for x in files]
self.assertTrue(locale.strcoll(files[0], marker) > 0) self.assertGreater(locale.strcoll(files[0], marker), 0)
def testFileOrder(self): def testFileOrder(self):
for format_type in [None, 'json', 'xml']: for format_type in [None, 'json', 'xml']:
@ -1083,7 +1084,7 @@ class TestContainerPaths(Base):
for format_type in ('json', 'xml'): for format_type in ('json', 'xml'):
for file_item in self.env.container.files(parms={'format': for file_item in self.env.container.files(parms={'format':
format_type}): format_type}):
self.assertTrue(int(file_item['bytes']) >= 0) self.assertGreaterEqual(int(file_item['bytes']), 0)
self.assertIn('last_modified', file_item) self.assertIn('last_modified', file_item)
if file_item['name'].endswith('/'): if file_item['name'].endswith('/'):
self.assertEqual(file_item['content_type'], self.assertEqual(file_item['content_type'],
@ -1207,9 +1208,9 @@ class TestFile(Base):
file_item = cont.file(dest_filename) file_item = cont.file(dest_filename)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assertTrue(file_item.initialize()) self.assertTrue(file_item.initialize())
self.assertTrue(metadata == file_item.metadata) self.assertEqual(metadata, file_item.metadata)
def testCopyAccount(self): def testCopyAccount(self):
# makes sure to test encoded characters # makes sure to test encoded characters
@ -1240,9 +1241,9 @@ class TestFile(Base):
file_item = cont.file(dest_filename) file_item = cont.file(dest_filename)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assertTrue(file_item.initialize()) self.assertTrue(file_item.initialize())
self.assertTrue(metadata == file_item.metadata) self.assertEqual(metadata, file_item.metadata)
dest_cont = self.env.account2.container(Utils.create_name()) dest_cont = self.env.account2.container(Utils.create_name())
self.assertTrue(dest_cont.create(hdrs={ self.assertTrue(dest_cont.create(hdrs={
@ -1263,9 +1264,9 @@ class TestFile(Base):
file_item = dest_cont.file(dest_filename) file_item = dest_cont.file(dest_filename)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assertTrue(file_item.initialize()) self.assertTrue(file_item.initialize())
self.assertTrue(metadata == file_item.metadata) self.assertEqual(metadata, file_item.metadata)
def testCopy404s(self): def testCopy404s(self):
source_filename = Utils.create_name() source_filename = Utils.create_name()
@ -1423,9 +1424,9 @@ class TestFile(Base):
file_item = cont.file(dest_filename) file_item = cont.file(dest_filename)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assertTrue(file_item.initialize()) self.assertTrue(file_item.initialize())
self.assertTrue(metadata == file_item.metadata) self.assertEqual(metadata, file_item.metadata)
def testCopyFromAccountHeader(self): def testCopyFromAccountHeader(self):
acct = self.env.conn.account_name acct = self.env.conn.account_name
@ -1466,9 +1467,9 @@ class TestFile(Base):
file_item = cont.file(dest_filename) file_item = cont.file(dest_filename)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assertTrue(file_item.initialize()) self.assertTrue(file_item.initialize())
self.assertTrue(metadata == file_item.metadata) self.assertEqual(metadata, file_item.metadata)
def testCopyFromHeader404s(self): def testCopyFromHeader404s(self):
source_filename = Utils.create_name() source_filename = Utils.create_name()
@ -1666,8 +1667,8 @@ class TestFile(Base):
for i in range(0, file_length, range_size): for i in range(0, file_length, range_size):
range_string = 'bytes=%d-%d' % (i, i + range_size - 1) range_string = 'bytes=%d-%d' % (i, i + range_size - 1)
hdrs = {'Range': range_string} hdrs = {'Range': range_string}
self.assertTrue( self.assertEqual(
data[i: i + range_size] == file_item.read(hdrs=hdrs), data[i: i + range_size], file_item.read(hdrs=hdrs),
range_string) range_string)
range_string = 'bytes=-%d' % (i) range_string = 'bytes=-%d' % (i)
@ -1868,7 +1869,7 @@ class TestFile(Base):
for r in ('BYTES=0-999', 'bytes = 0-999', 'BYTES = 0 - 999', for r in ('BYTES=0-999', 'bytes = 0-999', 'BYTES = 0 - 999',
'bytes = 0 - 999', 'bytes=0 - 999', 'bytes=0-999 '): 'bytes = 0 - 999', 'bytes=0 - 999', 'bytes=0-999 '):
self.assertTrue(file_item.read(hdrs={'Range': r}) == data[0:1000]) self.assertEqual(file_item.read(hdrs={'Range': r}), data[0:1000])
def testFileSizeLimit(self): def testFileSizeLimit(self):
limit = load_constraint('max_file_size') limit = load_constraint('max_file_size')
@ -1952,8 +1953,8 @@ class TestFile(Base):
self.assert_status(405) self.assert_status(405)
# bad range headers # bad range headers
self.assertTrue( self.assertEqual(
len(file_item.read(hdrs={'Range': 'parsecs=8-12'})) == len(file_item.read(hdrs={'Range': 'parsecs=8-12'})),
file_length) file_length)
self.assert_status(200) self.assert_status(200)
@ -1995,7 +1996,7 @@ class TestFile(Base):
file_item = self.env.container.file(Utils.create_name()) file_item = self.env.container.file(Utils.create_name())
data = file_item.write_random() data = file_item.write_random()
self.assert_status(201) self.assert_status(201)
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
self.assert_status(200) self.assert_status(200)
def testHead(self): def testHead(self):
@ -2171,9 +2172,9 @@ class TestFile(Base):
lm_diff = max([f['last_modified'] for f in files]) -\ lm_diff = max([f['last_modified'] for f in files]) -\
min([f['last_modified'] for f in files]) min([f['last_modified'] for f in files])
self.assertTrue( self.assertLess(lm_diff, write_time + 1,
lm_diff < write_time + 1, 'Diff in last ' 'Diff in last modified times '
'modified times should be less than time to write files') 'should be less than time to write files')
for f in files: for f in files:
for format_type in ['json', 'xml']: for format_type in ['json', 'xml']:
@ -2188,7 +2189,7 @@ class TestFile(Base):
data = file_item.write_random(512) data = file_item.write_random(512)
file_item.write(data) file_item.write(data)
self.assertTrue(file_item.read() == data) self.assertEqual(file_item.read(), data)
def testTooLongName(self): def testTooLongName(self):
file_item = self.env.container.file('x' * 1025) file_item = self.env.container.file('x' * 1025)
@ -2200,7 +2201,7 @@ class TestFile(Base):
self.assertTrue(file_item.write('')) self.assertTrue(file_item.write(''))
self.assertIn(file_item.name, self.env.container.files()) self.assertIn(file_item.name, self.env.container.files())
self.assertTrue(file_item.read() == '') self.assertEqual(file_item.read(), '')
def testEtagResponse(self): def testEtagResponse(self):
file_item = self.env.container.file(Utils.create_name()) file_item = self.env.container.file(Utils.create_name())
@ -2235,7 +2236,7 @@ class TestFile(Base):
file_item.chunked_write(j) file_item.chunked_write(j)
self.assertTrue(file_item.chunked_write()) self.assertTrue(file_item.chunked_write())
self.assertTrue(data == file_item.read()) self.assertEqual(data, file_item.read())
info = file_item.info() info = file_item.info()
self.assertEqual(etag, info['etag']) self.assertEqual(etag, info['etag'])
@ -3763,7 +3764,7 @@ class TestObjectVersioning(Base):
self.env.versions_container.name) self.env.versions_container.name)
self.env.container.update_metadata( self.env.container.update_metadata(
hdrs={'X-Versions-Location': ''}) hdrs={'X-Versions-Location': ''})
self.assertEqual(self.env.container.info().get('versions'), None) self.assertIsNone(self.env.container.info().get('versions'))
# set location back to the way it was # set location back to the way it was
self.env.container.update_metadata( self.env.container.update_metadata(
@ -3818,7 +3819,7 @@ class TestObjectVersioning(Base):
self.assertEqual(v, resp_headers[k.lower()]) self.assertEqual(v, resp_headers[k.lower()])
# make sure the new obj metadata did not leak to the prev. version # make sure the new obj metadata did not leak to the prev. version
self.assertTrue('foo' not in prev_version.metadata) self.assertNotIn('foo', prev_version.metadata)
# check that POST does not create a new version # check that POST does not create a new version
versioned_obj.sync_metadata(metadata={'fu': 'baz'}) versioned_obj.sync_metadata(metadata={'fu': 'baz'})
@ -3832,8 +3833,8 @@ class TestObjectVersioning(Base):
prev_version.initialize() prev_version.initialize()
self.assertEqual("bbbbb", prev_version.read()) self.assertEqual("bbbbb", prev_version.read())
self.assertEqual(prev_version.content_type, 'text/jibberish02') self.assertEqual(prev_version.content_type, 'text/jibberish02')
self.assertTrue('foo' in prev_version.metadata) self.assertIn('foo', prev_version.metadata)
self.assertTrue('fu' in prev_version.metadata) self.assertIn('fu', prev_version.metadata)
# as we delete things, the old contents return # as we delete things, the old contents return
self.assertEqual("ccccc", versioned_obj.read()) self.assertEqual("ccccc", versioned_obj.read())