]> git-server-git.apps.pok.os.sepia.ceph.com Git - radosgw-agent.git/commitdiff
add a test that ensures that wait_for_object is not called if object is not found wip-10102 11/head
authorAlfredo Deza <alfredo.deza@inktank.com>
Wed, 19 Nov 2014 20:23:59 +0000 (15:23 -0500)
committerAlfredo Deza <alfredo.deza@inktank.com>
Wed, 19 Nov 2014 20:37:29 +0000 (15:37 -0500)
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
radosgw_agent/tests/test_worker.py
radosgw_agent/worker.py

index da5372dd1504a5aa76fa099b5947c44bda08abaa..76366b469a7a7969a43d2f183388912b29d104f3 100644 (file)
@@ -113,3 +113,15 @@ class TestSyncObject(object):
             w = worker.DataWorker(None, None, None, self.src, None, daemon_id=1)
             w.wait_for_object = lambda *a: None
             assert w.sync_object('mah-bucket', 'mah-object') is True
+
+    def test_fails_so_found_is_still_false(self):
+        self.client.sync_object_intra_region = Mock(side_effect=ValueError('severe error'))
+
+        with patch('radosgw_agent.worker.client', self.client):
+            w = worker.DataWorker(None, None, None, self.src, None, daemon_id=1)
+
+            # we intersect this dude so that we know it should not be called
+            # by making it raise an exception if it does
+            msg = 'should not have called wait_for_object'
+            w.wait_for_object = Mock(side_effect=AssertionError(msg))
+            assert w.sync_object('mah-bucket', 'mah-object') is True
index 6c84776fef65a52449987b9d5ab8506722a0ecb1..bfdd9f6844059a879a784ba0e8ba0f659edd0f34 100644 (file)
@@ -219,7 +219,7 @@ class DataWorker(Worker):
                 client.remove_op_state(self.dest_conn, self.daemon_id,
                                        local_op_id, bucket, obj)
         except Exception:
-            log.error('could not remove op state for daemon "%s" op_id %s',
+            log.exception('could not remove op state for daemon "%s" op_id %s',
                           self.daemon_id, local_op_id)
 
         return True