Unittest clients.pithos get container versioning
authorStavros Sachtouris <saxtouri@admin.grnet.gr>
Fri, 8 Mar 2013 14:46:25 +0000 (16:46 +0200)
committerStavros Sachtouris <saxtouri@admin.grnet.gr>
Fri, 8 Mar 2013 14:46:25 +0000 (16:46 +0200)
kamaki/clients/pithos.py
kamaki/clients/test/pithos.py

index d4afba0..b19e42c 100644 (file)
@@ -755,16 +755,20 @@ class PithosClient(PithosRestAPI):
                 'Container "%s" is not empty' % self.container,
                 r.status_code)
 
-    def get_container_versioning(self, container):
+    def get_container_versioning(self, container=None):
         """
         :param container: (str)
 
         :returns: (dict)
         """
-        self.container = container
-        return filter_in(
-            self.get_container_info(),
-            'X-Container-Policy-Versioning')
+        cnt_back_up = self.container
+        try:
+            self.container = container or cnt_back_up
+            return filter_in(
+                self.get_container_info(),
+                'X-Container-Policy-Versioning')
+        finally:
+            self.container = cnt_back_up
 
     def get_container_quota(self, container):
         """
index 4e5f227..97a727b 100644 (file)
@@ -839,3 +839,16 @@ class Pithos(TestCase):
             for status_code in (404, 409):
                 self.FR.status_code = status_code
                 self.assertRaises(ClientError, self.client.del_container)
+
+    def test_get_container_versioning(self):
+        key = 'x-container-policy-versioning'
+        cont = 'c0n7-417'
+        with patch.object(
+                PC,
+                'get_container_info',
+                return_value=container_info) as gci:
+            for container in (None, cont):
+                r = self.client.get_container_versioning(container=container)
+                self.assertEqual(r[key], container_info[key])
+                self.assertEqual(gci.mock_calls[-1], call())
+