From: salimfadhley Date: Thu, 18 Jul 2013 22:26:48 +0000 (+0100) Subject: fix for queue delete issue X-Git-Tag: v0.2.23~108 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6450c8617171001bd375b23d12c0c79dccf57f26;p=tools%2Fpython-jenkinsapi.git fix for queue delete issue --- diff --git a/jenkinsapi/queue.py b/jenkinsapi/queue.py index 20f4cf0..04b2596 100644 --- a/jenkinsapi/queue.py +++ b/jenkinsapi/queue.py @@ -33,6 +33,9 @@ class Queue(JenkinsBase): def keys(self): return [i[0] for i in self.iteritems()] + def values(self): + return [i[1] for i in self.iteritems()] + def __len__(self): return len(self._data['items']) @@ -53,14 +56,8 @@ class Queue(JenkinsBase): self.delete_item_by_id(queue_item.id) def delete_item_by_id(self, item_id): - deleteurl = urlparse.urljoin(self.baseurl, - 'cancelItem?id=%s' % item_id) - try: - self.post_data(deleteurl, '') - except urllib2.HTTPError: - # The request doesn't have a response, so it returns 404, - # it's the expected behaviour - pass + deleteurl = '%s/cancelItem?id=%s' % (self.baseurl, item_id) + self.get_jenkins_obj().requester.post_url(deleteurl) class QueueItem(object): diff --git a/jenkinsapi_tests/systests/test_queue.py b/jenkinsapi_tests/systests/test_queue.py index e325cc4..5e92664 100644 --- a/jenkinsapi_tests/systests/test_queue.py +++ b/jenkinsapi_tests/systests/test_queue.py @@ -36,6 +36,14 @@ class TestQueue(BaseSystemTest): reprString = repr(queue) self.assertIn(queue.baseurl, reprString) + for queueId, item in queue.iteritems(): + queue.delete_item(item) + + queue.poll() + + self.assertEquals(len(queue), 0) + + def test_start_and_stop_long_running_job(self): job_name = random_string() j = self.jenkins.create_job(job_name, LONG_RUNNING_JOB)