Added test_object_delete
authorStavros Sachtouris <saxtouri@admin.grnet.gr>
Wed, 25 Jul 2012 14:00:13 +0000 (17:00 +0300)
committerStavros Sachtouris <saxtouri@admin.grnet.gr>
Wed, 25 Jul 2012 14:00:13 +0000 (17:00 +0300)
kamaki/clients/pithos.py
kamaki/clients/tests.py

index 7eec919..80c67b7 100644 (file)
@@ -566,7 +566,7 @@ class PithosClient(StorageClient):
         path = path4url(self.account, self.container, object)
         path += '' if until is None else params4url(dict(until=until))
         success = kwargs.pop('success', 204)
-        self.delete(path, *args, success=success, **kwargs)
+        return self.delete(path, *args, success=success, **kwargs)
 
     def purge_container(self):
         self.container_delete(until=unicode(time()))
index 2932e69..f42c043 100644 (file)
@@ -699,7 +699,7 @@ class testPithos(unittest.TestCase):
         self.client.delete_object(obj+'2')
         self.client.container=''
 
-    def test_object_post(self):
+    def atest_object_post(self):
         self.client.container='testCo0'
         obj = 'obj'+unicode(self.now)
         """create a filesystem file"""
@@ -814,6 +814,30 @@ class testPithos(unittest.TestCase):
         os.remove(obj)
         self.client.container=''
 
+    def test_object_delete(self):
+        self.client.container='testCo0'
+        obj = 'obj'+unicode(self.now)
+        """create a file on container"""
+        r = self.client.object_put(obj, content_type='application/octet-stream',
+            data= 'H', metadata={'mkey1':'mval1', 'mkey2':'mval2'},
+            permitions={'read':['accX:groupA', 'u1', 'u2'], 'write':['u2', 'u3']})
+        self.client.reset_headers()
+
+        """Check with false until"""
+        r = self.client.object_delete(obj, until=1000000)
+        self.client.reset_headers()
+        r = self.client.object_get(obj, success=(200, 404))
+        self.assertEqual(r.status_code, 200)
+
+        """Check normal case"""
+        r = self.client.object_delete(obj)
+        self.client.reset_headers()
+        self.assertEqual(r.status_code, 204)
+        r = self.client.object_get(obj, success=(200, 404))
+        self.assertEqual(r.status_code, 404)
+
+        self.client.container = ''
+
 class testCyclades(unittest.TestCase):
     def setUp(self):
         pass
@@ -844,7 +868,8 @@ if __name__ == '__main__':
     #suiteFew.addTest(testPithos('test_object_put'))
     #suiteFew.addTest(testPithos('test_object_copy'))
     #suiteFew.addTest(testPithos('test_object_move'))
-    suiteFew.addTest(testPithos('test_object_post'))
+    #suiteFew.addTest(testPithos('test_object_post'))
+    suiteFew.addTest(testPithos('test_object_delete'))
 
     #kamaki/cyclades.py
     #suiteFew.addTest(testCyclades('test_list_servers'))