Add unit tests for test_subresource
Add a unit test for canned_acl_grantee function. And more, add a few minor unit test to increase the test coverage. Change-Id: I9af2c971540d31c27b58ff82024b800376ffd84f
This commit is contained in:
@@ -17,12 +17,13 @@ import unittest
|
|||||||
|
|
||||||
from swift.common.utils import json
|
from swift.common.utils import json
|
||||||
|
|
||||||
from swift3.response import AccessDenied, InvalidArgument
|
from swift3.response import AccessDenied, InvalidArgument, S3NotImplemented
|
||||||
from swift3.subresource import User, AuthenticatedUsers, AllUsers, \
|
from swift3.subresource import User, AuthenticatedUsers, AllUsers, \
|
||||||
ACLPrivate, ACLPublicRead, ACLPublicReadWrite, ACLAuthenticatedRead, \
|
ACLPrivate, ACLPublicRead, ACLPublicReadWrite, ACLAuthenticatedRead, \
|
||||||
ACLBucketOwnerRead, ACLBucketOwnerFullControl, Owner, ACL, encode_acl, \
|
ACLBucketOwnerRead, ACLBucketOwnerFullControl, Owner, ACL, encode_acl, \
|
||||||
decode_acl, canned_acl_grantees
|
decode_acl, canned_acl_grantees, Grantee
|
||||||
from swift3.utils import CONF, sysmeta_header
|
from swift3.utils import CONF, sysmeta_header
|
||||||
|
from swift3.exception import InvalidSubresource
|
||||||
|
|
||||||
|
|
||||||
class TestSwift3Subresource(unittest.TestCase):
|
class TestSwift3Subresource(unittest.TestCase):
|
||||||
@@ -238,6 +239,17 @@ class TestSwift3Subresource(unittest.TestCase):
|
|||||||
self.assertEqual(None, acl.owner.id)
|
self.assertEqual(None, acl.owner.id)
|
||||||
self.assertEqual(len(acl.grants), 0)
|
self.assertEqual(len(acl.grants), 0)
|
||||||
|
|
||||||
|
def test_decode_acl_empty_list(self):
|
||||||
|
headers = {sysmeta_header('container', 'acl'): '[]'}
|
||||||
|
acl = decode_acl('container', headers)
|
||||||
|
self.assertEqual(type(acl), ACL)
|
||||||
|
self.assertEqual(None, acl.owner.id)
|
||||||
|
self.assertEqual(len(acl.grants), 0)
|
||||||
|
|
||||||
|
def test_decode_acl_with_invalid_json(self):
|
||||||
|
headers = {sysmeta_header('container', 'acl'): '['}
|
||||||
|
self.assertRaises(InvalidSubresource, decode_acl, 'container', headers)
|
||||||
|
|
||||||
def test_encode_acl_container(self):
|
def test_encode_acl_container(self):
|
||||||
acl = ACLPrivate(Owner(id='test:tester',
|
acl = ACLPrivate(Owner(id='test:tester',
|
||||||
name='test:tester'))
|
name='test:tester'))
|
||||||
@@ -284,7 +296,6 @@ class TestSwift3Subresource(unittest.TestCase):
|
|||||||
'bucket-owner-full-control', 'log-delivery-write']
|
'bucket-owner-full-control', 'log-delivery-write']
|
||||||
|
|
||||||
owner = Owner('test:tester', 'test:tester')
|
owner = Owner('test:tester', 'test:tester')
|
||||||
# TODO: make a test for canned_acl_grantees function
|
|
||||||
grantee_map = canned_acl_grantees(owner)
|
grantee_map = canned_acl_grantees(owner)
|
||||||
|
|
||||||
for acl_str in canned_acls:
|
for acl_str in canned_acls:
|
||||||
@@ -318,6 +329,19 @@ class TestSwift3Subresource(unittest.TestCase):
|
|||||||
self.assertTrue('argument_value' in cm.exception.info)
|
self.assertTrue('argument_value' in cm.exception.info)
|
||||||
self.assertEquals(cm.exception.info['argument_value'], 'invalid')
|
self.assertEquals(cm.exception.info['argument_value'], 'invalid')
|
||||||
|
|
||||||
|
def test_canned_acl_grantees(self):
|
||||||
|
grantee_map = canned_acl_grantees(Owner('test:tester', 'test:tester'))
|
||||||
|
canned_acls = ['private', 'public-read', 'public-read-write',
|
||||||
|
'authenticated-read', 'bucket-owner-read',
|
||||||
|
'bucket-owner-full-control', 'log-delivery-write']
|
||||||
|
for canned_acl in canned_acls:
|
||||||
|
self.assertTrue(canned_acl in grantee_map)
|
||||||
|
self.assertEquals(len(canned_acls), len(grantee_map)) # sanity
|
||||||
|
|
||||||
|
def test_base_grantee(self):
|
||||||
|
grantee = Grantee()
|
||||||
|
func = lambda: '' in grantee
|
||||||
|
self.assertRaises(S3NotImplemented, func)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user