Revision e3268281 snf-pithos-tools/pithos/tools/test.py
b/snf-pithos-tools/pithos/tools/test.py | ||
---|---|---|
71 | 71 |
#TODO unauthorized request |
72 | 72 |
def setUp(self): |
73 | 73 |
self.client = Pithos_Client(get_url(), get_auth(), get_user()) |
74 |
|
|
74 |
|
|
75 | 75 |
#keep track of initial containers |
76 | 76 |
self.initial_containers = self.client.list_containers() |
77 | 77 |
if self.initial_containers == '': |
78 | 78 |
self.initial_containers = [] |
79 |
|
|
79 |
|
|
80 | 80 |
self._clean_account() |
81 | 81 |
self.invalid_client = Pithos_Client(get_url(), get_auth(), 'invalid') |
82 | 82 |
|
... | ... | |
85 | 85 |
|
86 | 86 |
#keep track of initial account meta |
87 | 87 |
self.initial_meta = self.client.retrieve_account_metadata(restricted=True) |
88 |
|
|
88 |
|
|
89 | 89 |
self.extended = { |
90 | 90 |
'container':( |
91 | 91 |
'name', |
... | ... | |
123 | 123 |
# if c not in self.initial_containers: |
124 | 124 |
self.client.delete_container(c, delimiter='/') |
125 | 125 |
self.client.delete_container(c) |
126 |
|
|
126 |
|
|
127 | 127 |
def assert_status(self, status, codes): |
128 | 128 |
l = [elem for elem in self.return_codes] |
129 | 129 |
if type(codes) == types.ListType: |
... | ... | |
264 | 264 |
BaseTestCase.setUp(self) |
265 | 265 |
self.containers = list(set(self.initial_containers + ['apples', 'bananas', 'kiwis', 'oranges', 'pears'])) |
266 | 266 |
self.containers.sort() |
267 |
|
|
267 |
|
|
268 | 268 |
for item in self.containers: |
269 | 269 |
self.client.create_container(item) |
270 | 270 |
|
... | ... | |
320 | 320 |
#create some containers |
321 | 321 |
self.containers = list(set(self.initial_containers + ['apples', 'bananas', 'kiwis', 'oranges', 'pears'])) |
322 | 322 |
self.containers.sort() |
323 |
|
|
323 |
|
|
324 | 324 |
for item in self.containers: |
325 | 325 |
self.client.create_container(item) |
326 | 326 |
|
... | ... | |
382 | 382 |
self.assertEqual(len(c), len(self.containers) + 1) |
383 | 383 |
except Fault, f: |
384 | 384 |
self.failIf(f.status == 304) #fail if not modified |
385 |
|
|
385 |
|
|
386 | 386 |
def test_if_modified_since_invalid_date(self): |
387 | 387 |
c = self.client.list_containers(if_modified_since='') |
388 | 388 |
self.assertEqual(len(c), len(self.containers)) |
... | ... | |
427 | 427 |
BaseTestCase.setUp(self) |
428 | 428 |
self.containers = list(set(self.initial_containers + ['apples', 'bananas', 'kiwis', 'oranges', 'pears'])) |
429 | 429 |
self.containers.sort() |
430 |
|
|
430 |
|
|
431 | 431 |
for item in self.containers: |
432 | 432 |
self.client.create_container(item) |
433 | 433 |
|
... | ... | |
546 | 546 |
self.obj.append(self.upload_random_data(self.container[0], o)) |
547 | 547 |
for o in o_names[8:]: |
548 | 548 |
self.obj.append(self.upload_random_data(self.container[1], o)) |
549 |
|
|
549 |
|
|
550 | 550 |
def test_list_shared(self): |
551 | 551 |
self.client.share_object(self.container[0], self.obj[0]['name'], ('*',)) |
552 | 552 |
objs = self.client.list_objects(self.container[0], shared=True) |
553 | 553 |
self.assertEqual(objs, [self.obj[0]['name']]) |
554 |
|
|
554 |
|
|
555 | 555 |
# create child object |
556 | 556 |
self.upload_random_data(self.container[0], strnextling(self.obj[0]['name'])) |
557 | 557 |
objs = self.client.list_objects(self.container[0], shared=True) |
558 | 558 |
self.assertEqual(objs, [self.obj[0]['name']]) |
559 |
|
|
559 |
|
|
560 | 560 |
# test inheritance |
561 | 561 |
self.client.create_folder(self.container[1], 'folder') |
562 | 562 |
self.client.share_object(self.container[1], 'folder', ('*',)) |
563 | 563 |
self.upload_random_data(self.container[1], 'folder/object') |
564 | 564 |
objs = self.client.list_objects(self.container[1], shared=True) |
565 | 565 |
self.assertEqual(objs, ['folder', 'folder/object']) |
566 |
|
|
566 |
|
|
567 | 567 |
def test_list_public(self): |
568 | 568 |
self.client.publish_object(self.container[0], self.obj[0]['name']) |
569 | 569 |
objs = self.client.list_objects(self.container[0], public=True) |
570 | 570 |
self.assertEqual(objs, [self.obj[0]['name']]) |
571 |
|
|
571 |
|
|
572 | 572 |
# create child object |
573 | 573 |
self.upload_random_data(self.container[0], strnextling(self.obj[0]['name'])) |
574 | 574 |
objs = self.client.list_objects(self.container[0], public=True) |
575 | 575 |
self.assertEqual(objs, [self.obj[0]['name']]) |
576 |
|
|
576 |
|
|
577 | 577 |
# test inheritance |
578 | 578 |
self.client.create_folder(self.container[1], 'folder') |
579 | 579 |
self.client.publish_object(self.container[1], 'folder') |
580 | 580 |
self.upload_random_data(self.container[1], 'folder/object') |
581 | 581 |
objs = self.client.list_objects(self.container[1], public=True) |
582 | 582 |
self.assertEqual(objs, ['folder']) |
583 |
|
|
583 |
|
|
584 | 584 |
def test_list_shared_public(self): |
585 | 585 |
self.client.share_object(self.container[0], self.obj[0]['name'], ('*',)) |
586 | 586 |
self.client.publish_object(self.container[0], self.obj[1]['name']) |
587 | 587 |
objs = self.client.list_objects(self.container[0], shared=True, public=True) |
588 | 588 |
self.assertEqual(objs, [self.obj[0]['name'], self.obj[1]['name']]) |
589 |
|
|
589 |
|
|
590 | 590 |
# create child object |
591 | 591 |
self.upload_random_data(self.container[0], strnextling(self.obj[0]['name'])) |
592 | 592 |
self.upload_random_data(self.container[0], strnextling(self.obj[1]['name'])) |
593 | 593 |
objs = self.client.list_objects(self.container[0], shared=True, public=True) |
594 | 594 |
self.assertEqual(objs, [self.obj[0]['name'], self.obj[1]['name']]) |
595 |
|
|
595 |
|
|
596 | 596 |
# test inheritance |
597 | 597 |
self.client.create_folder(self.container[1], 'folder1') |
598 | 598 |
self.client.share_object(self.container[1], 'folder1', ('*',)) |
... | ... | |
602 | 602 |
o = self.upload_random_data(self.container[1], 'folder2/object') |
603 | 603 |
objs = self.client.list_objects(self.container[1], shared=True, public=True) |
604 | 604 |
self.assertEqual(objs, ['folder1', 'folder1/object', 'folder2']) |
605 |
|
|
605 |
|
|
606 | 606 |
def test_list_objects(self): |
607 | 607 |
objects = self.client.list_objects(self.container[0]) |
608 | 608 |
l = [elem['name'] for elem in self.obj[:8]] |
... | ... | |
796 | 796 |
BaseTestCase.setUp(self) |
797 | 797 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
798 | 798 |
self.containers.sort() |
799 |
|
|
799 |
|
|
800 | 800 |
def test_create(self): |
801 | 801 |
self.client.create_container(self.containers[0]) |
802 | 802 |
containers = self.client.list_containers() |
... | ... | |
846 | 846 |
BaseTestCase.setUp(self) |
847 | 847 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
848 | 848 |
self.containers.sort() |
849 |
|
|
849 |
|
|
850 | 850 |
for c in self.containers: |
851 | 851 |
self.client.create_container(c) |
852 | 852 |
|
... | ... | |
861 | 861 |
|
862 | 862 |
def test_delete_invalid(self): |
863 | 863 |
self.assert_raises_fault(404, self.client.delete_container, 'c3') |
864 |
|
|
864 |
|
|
865 | 865 |
def test_delete_contents(self): |
866 | 866 |
self.client.create_folder(self.containers[0], 'folder-1') |
867 | 867 |
self.upload_random_data(self.containers[1], 'folder-1/%s' % o_names[0]) |
868 | 868 |
self.client.create_folder(self.containers[0], 'folder-1/subfolder') |
869 | 869 |
self.client.create_folder(self.containers[0], 'folder-2/%s' % o_names[1]) |
870 |
|
|
870 |
|
|
871 | 871 |
objects = self.client.list_objects(self.containers[0]) |
872 | 872 |
self.client.delete_container(self.containers[0], delimiter='/') |
873 | 873 |
for o in objects: |
... | ... | |
879 | 879 |
BaseTestCase.setUp(self) |
880 | 880 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
881 | 881 |
self.containers.sort() |
882 |
|
|
882 |
|
|
883 | 883 |
#create some containers |
884 | 884 |
for c in self.containers: |
885 | 885 |
self.client.create_container(c) |
... | ... | |
911 | 911 |
restricted=True, |
912 | 912 |
version=v) |
913 | 913 |
(self.assertTrue(k not in v_meta) for k in meta.keys()) |
914 |
|
|
914 |
|
|
915 | 915 |
#update obejct |
916 | 916 |
data = get_random_data() |
917 | 917 |
self.client.update_object(c, o['name'], StringIO(data)) |
918 |
|
|
918 |
|
|
919 | 919 |
aa = self.client.retrieve_object_versionlist(c, o['name'])['versions'] |
920 | 920 |
self.assert_versionlist_structure(aa) |
921 | 921 |
self.assertEqual(len(a)+1, len(aa)) |
... | ... | |
1347 | 1347 |
self.assert_object_exists(self.container, 'large-object') |
1348 | 1348 |
self.assertEqual(data, self.client.retrieve_object(self.container, |
1349 | 1349 |
'large-object')) |
1350 |
|
|
1350 |
|
|
1351 | 1351 |
r = self.client.retrieve_object_hashmap(self.container,'large-object') |
1352 | 1352 |
hashes = r['hashes'] |
1353 | 1353 |
block_size = int(r['block_size']) |
... | ... | |
1355 | 1355 |
l = len(data) |
1356 | 1356 |
block_num = l/block_size if l/block_size != 0 else l/block_size + 1 |
1357 | 1357 |
self.assertEqual(block_num, len(hashes)) |
1358 |
|
|
1358 |
|
|
1359 | 1359 |
#wrong manifestation |
1360 | 1360 |
self.client.create_manifestation(self.container, 'large-object', |
1361 | 1361 |
'%s/invalid' % self.container) |
... | ... | |
1392 | 1392 |
BaseTestCase.setUp(self) |
1393 | 1393 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
1394 | 1394 |
self.containers.sort() |
1395 |
|
|
1395 |
|
|
1396 | 1396 |
for c in self.containers: |
1397 | 1397 |
self.client.create_container(c) |
1398 | 1398 |
self.obj = self.upload_random_data(self.containers[0], o_names[0]) |
... | ... | |
1455 | 1455 |
self.assert_raises_fault(404, self.client.copy_object, self.containers[1], |
1456 | 1456 |
self.obj['name'], self.containers[1], |
1457 | 1457 |
'testcopy', meta) |
1458 |
|
|
1458 |
|
|
1459 | 1459 |
def test_copy_dir(self): |
1460 | 1460 |
self.client.create_folder(self.containers[0], 'dir') |
1461 | 1461 |
self.client.create_folder(self.containers[0], 'dir/subdir') |
1462 | 1462 |
self.upload_random_data(self.containers[0], 'dir/object1.jpg', length=1024) |
1463 | 1463 |
self.upload_random_data(self.containers[0], 'dir/subdir/object2.pdf', length=2*1024) |
1464 | 1464 |
self.client.create_folder(self.containers[0], 'dirs') |
1465 |
|
|
1465 |
|
|
1466 | 1466 |
objects = self.client.list_objects(self.containers[0], prefix='dir') |
1467 | 1467 |
self.client.copy_object(self.containers[0], 'dir', self.containers[1], 'dir-backup', delimiter='/') |
1468 | 1468 |
for object in objects[:-1]: |
... | ... | |
1473 | 1473 |
t = ('content-length', 'x-object-hash', 'content-type') |
1474 | 1474 |
(self.assertEqual(meta0[elem], meta1[elem]) for elem in t) |
1475 | 1475 |
self.assert_object_not_exists(self.containers[1], objects[-1]) |
1476 |
|
|
1476 |
|
|
1477 | 1477 |
class ObjectMove(BaseTestCase): |
1478 | 1478 |
def setUp(self): |
1479 | 1479 |
BaseTestCase.setUp(self) |
1480 | 1480 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
1481 | 1481 |
self.containers.sort() |
1482 |
|
|
1482 |
|
|
1483 | 1483 |
for c in self.containers: |
1484 | 1484 |
self.client.create_container(c) |
1485 | 1485 |
self.obj = self.upload_random_data(self.containers[0], o_names[0]) |
... | ... | |
1511 | 1511 |
|
1512 | 1512 |
#assert src object no more exists |
1513 | 1513 |
self.assert_object_not_exists(self.containers[0], self.obj['name']) |
1514 |
|
|
1515 |
|
|
1514 |
|
|
1515 |
|
|
1516 | 1516 |
def test_move_dir(self): |
1517 | 1517 |
meta = {} |
1518 | 1518 |
self.client.create_folder(self.containers[0], 'dir') |
... | ... | |
1525 | 1525 |
meta['dir/subdir/object2.pdf'] = self.client.retrieve_object_metadata(self.containers[0], 'dir/subdir/object2.pdf') |
1526 | 1526 |
self.client.create_folder(self.containers[0], 'dirs') |
1527 | 1527 |
meta['dirs'] = self.client.retrieve_object_metadata(self.containers[0], 'dirs') |
1528 |
|
|
1528 |
|
|
1529 | 1529 |
objects = self.client.list_objects(self.containers[0], prefix='dir') |
1530 | 1530 |
self.client.move_object(self.containers[0], 'dir', self.containers[1], 'dir-backup', delimiter='/') |
1531 | 1531 |
for object in objects[:-1]: |
... | ... | |
1542 | 1542 |
BaseTestCase.setUp(self) |
1543 | 1543 |
self.containers = list(set(self.initial_containers + ['c1', 'c2'])) |
1544 | 1544 |
self.containers.sort() |
1545 |
|
|
1545 |
|
|
1546 | 1546 |
for c in self.containers: |
1547 | 1547 |
self.client.create_container(c) |
1548 | 1548 |
self.obj = [] |
... | ... | |
1576 | 1576 |
self.containers[0], |
1577 | 1577 |
self.obj[0]['name'], |
1578 | 1578 |
**more) |
1579 |
|
|
1579 |
|
|
1580 | 1580 |
#perform update metadata |
1581 | 1581 |
more = {'α': 'β' * 256} |
1582 | 1582 |
status = self.client.update_object_metadata(self.containers[0], |
... | ... | |
1584 | 1584 |
**more)[0] |
1585 | 1585 |
#assert request accepted |
1586 | 1586 |
self.assertEqual(status, 202) |
1587 |
|
|
1587 |
|
|
1588 | 1588 |
#assert old metadata are still there |
1589 | 1589 |
headers = self.client.retrieve_object_metadata(self.containers[0], |
1590 | 1590 |
self.obj[0]['name'], |
... | ... | |
1593 | 1593 |
for k,v in more.items(): |
1594 | 1594 |
self.assertTrue(k in headers.keys()) |
1595 | 1595 |
self.assertTrue(headers[k], v) |
1596 |
|
|
1596 |
|
|
1597 | 1597 |
#out of limits |
1598 | 1598 |
more = {'α': 'β' * 257} |
1599 | 1599 |
self.assert_raises_fault(400, self.client.update_object_metadata, |
1600 | 1600 |
self.containers[0], |
1601 | 1601 |
self.obj[0]['name'], |
1602 | 1602 |
**more) |
1603 |
|
|
1603 |
|
|
1604 | 1604 |
def test_update_object(self, |
1605 | 1605 |
first_byte_pos=0, |
1606 | 1606 |
last_byte_pos=499, |
... | ... | |
1822 | 1822 |
BaseTestCase.setUp(self) |
1823 | 1823 |
self.containers = ['c1', 'c2'] |
1824 | 1824 |
self.containers.extend(self.initial_containers) |
1825 |
|
|
1825 |
|
|
1826 | 1826 |
for c in self.containers: |
1827 | 1827 |
self.client.create_container(c) |
1828 | 1828 |
self.obj = self.upload_random_data(self.containers[0], o_names[0]) |
... | ... | |
1835 | 1835 |
#assert item not found |
1836 | 1836 |
self.assert_raises_fault(404, self.client.delete_object, self.containers[1], |
1837 | 1837 |
self.obj['name']) |
1838 |
|
|
1838 |
|
|
1839 | 1839 |
def test_delete_dir(self): |
1840 | 1840 |
self.client.create_folder(self.containers[0], 'dir') |
1841 | 1841 |
self.client.create_folder(self.containers[0], 'dir/subdir') |
1842 | 1842 |
self.upload_random_data(self.containers[0], 'dir/object1.jpg', length=1024) |
1843 | 1843 |
self.upload_random_data(self.containers[0], 'dir/subdir/object2.pdf', length=2*1024) |
1844 | 1844 |
self.client.create_folder(self.containers[0], 'dirs') |
1845 |
|
|
1845 |
|
|
1846 | 1846 |
objects = self.client.list_objects(self.containers[0], prefix='dir') |
1847 | 1847 |
self.client.delete_object(self.containers[0], 'dir', delimiter='/') |
1848 | 1848 |
for object in objects[:-1]: |
... | ... | |
1863 | 1863 |
self.o1_sharing = token, account |
1864 | 1864 |
self.client.share_object('c1', 'o1', (account,), read=True) |
1865 | 1865 |
break |
1866 |
|
|
1866 |
|
|
1867 | 1867 |
def test_list_other_shared(self): |
1868 | 1868 |
self.other = Pithos_Client(get_url(), |
1869 | 1869 |
self.o1_sharing[0], |
... | ... | |
1892 | 1892 |
self.client.share_object(c, 'o1', ['papagian'], read=True) |
1893 | 1893 |
if i%2 != 0: |
1894 | 1894 |
self.client.publish_object(c, 'o2') |
1895 |
|
|
1895 |
|
|
1896 | 1896 |
def test_shared_public(self): |
1897 | 1897 |
diff = lambda l: set(l) - set(self.initial_containers) |
1898 |
|
|
1898 |
|
|
1899 | 1899 |
func, kwargs = self.client.list_containers, {'shared':True} |
1900 | 1900 |
l = func(**kwargs) |
1901 | 1901 |
self.assertEqual(set(['c1', 'c2']), diff(l)) |
1902 | 1902 |
self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)]) |
1903 |
|
|
1903 |
|
|
1904 | 1904 |
func, kwargs = self.client.list_containers, {'public':True} |
1905 | 1905 |
l = func(**kwargs) |
1906 | 1906 |
self.assertEqual(set(['c1', 'c3']), diff(l)) |
1907 | 1907 |
self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)]) |
1908 |
|
|
1908 |
|
|
1909 | 1909 |
func, kwargs = self.client.list_containers, {'shared':True, 'public':True} |
1910 | 1910 |
l = func(**kwargs) |
1911 | 1911 |
self.assertEqual(set(['c1', 'c2', 'c3']), diff(l)) |
1912 | 1912 |
self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)]) |
1913 |
|
|
1914 |
|
|
1913 |
|
|
1915 | 1914 |
func, args, kwargs = self.client.list_objects, ['c1'], {'shared':True} |
1916 | 1915 |
l = func(*args, **kwargs) |
1917 | 1916 |
self.assertEqual(l, ['o1']) |
1918 | 1917 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1919 |
|
|
1918 |
|
|
1920 | 1919 |
func, args, kwargs = self.client.list_objects, ['c1'], {'public':True} |
1921 | 1920 |
l = func(*args, **kwargs) |
1922 | 1921 |
self.assertEqual(l, ['o2']) |
1923 | 1922 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1924 |
|
|
1923 |
|
|
1925 | 1924 |
func, args, kwargs = self.client.list_objects, ['c1'], {'shared':True, 'public':True} |
1926 | 1925 |
l = func(*args, **kwargs) |
1927 | 1926 |
self.assertEqual(l, ['o1', 'o2']) |
1928 | 1927 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1929 |
|
|
1930 |
|
|
1928 |
|
|
1931 | 1929 |
func, args, kwargs = self.client.list_objects, ['c2'], {'shared':True} |
1932 | 1930 |
l = func(*args, **kwargs) |
1933 | 1931 |
self.assertEqual(l, ['o1']) |
1934 | 1932 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1935 |
|
|
1933 |
|
|
1936 | 1934 |
func, args, kwargs = self.client.list_objects, ['c2'], {'public':True} |
1937 | 1935 |
l = func(*args, **kwargs) |
1938 | 1936 |
self.assertEqual(l, '') |
1939 | 1937 |
self.assertEqual([], func(*args, format='json', **kwargs)) |
1940 |
|
|
1938 |
|
|
1941 | 1939 |
func, args, kwargs = self.client.list_objects, ['c2'], {'shared':True, 'public':True} |
1942 | 1940 |
l = func(*args, **kwargs) |
1943 | 1941 |
self.assertEqual(l, ['o1']) |
1944 | 1942 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1945 |
|
|
1946 |
|
|
1943 |
|
|
1947 | 1944 |
func, args, kwargs = self.client.list_objects, ['c3'], {'shared':True} |
1948 | 1945 |
l = func(*args, **kwargs) |
1949 | 1946 |
self.assertEqual(l, '') |
1950 | 1947 |
self.assertEqual([], func(*args, format='json', **kwargs)) |
1951 |
|
|
1948 |
|
|
1952 | 1949 |
func, args, kwargs = self.client.list_objects, ['c3'], {'public':True} |
1953 | 1950 |
l = func(*args, **kwargs) |
1954 | 1951 |
self.assertEqual(l, ['o2']) |
1955 | 1952 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1956 |
|
|
1953 |
|
|
1957 | 1954 |
func, args, kwargs = self.client.list_objects, ['c3'], {'shared':True, 'public':True} |
1958 | 1955 |
l = func(*args, **kwargs) |
1959 | 1956 |
self.assertEqual(l, ['o2']) |
1960 | 1957 |
self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)]) |
1961 |
|
|
1962 |
|
|
1958 |
|
|
1963 | 1959 |
func, args, kwargs = self.client.list_objects, ['c4'], {'shared':True} |
1964 | 1960 |
l = func(*args, **kwargs) |
1965 | 1961 |
self.assertEqual(l, '') |
1966 | 1962 |
self.assertEqual([], func(*args, format='json', **kwargs)) |
1967 |
|
|
1963 |
|
|
1968 | 1964 |
func, args, kwargs = self.client.list_objects, ['c4'], {'public':True} |
1969 | 1965 |
l = func(*args, **kwargs) |
1970 | 1966 |
self.assertEqual(l, '') |
1971 | 1967 |
self.assertEqual([], func(*args, format='json', **kwargs)) |
1972 |
|
|
1968 |
|
|
1973 | 1969 |
func, args, kwargs = self.client.list_objects, ['c4'], {'shared':True, 'public':True} |
1974 | 1970 |
l = func(*args, **kwargs) |
1975 | 1971 |
self.assertEqual(l, '') |
... | ... | |
2167 | 2163 |
class TestPermissions(BaseTestCase): |
2168 | 2164 |
def setUp(self): |
2169 | 2165 |
BaseTestCase.setUp(self) |
2170 |
|
|
2166 |
|
|
2171 | 2167 |
if not OTHER_ACCOUNTS: |
2172 | 2168 |
raise Warning('No other accounts avalaible for running this test.') |
2173 |
|
|
2169 |
|
|
2174 | 2170 |
#create a group |
2175 | 2171 |
self.authorized = ['chazapis', 'verigak', 'gtsouk'] |
2176 | 2172 |
groups = {'pithosdev':','.join(self.authorized)} |
Also available in: Unified diff