From d088f7a00c488f65b23252bdfdf0312d8be2e0e5 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Wed, 19 Nov 2014 15:23:59 -0500 Subject: [PATCH] add a test that ensures that wait_for_object is not called if object is not found Signed-off-by: Alfredo Deza --- radosgw_agent/tests/test_worker.py | 12 ++++++++++++ radosgw_agent/worker.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/radosgw_agent/tests/test_worker.py b/radosgw_agent/tests/test_worker.py index da5372d..76366b4 100644 --- a/radosgw_agent/tests/test_worker.py +++ b/radosgw_agent/tests/test_worker.py @@ -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 diff --git a/radosgw_agent/worker.py b/radosgw_agent/worker.py index 6c84776..bfdd9f6 100644 --- a/radosgw_agent/worker.py +++ b/radosgw_agent/worker.py @@ -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 -- 2.47.3