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:
parent
7b28ac1d36
commit
e278179b08
@ -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"]}'
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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())
|
||||||
|
Loading…
Reference in New Issue
Block a user