From 8e963dcd02f8bfee8c74a2ce167840b982c04f30 Mon Sep 17 00:00:00 2001 From: salimfadhley Date: Sat, 15 Jun 2013 23:44:16 +0100 Subject: [PATCH] initial coverage + fixes for creating nodes --- jenkinsapi/jenkins.py | 12 +++--------- jenkinsapi/jenkinsbase.py | 2 ++ jenkinsapi_tests/systests/test_nodes.py | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 jenkinsapi_tests/systests/test_nodes.py diff --git a/jenkinsapi/jenkins.py b/jenkinsapi/jenkins.py index 02ec79d..b06d406 100644 --- a/jenkinsapi/jenkins.py +++ b/jenkinsapi/jenkins.py @@ -164,7 +164,7 @@ class Jenkins(JenkinsBase): data='') self.poll() return self[jobname] - + def build_job(self, jobname, params={}): """ Invoke a build by job name @@ -226,7 +226,7 @@ class Jenkins(JenkinsBase): return "Jenkins server at %s" % self.baseurl def _get_views(self): - log.debug('_get_views: self._data.has_key[views] %s' % + log.debug('_get_views: self._data.has_key[views] %s' % self._data.has_key('views')) if not self._data.has_key("views"): pass @@ -440,12 +440,6 @@ class Jenkins(JenkinsBase): }) } url = self.get_node_url() + "doCreateItem?%s" % urllib.urlencode(params) + self.requester.get_and_confirm_status(url) - fn_urlopen = self.get_jenkins_obj().get_opener() - try: - fn_urlopen(url).read() - except urllib2.HTTPError, e: - log.debug("Error reading %s" % url) - log.exception(e) - raise return Node(nodename=name, baseurl=self.get_node_url(nodename=name), jenkins_obj=self) diff --git a/jenkinsapi/jenkinsbase.py b/jenkinsapi/jenkinsbase.py index de6cd81..96a2331 100644 --- a/jenkinsapi/jenkinsbase.py +++ b/jenkinsapi/jenkinsbase.py @@ -57,7 +57,9 @@ class JenkinsBase(object): def _poll(self): url = self.python_api_url(self.baseurl) + return self.get_data(url) + def get_data(self, url): requester = self.get_jenkins_obj().requester response = requester.get_url(url) try: diff --git a/jenkinsapi_tests/systests/test_nodes.py b/jenkinsapi_tests/systests/test_nodes.py new file mode 100644 index 0000000..7605127 --- /dev/null +++ b/jenkinsapi_tests/systests/test_nodes.py @@ -0,0 +1,21 @@ +''' +System tests for `jenkinsapi.jenkins` module. +''' +import time +import logging +import unittest +from jenkinsapi.jenkins import Jenkins +from jenkinsapi_tests.systests.base import BaseSystemTest + +log = logging.getLogger(__name__) + + +class TestNodes(BaseSystemTest): + def test_invoke_job_parameterized(self): + + J = Jenkins('http://localhost:8080') + J.create_node('test') + +if __name__ == '__main__': + logging.basicConfig() + unittest.main() -- 2.7.4