Revision e53e90da

b/snf-pithos-app/pithos/api/functions.py
547 547
    try:
548 548
        objects = request.backend.list_object_meta(request.user_uniq, v_account,
549 549
                                    v_container, prefix, delimiter, marker,
550
                                    limit, virtual, 'pithos', keys, shared, until)
550
                                    limit, virtual, 'pithos', keys, shared, until, None, public)
551 551
        object_permissions = {}
552 552
        object_public = {}
553 553
        if until is None:
b/snf-pithos-tools/pithos/tools/test.py
1752 1752
                self.client.publish_object(c, 'o2')
1753 1753
    
1754 1754
    def test_shared_public(self):
1755
        self.assertEqual(self.client.list_containers(shared=True),
1756
                         ['c1', 'c2'])
1757
        self.assertEqual(self.client.list_containers(public=True), ['c1', 'c3'])
1758
        self.assertEqual(self.client.list_containers(shared=True, public=True), ['c1', 'c2', 'c3'])
1755
        func, kwargs = self.client.list_containers, {'shared':True}
1756
        l = func(**kwargs)
1757
        self.assertEqual(l, ['c1', 'c2'])
1758
        self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)])
1759 1759
        
1760
        self.assertEqual(self.client.list_objects('c1', shared=True), ['o1'])
1761
        self.assertEqual(self.client.list_objects('c1', public=True), ['o2'])
1762
        self.assertEqual(self.client.list_objects('c1', shared=True, public=True), ['o1', 'o2'])
1760
        func, kwargs = self.client.list_containers, {'public':True}
1761
        l = func(**kwargs)
1762
        self.assertEqual(l, ['c1', 'c3'])
1763
        self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)])
1763 1764
        
1764
        self.assertEqual(self.client.list_objects('c2', shared=True), ['o1'])
1765
        self.assertEqual(self.client.list_objects('c2', public=True), '')
1766
        self.assertEqual(self.client.list_objects('c2', shared=True, public=True), ['o1'])
1765
        func, kwargs = self.client.list_containers, {'shared':True, 'public':True}
1766
        l = func(**kwargs)
1767
        self.assertEqual(l, ['c1', 'c2', 'c3'])
1768
        self.assertEqual(l, [e['name'] for e in func(format='json', **kwargs)])
1767 1769
        
1768
        self.assertEqual(self.client.list_objects('c3', shared=True), '')
1769
        self.assertEqual(self.client.list_objects('c3', public=True), ['o2'])
1770
        self.assertEqual(self.client.list_objects('c3', shared=True, public=True), ['o2'])
1771 1770
        
1772
        self.assertEqual(self.client.list_objects('c4', shared=True), '')
1773
        self.assertEqual(self.client.list_objects('c4', public=True), '')
1774
        self.assertEqual(self.client.list_objects('c4', shared=True, public=True), '')
1771
        func, args, kwargs = self.client.list_objects, ['c1'], {'shared':True}
1772
        l = func(*args, **kwargs)
1773
        self.assertEqual(l, ['o1'])
1774
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1775
        
1776
        func, args, kwargs = self.client.list_objects, ['c1'], {'public':True}
1777
        l = func(*args, **kwargs)
1778
        self.assertEqual(l, ['o2'])
1779
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1780
        
1781
        func, args, kwargs = self.client.list_objects, ['c1'], {'shared':True, 'public':True}
1782
        l = func(*args, **kwargs)
1783
        self.assertEqual(l, ['o1', 'o2'])
1784
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1785
        
1786
        
1787
        func, args, kwargs = self.client.list_objects, ['c2'], {'shared':True}
1788
        l = func(*args, **kwargs)
1789
        self.assertEqual(l, ['o1'])
1790
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1791
        
1792
        func, args, kwargs = self.client.list_objects, ['c2'], {'public':True}
1793
        l = func(*args, **kwargs)
1794
        self.assertEqual(l, '')
1795
        self.assertEqual([], func(*args, format='json', **kwargs))
1796
        
1797
        func, args, kwargs = self.client.list_objects, ['c2'], {'shared':True, 'public':True}
1798
        l = func(*args, **kwargs)
1799
        self.assertEqual(l, ['o1'])
1800
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1801
        
1802
        
1803
        func, args, kwargs = self.client.list_objects, ['c3'], {'shared':True}
1804
        l = func(*args, **kwargs)
1805
        self.assertEqual(l, '')
1806
        self.assertEqual([], func(*args, format='json', **kwargs))
1807
        
1808
        func, args, kwargs = self.client.list_objects, ['c3'], {'public':True}
1809
        l = func(*args, **kwargs)
1810
        self.assertEqual(l, ['o2'])
1811
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1812
        
1813
        func, args, kwargs = self.client.list_objects, ['c3'], {'shared':True, 'public':True}
1814
        l = func(*args, **kwargs)
1815
        self.assertEqual(l, ['o2'])
1816
        self.assertEqual(l, [e['name'] for e in func(*args, format='json', **kwargs)])
1817
        
1818
        
1819
        func, args, kwargs = self.client.list_objects, ['c4'], {'shared':True}
1820
        l = func(*args, **kwargs)
1821
        self.assertEqual(l, '')
1822
        self.assertEqual([], func(*args, format='json', **kwargs))
1823
        
1824
        func, args, kwargs = self.client.list_objects, ['c4'], {'public':True}
1825
        l = func(*args, **kwargs)
1826
        self.assertEqual(l, '')
1827
        self.assertEqual([], func(*args, format='json', **kwargs))
1828
        
1829
        func, args, kwargs = self.client.list_objects, ['c4'], {'shared':True, 'public':True}
1830
        l = func(*args, **kwargs)
1831
        self.assertEqual(l, '')
1832
        self.assertEqual([], func(*args, format='json', **kwargs))
1775 1833

  
1776 1834
class TestGreek(BaseTestCase):
1777 1835
    def test_create_container(self):

Also available in: Unified diff