Fix many more bugs
authorSalim Fadhley <sal@stodge.org>
Sat, 2 Aug 2014 23:14:39 +0000 (00:14 +0100)
committerSalim Fadhley <sal@stodge.org>
Sat, 2 Aug 2014 23:14:39 +0000 (00:14 +0100)
jenkinsapi/jenkinsbase.py
jenkinsapi/queue.py
jenkinsapi_tests/systests/test_nodes.py

index 1aeccfb5a34d180c15ba641aec5d865346a74284..605bba867bbfbed5274f6d078520ec786b9c0b09 100644 (file)
@@ -59,11 +59,8 @@ class JenkinsBase(object):
 
     def _poll(self):
         url = self.python_api_url(self.baseurl)
-        try:
-            return self.get_data(url)
-        except Exception as e:
-            import pdb
-            pdb.set_trace()
+        return self.get_data(url)
+        
 
     def get_data(self, url, params=None):
         requester = self.get_jenkins_obj().requester
index 22d517864bfbfa9c294fcd69371b4253c511e7b9..523b4b77a7e943698fc1aacb5398b37b1d65b59b 100644 (file)
@@ -1,7 +1,7 @@
 """
 Queue module for jenkinsapi
 """
-
+from requests import HTTPError
 from jenkinsapi.jenkinsbase import JenkinsBase
 from jenkinsapi.custom_exceptions import UnknownQueueItem, NotBuiltYet
 import logging
@@ -117,14 +117,14 @@ class QueueItem(JenkinsBase):
                                self.__class__.__name__, str(self))
 
     def __str__(self):
-        return "%s Queue #%i" % (self._data['task']['name'], self._data['id'])
+        return "%s Queue #%i" % (self._data['name'], self._data['id'])
 
     def get_build(self):
         build_number = self.get_build_number()
         job_name = self.get_job_name()
         return self.jenkins[job_name][build_number]
 
-    def block_until_complete(self, delay=15):
+    def block_until_complete(self, delay=5):
         build = self.block_until_building(delay)
         return build.block_until_complete(delay=delay)
 
@@ -132,7 +132,7 @@ class QueueItem(JenkinsBase):
         while True:
             try:
                 return self.poll().get_build()
-            except NotBuiltYet:
+            except (NotBuiltYet, HTTPError):
                 time.sleep(delay)
                 continue
 
index 2d92268a043fa944a2aa96635eccfb5274d9ca85..4c021f2aceec9dd3fc7fe0d8d521102796ebe6e5 100644 (file)
@@ -16,15 +16,17 @@ log = logging.getLogger(__name__)
 class TestNodes(BaseSystemTest):
 
     def test_invoke_job_parameterized(self):
-        node_name = random_string()
-        self.jenkins.create_node(node_name)
-        self.assertTrue(self.jenkins.has_node(node_name))
-
-        N = self.jenkins.get_node(node_name)
-        self.assertEquals(N.baseurl, self.jenkins.get_node_url(node_name))
-
-        self.jenkins.delete_node(node_name)
-        self.assertFalse(self.jenkins.has_node(node_name))
+        node_name = "param_" + random_string()
+        try:
+            self.jenkins.create_node(node_name)
+            self.assertTrue(self.jenkins.has_node(node_name))
+    
+            N = self.jenkins.get_node(node_name)
+            self.assertEquals(N.baseurl, self.jenkins.get_node_url(node_name))
+        
+        finally:
+            self.jenkins.delete_node(node_name)
+            self.assertFalse(self.jenkins.has_node(node_name))
 
     def test_online_offline(self):
         """