pylint fixes for jenkinsapi_tests/
authorHugh Brown <hbrown@amplify.com>
Fri, 11 Oct 2013 03:35:33 +0000 (23:35 -0400)
committerHugh Brown <hbrown@amplify.com>
Fri, 11 Oct 2013 03:35:33 +0000 (23:35 -0400)
jenkinsapi_tests/systests/test_jenkins_artifacts.py
jenkinsapi_tests/unittests/test_build_scm_git.py
jenkinsapi_tests/unittests/test_jenkins.py
jenkinsapi_tests/unittests/test_job.py
jenkinsapi_tests/unittests/test_job_get_all_builds.py
jenkinsapi_tests/unittests/test_nodes.py
jenkinsapi_tests/unittests/test_plugins.py
jenkinsapi_tests/unittests/test_queue.py
jenkinsapi_tests/unittests/test_requester.py
jenkinsapi_tests/unittests/test_view.py
jenkinsapi_tests/unittests/test_views.py

index 2e5e6806786669b564a2d64f4787aa261d1dcddb..693f4f18f41d48abd88a5d6bacb94329f86734c8 100644 (file)
@@ -44,10 +44,7 @@ class TestPingerJob(BaseSystemTest):
 
             # Verify that we can hande binary artifacts
             binary_artifact.save_to_dir(tempDir)
-            readBackText = gzip.open(os.path.join(
-                tempDir,
-                binary_artifact.filename,
-                ), 'rb').read().strip()
+            readBackText = gzip.open(os.path.join(tempDir, binary_artifact.filename,), 'rb').read().strip()
             self.assertTrue(re.match(r'^PING \S+ \(127.0.0.1\)', readBackText))
             self.assertTrue(readBackText.endswith('ms'))
         finally:
index b7e108d97724deec24b5beeca714a76f2388af78..7a339fed532362d5e668159bac4740cfde9bbef9 100644 (file)
@@ -5,55 +5,86 @@ from jenkinsapi.build import Build
 
 class test_build(unittest.TestCase):
 
-    DATA = {'actions': [{'causes': [{'shortDescription': 'Started by an SCM change'}]},
-             {},
-             {'buildsByBranchName': {'origin/HEAD': {'buildNumber': 2,
-                                                     'buildResult': None,
-                                                     'revision': {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                  'branch': [{'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                              'name': 'origin/HEAD'},
-                                                                             {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                              'name': 'origin/master'}]}},
-                                     'origin/master': {'buildNumber': 2,
-                                                       'buildResult': None,
-                                                       'revision': {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                    'branch': [{'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                                'name': 'origin/HEAD'},
-                                                                               {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
-                                                                                'name': 'origin/master'}]}},
-                                     'origin/python_3_compatibility': {'buildNumber': 1,
-                                                                       'buildResult': None,
-                                                                       'revision': {'SHA1': 'c9d1c96bc926ff63a5209c51b3ed537e62ea50e6',
-                                                                                    'branch': [{'SHA1': 'c9d1c96bc926ff63a5209c51b3ed537e62ea50e6',
-                                                                                                'name': 'origin/python_3_compatibility'}]}},
-                                     'origin/unstable': {'buildNumber': 3,
-                                                         'buildResult': None,
-                                                         'revision': {'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
-                                                                      'branch': [{'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
-                                                                                  'name': 'origin/unstable'}]}}},
-              'lastBuiltRevision': {'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
-                                    'branch': [{'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
-                                                'name': 'origin/unstable'}]},
-              'remoteUrls': ['https://github.com/salimfadhley/jenkinsapi.git'],
-              'scmName': ''},
-             {},
-             {}],
- 'artifacts': [],
- 'building': False,
- 'builtOn': '',
- 'changeSet': {'items': [], 'kind': 'git'},
- 'culprits': [],
- 'description': None,
- 'duration': 1051,
- 'estimatedDuration': 2260,
- 'executor': None,
- 'fullDisplayName': 'git_yssrtigfds #3',
- 'id': '2013-06-30_01-54-35',
- 'keepLog': False,
- 'number': 3,
- 'result': 'SUCCESS',
- 'timestamp': 1372553675652,
- 'url': 'http://localhost:8080/job/git_yssrtigfds/3/'}
+    DATA = {
+        'actions': [
+            {
+                'causes': [{'shortDescription': 'Started by an SCM change'}]
+            },
+            {},
+            {
+                'buildsByBranchName': {
+                    'origin/HEAD': {
+                        'buildNumber': 2,
+                        'buildResult': None,
+                        'revision': {
+                            'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
+                            'branch': [
+                                {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2', 'name': 'origin/HEAD'},
+                                {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2', 'name': 'origin/master'}
+                            ]
+                        }
+                    },
+                    'origin/master': {
+                        'buildNumber': 2,
+                        'buildResult': None,
+                        'revision': {
+                            'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2',
+                            'branch': [
+                                {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2', 'name': 'origin/HEAD'},
+                                {'SHA1': 'd2a5d435fa2df3bff572bd06e43c86544749c5d2', 'name': 'origin/master'}
+                            ]
+                        }
+                    },
+                    'origin/python_3_compatibility': {
+                        'buildNumber': 1,
+                        'buildResult': None,
+                        'revision': {
+                            'SHA1': 'c9d1c96bc926ff63a5209c51b3ed537e62ea50e6',
+                            'branch': [
+                                {'SHA1': 'c9d1c96bc926ff63a5209c51b3ed537e62ea50e6', 'name': 'origin/python_3_compatibility'}
+                            ]
+                        }
+                    },
+                    'origin/unstable': {
+                        'buildNumber': 3,
+                        'buildResult': None,
+                        'revision': {
+                            'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
+                            'branch': [
+                                {'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702', 'name': 'origin/unstable'}
+                            ]
+                        }
+                    }
+                },
+                'lastBuiltRevision': {
+                    'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702',
+                    'branch': [
+                        {'SHA1': '7def9ed6e92580f37d00e4980c36c4d36e68f702', 'name': 'origin/unstable'}
+                    ]
+                },
+                'remoteUrls': ['https://github.com/salimfadhley/jenkinsapi.git'],
+                'scmName': ''
+            },
+            {},
+            {}
+        ],
+        'artifacts': [],
+        'building': False,
+        'builtOn': '',
+        'changeSet': {'items': [], 'kind': 'git'},
+        'culprits': [],
+        'description': None,
+        'duration': 1051,
+        'estimatedDuration': 2260,
+        'executor': None,
+        'fullDisplayName': 'git_yssrtigfds #3',
+        'id': '2013-06-30_01-54-35',
+        'keepLog': False,
+        'number': 3,
+        'result': 'SUCCESS',
+        'timestamp': 1372553675652,
+        'url': 'http://localhost:8080/job/git_yssrtigfds/3/'
+    }
 
     @mock.patch.object(Build, '_poll')
     def setUp(self, _poll):
index 32821824d646432f5495f5a6356acac9a98c1799..6bf70bbffe64915252b330742bcd651d5f735f1a 100644 (file)
@@ -80,94 +80,86 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_get_jobs(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
         for idx, (job_name, job) in enumerate(J.get_jobs()):
-            self.assertEquals(
-                    job_name, _poll.return_value['jobs'][idx]['name'])
+            self.assertEquals(job_name, _poll.return_value['jobs'][idx]['name'])
             self.assertTrue(isinstance(job, Job))
-            self.assertEquals(
-                    job.name, _poll.return_value['jobs'][idx]['name'])
-            self.assertEquals(
-                    job.baseurl, _poll.return_value['jobs'][idx]['url'])
+            self.assertEquals(job.name, _poll.return_value['jobs'][idx]['name'])
+            self.assertEquals(job.baseurl, _poll.return_value['jobs'][idx]['url'])
 
     @mock.patch.object(JenkinsBase, '_poll')
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_get_jobs_info(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
         for idx, (url, job_name) in enumerate(J.get_jobs_info()):
-            self.assertEquals(
-                    job_name, _poll.return_value['jobs'][idx]['name'])
-            self.assertEquals(
-                    url, _poll.return_value['jobs'][idx]['url'])
+            self.assertEquals(job_name, _poll.return_value['jobs'][idx]['name'])
+            self.assertEquals(url, _poll.return_value['jobs'][idx]['url'])
 
     @mock.patch.object(JenkinsBase, '_poll')
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_get_jobs_list(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
         for idx, job_name in enumerate(J.get_jobs_list()):
-            self.assertEquals(
-                    job_name, _poll.return_value['jobs'][idx]['name'])
+            self.assertEquals(job_name, _poll.return_value['jobs'][idx]['name'])
 
     @mock.patch.object(JenkinsBase, '_poll')
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_get_job(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
         job = J.get_job('job_one')
         self.assertTrue(isinstance(job, Job))
-        self.assertEquals(
-                job.name, _poll.return_value['jobs'][0]['name'])
-        self.assertEquals(
-                job.baseurl, _poll.return_value['jobs'][0]['url'])
+        self.assertEquals(job.name, _poll.return_value['jobs'][0]['name'])
+        self.assertEquals(job.baseurl, _poll.return_value['jobs'][0]['url'])
 
     @mock.patch.object(JenkinsBase, '_poll')
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_has_job(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
@@ -179,12 +171,12 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_has_no_job(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
@@ -196,12 +188,12 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Job, '_poll')
     def test_create_dup_job(self, _base_poll, _poll, _job_poll):
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         _job_poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
@@ -219,23 +211,22 @@ class TestJenkins(unittest.TestCase):
 
     # Define what we will return
     create_job_returns = [
-            # This will be returned when job is not yet created
-                {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        ]},
-            # This to simulate that the job has been created
-              {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_two',
-                         'url': 'http://localhost:8080/job_two'},
-                        {'name': 'job_new',
-                         'url': 'http://localhost:8080/job_new'},
-                        ]}
-              ]
+        # This will be returned when job is not yet created
+        {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8081/job_one'},
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+            ]
+        },
+        # This to simulate that the job has been created
+        {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_two', 'url': 'http://localhost:8080/job_two'},
+                {'name': 'job_new', 'url': 'http://localhost:8080/job_new'},
+            ]
+        }
+    ]
 
     # Mock function
     def second_call_poll():
@@ -248,8 +239,7 @@ class TestJenkins(unittest.TestCase):
         _job_poll.return_value = {}
 
         mock_requester = Requester(username='foouser', password='foopassword')
-        mock_requester.post_xml_and_confirm_status = mock.MagicMock(
-                return_value='')
+        mock_requester.post_xml_and_confirm_status = mock.MagicMock(return_value='')
 
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword',
@@ -265,17 +255,16 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Job, '_poll')
     def test_create_new_job_fail(self, _base_poll, _poll, _job_poll):
         _job_poll.return_value = {}
-        _poll.return_value = {'jobs': [
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        {'name': 'job_one',
-                         'url': 'http://localhost:8080/job_one'},
-                        ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
 
         mock_requester = Requester(username='foouser', password='foopassword')
-        mock_requester.post_xml_and_confirm_status = mock.MagicMock(
-                return_value='')
+        mock_requester.post_xml_and_confirm_status = mock.MagicMock(return_value='')
 
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword',
@@ -291,17 +280,16 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Job, '_poll')
     def test_get_jenkins_obj_from_url(self, _base_poll, _poll, _job_poll):
         _job_poll.return_value = {}
-        _poll.return_value = {'jobs': [
-            {'name': 'job_one',
-             'url': 'http://localhost:8080/job_one'},
-            {'name': 'job_one',
-             'url': 'http://localhost:8080/job_one'},
-            ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
 
         mock_requester = Requester(username='foouser', password='foopassword')
-        mock_requester.post_xml_and_confirm_status = mock.MagicMock(
-            return_value='')
+        mock_requester.post_xml_and_confirm_status = mock.MagicMock(return_value='')
 
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword',
@@ -318,17 +306,16 @@ class TestJenkins(unittest.TestCase):
     @mock.patch.object(Job, '_poll')
     def test_get_jenkins_obj(self, _base_poll, _poll, _job_poll):
         _job_poll.return_value = {}
-        _poll.return_value = {'jobs': [
-            {'name': 'job_one',
-             'url': 'http://localhost:8080/job_one'},
-            {'name': 'job_one',
-             'url': 'http://localhost:8080/job_one'},
-            ]}
+        _poll.return_value = {
+            'jobs': [
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+                {'name': 'job_one', 'url': 'http://localhost:8080/job_one'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
 
         mock_requester = Requester(username='foouser', password='foopassword')
-        mock_requester.post_xml_and_confirm_status = mock.MagicMock(
-            return_value='')
+        mock_requester.post_xml_and_confirm_status = mock.MagicMock(return_value='')
 
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword',
@@ -345,29 +332,32 @@ class TestJenkinsURLs(unittest.TestCase):
         _poll.return_value = {}
         J = Jenkins('http://localhost:8080',
                     username='foouser', password='foopassword')
-        self.assertEquals(
-            J.get_create_url(), 'http://localhost:8080/createItem')
+        self.assertEquals(J.get_create_url(), 'http://localhost:8080/createItem')
 
     @mock.patch.object(Jenkins, '_poll')
     def testWithSlash(self, _poll):
         _poll.return_value = {}
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
-        self.assertEquals(
-            J.get_create_url(), 'http://localhost:8080/createItem')
+        self.assertEquals(J.get_create_url(), 'http://localhost:8080/createItem')
 
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Plugins, '_poll')
     def test_has_plugin(self, _p_poll, _poll):
         _poll.return_value = {}
-        _p_poll.return_value = {'plugins': [
-            {'deleted': False, 'hasUpdate': True, 'downgradable': False,
-            'dependencies': [{}, {}, {}, {}],
-            'longName': 'Jenkins Subversion Plug-in', 'active': True,
-            'shortName': 'subversion', 'backupVersion': None,
-            'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
-            'enabled': True, 'pinned': False, 'version': '1.45',
-            'supportsDynamicLoad': 'MAYBE', 'bundled': True}]}
+        _p_poll.return_value = {
+            'plugins': [
+                {
+                    'deleted': False, 'hasUpdate': True, 'downgradable': False,
+                    'dependencies': [{}, {}, {}, {}],
+                    'longName': 'Jenkins Subversion Plug-in', 'active': True,
+                    'shortName': 'subversion', 'backupVersion': None,
+                    'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
+                    'enabled': True, 'pinned': False, 'version': '1.45',
+                    'supportsDynamicLoad': 'MAYBE', 'bundled': True
+                }
+            ]
+        }
 
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword')
index da8cec0346abcddd39621bf5c39cbd9894145a87..5b9ca87dde5ee5e863a9d9816e49c2900b2099c0 100644 (file)
@@ -8,36 +8,41 @@ from jenkinsapi.custom_exceptions import NoBuildData
 
 
 class TestJob(unittest.TestCase):
-    JOB_DATA = {"actions": [],
-            "description": "test job",
-            "displayName": "foo",
-            "displayNameOrNull": None,
-            "name": "foo",
-            "url": "http://halob:8080/job/foo/",
-            "buildable": True,
-            "builds": [{"number": 3, "url": "http://halob:8080/job/foo/3/"},
-           {"number": 2, "url": "http://halob:8080/job/foo/2/"},
-                {"number": 1, "url": "http://halob:8080/job/foo/1/"}],
-            "color": "blue",
-            "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
-            "healthReport": [{"description": "Build stability: No recent builds failed.",
-                             "iconUrl": "health-80plus.png", "score": 100}],
-            "inQueue": False,
-            "keepDependencies": False,
-            "lastBuild": {"number": 4, "url": "http://halob:8080/job/foo/4/"},  # build running
-            "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastFailedBuild": None,
-            "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastUnstableBuild": None,
-            "lastUnsuccessfulBuild": None,
-            "nextBuildNumber": 4,
-            "property": [],
-            "queueItem": None,
-            "concurrentBuild": False,
-            "downstreamProjects": [],
-            "scm": {},
-            "upstreamProjects": []}
+    JOB_DATA = {
+        "actions": [],
+        "description": "test job",
+        "displayName": "foo",
+        "displayNameOrNull": None,
+        "name": "foo",
+        "url": "http://halob:8080/job/foo/",
+        "buildable": True,
+        "builds": [
+            {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+            {"number": 2, "url": "http://halob:8080/job/foo/2/"},
+            {"number": 1, "url": "http://halob:8080/job/foo/1/"}
+        ],
+        "color": "blue",
+        "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
+        "healthReport": [
+            {"description": "Build stability: No recent builds failed.", "iconUrl": "health-80plus.png", "score": 100}
+        ],
+        "inQueue": False,
+        "keepDependencies": False,
+        "lastBuild": {"number": 4, "url": "http://halob:8080/job/foo/4/"},  # build running
+        "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastFailedBuild": None,
+        "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastUnstableBuild": None,
+        "lastUnsuccessfulBuild": None,
+        "nextBuildNumber": 4,
+        "property": [],
+        "queueItem": None,
+        "concurrentBuild": False,
+        "downstreamProjects": [],
+        "scm": {},
+        "upstreamProjects": []
+    }
 
     URL_DATA = {'http://halob:8080/job/foo/%s' % config.JENKINS_API: JOB_DATA}
 
index 68c2babaf20b433c1bc3780ca12f2ae66f1ceb51..bae75036114c136e9ac37af63dc3c853246d7956 100644 (file)
@@ -4,48 +4,53 @@ import unittest
 from jenkinsapi import config
 from jenkinsapi.job import Job
 from jenkinsapi.jenkinsbase import JenkinsBase
-from jenkinsapi.custom_exceptions import NoBuildData
 
 
 class TestJobGetAllBuilds(unittest.TestCase):
     # this job has builds
-    JOB1_DATA = {"actions": [],
-            "description": "test job",
-            "displayName": "foo",
-            "displayNameOrNull": None,
-            "name": "foo",
-            "url": "http://halob:8080/job/foo/",
-            "buildable": True,
-            # do as if build 1 & 2 are not returned by jenkins
-            "builds": [{"number": 3, "url": "http://halob:8080/job/foo/3/"}],
-            "color": "blue",
-            "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
-            "healthReport": [{"description": "Build stability: No recent builds failed.",
-                             "iconUrl": "health-80plus.png", "score": 100}],
-            "inQueue": False,
-            "keepDependencies": False,
-            "lastBuild": {"number": 4, "url": "http://halob:8080/job/foo/4/"},  # build running
-            "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastFailedBuild": None,
-            "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastUnstableBuild": None,
-            "lastUnsuccessfulBuild": None,
-            "nextBuildNumber": 4,
-            "property": [],
-            "queueItem": None,
-            "concurrentBuild": False,
-            "downstreamProjects": [],
-            "scm": {},
-            "upstreamProjects": []}
-    JOB1_ALL_BUILDS_DATA = {"allBuilds": [
-        {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-        {"number": 2, "url": "http://halob:8080/job/foo/2/"},
-        {"number": 1, "url": "http://halob:8080/job/foo/1/"}],
+    JOB1_DATA = {
+        "actions": [],
+        "description": "test job",
+        "displayName": "foo",
+        "displayNameOrNull": None,
+        "name": "foo",
+        "url": "http://halob:8080/job/foo/",
+        "buildable": True,
+        # do as if build 1 & 2 are not returned by jenkins
+        "builds": [{"number": 3, "url": "http://halob:8080/job/foo/3/"}],
+        "color": "blue",
+        "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
+        "healthReport": [
+            {"description": "Build stability: No recent builds failed.", "iconUrl": "health-80plus.png", "score": 100}
+        ],
+        "inQueue": False,
+        "keepDependencies": False,
+        "lastBuild": {"number": 4, "url": "http://halob:8080/job/foo/4/"},  # build running
+        "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastFailedBuild": None,
+        "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastUnstableBuild": None,
+        "lastUnsuccessfulBuild": None,
+        "nextBuildNumber": 4,
+        "property": [],
+        "queueItem": None,
+        "concurrentBuild": False,
+        "downstreamProjects": [],
+        "scm": {},
+        "upstreamProjects": []
+    }
+    JOB1_ALL_BUILDS_DATA = {
+        "allBuilds": [
+            {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+            {"number": 2, "url": "http://halob:8080/job/foo/2/"},
+            {"number": 1, "url": "http://halob:8080/job/foo/1/"}
+        ],
     }
     JOB1_API_URL = 'http://halob:8080/job/foo/%s' % config.JENKINS_API
 
-    JOB2_DATA = {'actions': [],
+    JOB2_DATA = {
+        'actions': [],
         'buildable': True,
         'builds': [],
         'color': 'notbuilt',
@@ -71,41 +76,47 @@ class TestJobGetAllBuilds(unittest.TestCase):
         'queueItem': None,
         'scm': {},
         'upstreamProjects': [],
-        'url': 'http://halob:8080/job/look_ma_no_builds/'}
+        'url': 'http://halob:8080/job/look_ma_no_builds/'
+    }
     JOB2_API_URL = 'http://halob:8080/job/look_ma_no_builds/%s' % config.JENKINS_API
 
     # Full list available immediatly
-    JOB3_DATA = {"actions": [],
-            "description": "test job",
-            "displayName": "fullfoo",
-            "displayNameOrNull": None,
-            "name": "fullfoo",
-            "url": "http://halob:8080/job/fullfoo/",
-            "buildable": True,
-            # all builds have been returned by Jenkins
-            "builds": [{"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
-                    {"number": 2, "url": "http://halob:8080/job/fullfoo/2/"},
-                    {"number": 1, "url": "http://halob:8080/job/fullfoo/1/"}],
-            "color": "blue",
-            "firstBuild": {"number": 1, "url": "http://halob:8080/job/fullfoo/1/"},
-            "healthReport": [{"description": "Build stability: No recent builds failed.",
-                             "iconUrl": "health-80plus.png", "score": 100}],
-            "inQueue": False,
-            "keepDependencies": False,
-            "lastBuild": {"number": 4, "url": "http://halob:8080/job/fullfoo/4/"},  # build running
-            "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
-            "lastFailedBuild": None,
-            "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
-            "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
-            "lastUnstableBuild": None,
-            "lastUnsuccessfulBuild": None,
-            "nextBuildNumber": 4,
-            "property": [],
-            "queueItem": None,
-            "concurrentBuild": False,
-            "downstreamProjects": [],
-            "scm": {},
-            "upstreamProjects": []}
+    JOB3_DATA = {
+        "actions": [],
+        "description": "test job",
+        "displayName": "fullfoo",
+        "displayNameOrNull": None,
+        "name": "fullfoo",
+        "url": "http://halob:8080/job/fullfoo/",
+        "buildable": True,
+        # all builds have been returned by Jenkins
+        "builds": [
+            {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
+            {"number": 2, "url": "http://halob:8080/job/fullfoo/2/"},
+            {"number": 1, "url": "http://halob:8080/job/fullfoo/1/"}
+        ],
+        "color": "blue",
+        "firstBuild": {"number": 1, "url": "http://halob:8080/job/fullfoo/1/"},
+        "healthReport": [
+            {"description": "Build stability: No recent builds failed.", "iconUrl": "health-80plus.png", "score": 100}
+        ],
+        "inQueue": False,
+        "keepDependencies": False,
+        "lastBuild": {"number": 4, "url": "http://halob:8080/job/fullfoo/4/"},  # build running
+        "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
+        "lastFailedBuild": None,
+        "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
+        "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
+        "lastUnstableBuild": None,
+        "lastUnsuccessfulBuild": None,
+        "nextBuildNumber": 4,
+        "property": [],
+        "queueItem": None,
+        "concurrentBuild": False,
+        "downstreamProjects": [],
+        "scm": {},
+        "upstreamProjects": []
+    }
     JOB3_ALL_BUILDS_DATA = {"allBuilds": [
         {"number": 3, "url": "http://halob:8080/job/fullfoo/3/"},
         {"number": 2, "url": "http://halob:8080/job/fullfoo/2/"},
@@ -114,12 +125,12 @@ class TestJobGetAllBuilds(unittest.TestCase):
     JOB3_API_URL = 'http://halob:8080/job/fullfoo/%s' % config.JENKINS_API
 
     URL_DATA = {
-            JOB1_API_URL: JOB1_DATA,
-            (JOB1_API_URL, str({'tree': 'allBuilds[number,url]'})): JOB1_ALL_BUILDS_DATA,
-            JOB2_API_URL: JOB2_DATA,
-            JOB3_API_URL: JOB3_DATA,
-            # this one below should never be used
-            (JOB3_API_URL, str({'tree': 'allBuilds[number,url]'})): JOB3_ALL_BUILDS_DATA,
+        JOB1_API_URL: JOB1_DATA,
+        (JOB1_API_URL, str({'tree': 'allBuilds[number,url]'})): JOB1_ALL_BUILDS_DATA,
+        JOB2_API_URL: JOB2_DATA,
+        JOB3_API_URL: JOB3_DATA,
+        # this one below should never be used
+        (JOB3_API_URL, str({'tree': 'allBuilds[number,url]'})): JOB3_ALL_BUILDS_DATA,
     }
 
     def fakeGetData(self, url, params=None):
index 9e4eae227e8c098c3cc7b7372f2f20779f06e0b7..7a13df520c9d301ca9ab056188cc076615cb787c 100644 (file)
@@ -1,6 +1,5 @@
 import mock
 import unittest
-import datetime
 
 from jenkinsapi.jenkins import Jenkins
 from jenkinsapi.nodes import Nodes
@@ -9,143 +8,188 @@ from jenkinsapi.node import Node
 
 class TestNode(unittest.TestCase):
 
-    DATA0 = {'assignedLabels': [{}],
-             'description': None,
-             'jobs': [],
-             'mode': 'NORMAL',
-             'nodeDescription': 'the master Jenkins node',
-             'nodeName': '',
-             'numExecutors': 2,
-             'overallLoad': {},
-             'primaryView': {'name': 'All', 'url': 'http://halob:8080/'},
-             'quietingDown': False,
-             'slaveAgentPort': 0,
-             'unlabeledLoad': {},
-             'useCrumbs': False,
-             'useSecurity': False,
-             'views': [{'name': 'All', 'url': 'http://halob:8080/'},
-                       {'name': 'FodFanFo', 'url': 'http://halob:8080/view/FodFanFo/'}]}
+    DATA0 = {
+        'assignedLabels': [{}],
+        'description': None,
+        'jobs': [],
+        'mode': 'NORMAL',
+        'nodeDescription': 'the master Jenkins node',
+        'nodeName': '',
+        'numExecutors': 2,
+        'overallLoad': {},
+        'primaryView': {'name': 'All', 'url': 'http://halob:8080/'},
+        'quietingDown': False,
+        'slaveAgentPort': 0,
+        'unlabeledLoad': {},
+        'useCrumbs': False,
+        'useSecurity': False,
+        'views': [
+            {'name': 'All', 'url': 'http://halob:8080/'},
+            {'name': 'FodFanFo', 'url': 'http://halob:8080/view/FodFanFo/'}
+        ]
+    }
 
-    DATA1 = {'busyExecutors': 0,
-             'computer': [{'actions': [],
-                          'displayName': 'master',
-                          'executors': [{}, {}],
-                          'icon': 'computer.png',
-                          'idle': True,
-                          'jnlpAgent': False,
-                          'launchSupported': True,
-                          'loadStatistics': {},
-                          'manualLaunchAllowed': True,
-                          'monitorData': {'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
-                                          'hudson.node_monitors.ClockMonitor': {'diff': 0},
-                                          'hudson.node_monitors.DiskSpaceMonitor': {'path': '/var/lib/jenkins',
-                                                                                    'size': 671924924416},
-                                          'hudson.node_monitors.ResponseTimeMonitor': {'average': 0},
-                                          'hudson.node_monitors.SwapSpaceMonitor': {'availablePhysicalMemory': 3174686720,
-                                                                                    'availableSwapSpace': 17163087872,
-                                                                                    'totalPhysicalMemory': 16810180608,
-                                                                                    'totalSwapSpace': 17163087872},
-                                          'hudson.node_monitors.TemporarySpaceMonitor': {'path': '/tmp',
-                                                                                         'size': 671924924416}},
-                          'numExecutors': 2,
-                          'offline': False,
-                          'offlineCause': None,
-                          'oneOffExecutors': [],
-                          'temporarilyOffline': False},
-           {'actions': [],
-               'displayName': 'bobnit',
-               'executors': [{}],
-               'icon': 'computer-x.png',
-               'idle': True,
-               'jnlpAgent': False,
-               'launchSupported': True,
-               'loadStatistics': {},
-               'manualLaunchAllowed': True,
-               'monitorData': {'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
-                               'hudson.node_monitors.ClockMonitor': {'diff': 4261},
-                               'hudson.node_monitors.DiskSpaceMonitor': {'path': '/home/sal/jenkins',
-                                                                         'size': 169784860672},
-                               'hudson.node_monitors.ResponseTimeMonitor': {'average': 29},
-                               'hudson.node_monitors.SwapSpaceMonitor': {'availablePhysicalMemory': 4570710016,
-                                                                         'availableSwapSpace': 12195983360,
-                                                                         'totalPhysicalMemory': 8374497280,
-                                                                         'totalSwapSpace': 12195983360},
-                               'hudson.node_monitors.TemporarySpaceMonitor': {'path': '/tmp',
-                                                                              'size': 249737277440}},
-               'numExecutors': 1,
-               'offline': True,
-               'offlineCause': {},
-               'oneOffExecutors': [],
-               'temporarilyOffline': False},
-                {'actions': [],
-                 'displayName': 'halob',
-                 'executors': [{}],
-                 'icon': 'computer-x.png',
-                 'idle': True,
-                 'jnlpAgent': True,
-                 'launchSupported': False,
-                 'loadStatistics': {},
-                 'manualLaunchAllowed': True,
-                 'monitorData': {'hudson.node_monitors.ArchitectureMonitor': None,
-                                 'hudson.node_monitors.ClockMonitor': None,
-                                 'hudson.node_monitors.DiskSpaceMonitor': None,
-                                 'hudson.node_monitors.ResponseTimeMonitor': None,
-                                 'hudson.node_monitors.SwapSpaceMonitor': None,
-                                 'hudson.node_monitors.TemporarySpaceMonitor': None},
-                 'numExecutors': 1,
-                 'offline': True,
-                 'offlineCause': None,
-                 'oneOffExecutors': [],
-                 'temporarilyOffline': False}],
-            'displayName': 'nodes',
-            'totalExecutors': 2}
+    DATA1 = {
+        'busyExecutors': 0,
+        'computer': [
+            {
+                'actions': [],
+                'displayName': 'master',
+                'executors': [{}, {}],
+                'icon': 'computer.png',
+                'idle': True,
+                'jnlpAgent': False,
+                'launchSupported': True,
+                'loadStatistics': {},
+                'manualLaunchAllowed': True,
+                'monitorData': {
+                    'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
+                    'hudson.node_monitors.ClockMonitor': {'diff': 0},
+                    'hudson.node_monitors.DiskSpaceMonitor': {
+                        'path': '/var/lib/jenkins',
+                        'size': 671924924416
+                    },
+                    'hudson.node_monitors.ResponseTimeMonitor': {'average': 0},
+                    'hudson.node_monitors.SwapSpaceMonitor': {
+                        'availablePhysicalMemory': 3174686720,
+                        'availableSwapSpace': 17163087872,
+                        'totalPhysicalMemory': 16810180608,
+                        'totalSwapSpace': 17163087872
+                    },
+                    'hudson.node_monitors.TemporarySpaceMonitor': {
+                        'path': '/tmp',
+                        'size': 671924924416
+                    }
+                },
+                'numExecutors': 2,
+                'offline': False,
+                'offlineCause': None,
+                'oneOffExecutors': [],
+                'temporarilyOffline': False
+            },
+            {
+                'actions': [],
+                'displayName': 'bobnit',
+                'executors': [{}],
+                'icon': 'computer-x.png',
+                'idle': True,
+                'jnlpAgent': False,
+                'launchSupported': True,
+                'loadStatistics': {},
+                'manualLaunchAllowed': True,
+                'monitorData': {
+                    'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
+                    'hudson.node_monitors.ClockMonitor': {'diff': 4261},
+                    'hudson.node_monitors.DiskSpaceMonitor': {
+                        'path': '/home/sal/jenkins',
+                        'size': 169784860672
+                    },
+                    'hudson.node_monitors.ResponseTimeMonitor': {'average': 29},
+                    'hudson.node_monitors.SwapSpaceMonitor': {
+                        'availablePhysicalMemory': 4570710016,
+                        'availableSwapSpace': 12195983360,
+                        'totalPhysicalMemory': 8374497280,
+                        'totalSwapSpace': 12195983360
+                    },
+                    'hudson.node_monitors.TemporarySpaceMonitor': {
+                        'path': '/tmp',
+                        'size': 249737277440
+                    }
+                },
+                'numExecutors': 1,
+                'offline': True,
+                'offlineCause': {},
+                'oneOffExecutors': [],
+                'temporarilyOffline': False
+            },
+            {
+                'actions': [],
+                'displayName': 'halob',
+                'executors': [{}],
+                'icon': 'computer-x.png',
+                'idle': True,
+                'jnlpAgent': True,
+                'launchSupported': False,
+                'loadStatistics': {},
+                'manualLaunchAllowed': True,
+                'monitorData': {
+                    'hudson.node_monitors.ArchitectureMonitor': None,
+                    'hudson.node_monitors.ClockMonitor': None,
+                    'hudson.node_monitors.DiskSpaceMonitor': None,
+                    'hudson.node_monitors.ResponseTimeMonitor': None,
+                    'hudson.node_monitors.SwapSpaceMonitor': None,
+                    'hudson.node_monitors.TemporarySpaceMonitor': None
+                },
+                'numExecutors': 1,
+                'offline': True,
+                'offlineCause': None,
+                'oneOffExecutors': [],
+                'temporarilyOffline': False
+            }
+        ],
+        'displayName': 'nodes',
+        'totalExecutors': 2
+    }
 
-    DATA2 = {'actions': [],
-             'displayName': 'master',
-             'executors': [{}, {}],
-             'icon': 'computer.png',
-             'idle': True,
-             'jnlpAgent': False,
-             'launchSupported': True,
-             'loadStatistics': {},
-             'manualLaunchAllowed': True,
-             'monitorData': {'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
-                             'hudson.node_monitors.ClockMonitor': {'diff': 0},
-                             'hudson.node_monitors.DiskSpaceMonitor': {'path': '/var/lib/jenkins',
-                                                                       'size': 671942561792},
-                             'hudson.node_monitors.ResponseTimeMonitor': {'average': 0},
-                             'hudson.node_monitors.SwapSpaceMonitor': {'availablePhysicalMemory': 2989916160,
-                                                                       'availableSwapSpace': 17163087872,
-                                                                       'totalPhysicalMemory': 16810180608,
-                                                                       'totalSwapSpace': 17163087872},
-                             'hudson.node_monitors.TemporarySpaceMonitor': {'path': '/tmp',
-                                                                            'size': 671942561792}},
-             'numExecutors': 2,
-             'offline': False,
-             'offlineCause': None,
-             'oneOffExecutors': [],
-             'temporarilyOffline': False}
+    DATA2 = {
+        'actions': [],
+        'displayName': 'master',
+        'executors': [{}, {}],
+        'icon': 'computer.png',
+        'idle': True,
+        'jnlpAgent': False,
+        'launchSupported': True,
+        'loadStatistics': {},
+        'manualLaunchAllowed': True,
+        'monitorData': {
+            'hudson.node_monitors.ArchitectureMonitor': 'Linux (amd64)',
+            'hudson.node_monitors.ClockMonitor': {'diff': 0},
+            'hudson.node_monitors.DiskSpaceMonitor': {
+                'path': '/var/lib/jenkins',
+                'size': 671942561792
+            },
+            'hudson.node_monitors.ResponseTimeMonitor': {'average': 0},
+            'hudson.node_monitors.SwapSpaceMonitor': {
+                'availablePhysicalMemory': 2989916160,
+                'availableSwapSpace': 17163087872,
+                'totalPhysicalMemory': 16810180608,
+                'totalSwapSpace': 17163087872
+            },
+            'hudson.node_monitors.TemporarySpaceMonitor': {
+                'path': '/tmp',
+                'size': 671942561792
+            }
+        },
+        'numExecutors': 2,
+        'offline': False,
+        'offlineCause': None,
+        'oneOffExecutors': [],
+        'temporarilyOffline': False
+    }
 
-    DATA3 = {'actions': [],
-             'displayName': 'halob',
-             'executors': [{}],
-             'icon': 'computer-x.png',
-             'idle': True,
-             'jnlpAgent': True,
-             'launchSupported': False,
-             'loadStatistics': {},
-             'manualLaunchAllowed': True,
-             'monitorData': {'hudson.node_monitors.ArchitectureMonitor': None,
-                             'hudson.node_monitors.ClockMonitor': None,
-                             'hudson.node_monitors.DiskSpaceMonitor': None,
-                             'hudson.node_monitors.ResponseTimeMonitor': None,
-                             'hudson.node_monitors.SwapSpaceMonitor': None,
-                             'hudson.node_monitors.TemporarySpaceMonitor': None},
-             'numExecutors': 1,
-             'offline': True,
-             'offlineCause': None,
-             'oneOffExecutors': [],
-             'temporarilyOffline': False}
+    DATA3 = {
+        'actions': [],
+        'displayName': 'halob',
+        'executors': [{}],
+        'icon': 'computer-x.png',
+        'idle': True,
+        'jnlpAgent': True,
+        'launchSupported': False,
+        'loadStatistics': {},
+        'manualLaunchAllowed': True,
+        'monitorData': {
+            'hudson.node_monitors.ArchitectureMonitor': None,
+            'hudson.node_monitors.ClockMonitor': None,
+            'hudson.node_monitors.DiskSpaceMonitor': None,
+            'hudson.node_monitors.ResponseTimeMonitor': None,
+            'hudson.node_monitors.SwapSpaceMonitor': None,
+            'hudson.node_monitors.TemporarySpaceMonitor': None},
+        'numExecutors': 1,
+        'offline': True,
+        'offlineCause': None,
+        'oneOffExecutors': [],
+        'temporarilyOffline': False
+    }
 
     @mock.patch.object(Jenkins, '_poll')
     @mock.patch.object(Nodes, '_poll')
index 3194be0c9f7c35c0a5db9bf4116438997b254c76..62b0e12bd5830174027a6ddaa68293db3c1aba17 100644 (file)
@@ -7,21 +7,42 @@ from jenkinsapi.plugin import Plugin
 
 
 class TestPlugins(unittest.TestCase):
-    DATA = {'plugins': [
-            {'deleted': False, 'hasUpdate': True, 'downgradable': False,
-            'dependencies': [{}, {}, {}, {}],
-            'longName': 'Jenkins Subversion Plug-in', 'active': True,
-            'shortName': 'subversion', 'backupVersion': None,
-            'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
-            'enabled': True, 'pinned': False, 'version': '1.45',
-            'supportsDynamicLoad': 'MAYBE', 'bundled': True},
-            {'deleted': False, 'hasUpdate': True, 'downgradable': False,
-            'dependencies': [{}, {}], 'longName': 'Maven Integration plugin',
-            'active': True, 'shortName': 'maven-plugin', 'backupVersion': None,
-            'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin',
-            'enabled': True, 'pinned': False, 'version': '1.521',
-            'supportsDynamicLoad': 'MAYBE', 'bundled': True}
-        ]}
+    DATA = {
+        'plugins': [
+            {
+                'deleted': False,
+                'hasUpdate': True,
+                'downgradable': False,
+                'dependencies': [{}, {}, {}, {}],
+                'longName': 'Jenkins Subversion Plug-in',
+                'active': True,
+                'shortName': 'subversion',
+                'backupVersion': None,
+                'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
+                'enabled': True,
+                'pinned': False,
+                'version': '1.45',
+                'supportsDynamicLoad': 'MAYBE',
+                'bundled': True
+            },
+            {
+                'deleted': False,
+                'hasUpdate': True,
+                'downgradable': False,
+                'dependencies': [{}, {}],
+                'longName': 'Maven Integration plugin',
+                'active': True,
+                'shortName': 'maven-plugin',
+                'backupVersion': None,
+                'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin',
+                'enabled': True,
+                'pinned': False,
+                'version': '1.521',
+                'supportsDynamicLoad': 'MAYBE',
+                'bundled': True
+            }
+        ]
+    }
 
     @mock.patch.object(Jenkins, '_poll')
     def setUp(self, _poll_jenkins):
@@ -69,13 +90,24 @@ class TestPlugins(unittest.TestCase):
     def test_plugins_values(self, _poll_plugins):
         _poll_plugins.return_value = self.DATA
 
-        p = Plugin({'deleted': False, 'hasUpdate': True, 'downgradable': False,
-            'dependencies': [{}, {}, {}, {}],
-            'longName': 'Jenkins Subversion Plug-in', 'active': True,
-            'shortName': 'subversion', 'backupVersion': None,
-            'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
-            'enabled': True, 'pinned': False, 'version': '1.45',
-            'supportsDynamicLoad': 'MAYBE', 'bundled': True})
+        p = Plugin(
+            {
+                'deleted': False,
+                'hasUpdate': True,
+                'downgradable': False,
+                'dependencies': [{}, {}, {}, {}],
+                'longName': 'Jenkins Subversion Plug-in',
+                'active': True,
+                'shortName': 'subversion',
+                'backupVersion': None,
+                'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
+                'enabled': True,
+                'pinned': False,
+                'version': '1.45',
+                'supportsDynamicLoad': 'MAYBE',
+                'bundled': True
+            }
+        )
 
         plugins = self.J.get_plugins().values()
         self.assertIn(p, plugins)
@@ -99,13 +131,24 @@ class TestPlugins(unittest.TestCase):
     def test_plugin_get_by_name(self, _poll_plugins):
         _poll_plugins.return_value = self.DATA
 
-        p = Plugin({'deleted': False, 'hasUpdate': True, 'downgradable': False,
-            'dependencies': [{}, {}, {}, {}],
-            'longName': 'Jenkins Subversion Plug-in', 'active': True,
-            'shortName': 'subversion', 'backupVersion': None,
-            'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
-            'enabled': True, 'pinned': False, 'version': '1.45',
-            'supportsDynamicLoad': 'MAYBE', 'bundled': True})
+        p = Plugin(
+            {
+                'deleted': False,
+                'hasUpdate': True,
+                'downgradable': False,
+                'dependencies': [{}, {}, {}, {}],
+                'longName': 'Jenkins Subversion Plug-in',
+                'active': True,
+                'shortName': 'subversion',
+                'backupVersion': None,
+                'url': 'http://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin',
+                'enabled': True,
+                'pinned': False,
+                'version': '1.45',
+                'supportsDynamicLoad': 'MAYBE',
+                'bundled': True
+            }
+        )
 
         plugin = self.J.get_plugins()['subversion']
         self.assertEquals(p, plugin)
index 4a0a46573b25b99e78215941a59420e671f6c4eb..ad0da6cf85caed782f0243e457e44f18bcaf27c8 100644 (file)
@@ -1,7 +1,6 @@
 import mock
 import unittest
 
-from collections import defaultdict
 from jenkinsapi import config
 from jenkinsapi.jenkins import Jenkins
 from jenkinsapi.queue import Queue, QueueItem
@@ -26,59 +25,99 @@ class TestQueue(unittest.TestCase):
 
     URL_DATA = {}
 
-    URL_DATA['http://localhost:8080/%s' % config.JENKINS_API] = \
-        {'jobs': [
-            {'name': 'utmebvpxrw',
-              'url': 'http://localhost/job/utmebvpxrw'}
-              ]
-        }
-
-    URL_DATA['http://localhost/job/utmebvpxrw/%s' % config.JENKINS_API] = \
-        {}
-
-    URL_DATA['http://localhost:8080/queue/%s' % config.JENKINS_API] = \
-        {'items': [{'actions': [{'causes': [{'shortDescription': 'Started by user anonymous',
-                                     'userId': None,
-                                     'userName': 'anonymous'}]}],
-            'blocked': False,
-            'buildable': True,
-            'buildableStartMilliseconds': 1371419916747,
-            'id': 42,
-            'inQueueSince': 1371419909428,
-            'params': '',
-            'stuck': False,
-            'task': {'color': 'grey',
-                     'name': 'klscuimkqo',
-                     'url': 'http://localhost:8080/job/klscuimkqo/'},
-            'why': 'Waiting for next available executor'},
-           {'actions': [{'causes': [{'shortDescription': 'Started by user anonymous',
-                                     'userId': None,
-                                     'userName': 'anonymous'}]}],
-            'blocked': False,
-            'buildable': True,
-            'buildableStartMilliseconds': 1371419911747,
-            'id': 41,
-            'inQueueSince': 1371419906327,
-            'params': '',
-            'stuck': False,
-            'task': {'color': 'grey',
-                     'name': 'vluyhzzepl',
-                     'url': 'http://localhost:8080/job/vluyhzzepl/'},
-            'why': 'Waiting for next available executor'},
-           {'actions': [{'causes': [{'shortDescription': 'Started by user anonymous',
-                                     'userId': None,
-                                     'userName': 'anonymous'}]}],
-            'blocked': False,
-            'buildable': True,
-            'buildableStartMilliseconds': 1371419911747,
-            'id': 40,
-            'inQueueSince': 1371419903212,
-            'params': '',
-            'stuck': False,
-            'task': {'color': 'grey',
-                     'name': 'utmebvpxrw',
-                     'url': 'http://localhost:8080/job/utmebvpxrw/'},
-            'why': 'Waiting for next available executor'}]}
+    URL_DATA['http://localhost:8080/%s' % config.JENKINS_API] = {
+        'jobs': [
+            {
+                'name': 'utmebvpxrw',
+                'url': 'http://localhost/job/utmebvpxrw'
+            }
+        ]
+    }
+
+    URL_DATA['http://localhost/job/utmebvpxrw/%s' % config.JENKINS_API] = {}
+
+    URL_DATA['http://localhost:8080/queue/%s' % config.JENKINS_API] = {
+        'items': [
+            {
+                'actions': [
+                    {
+                        'causes': [
+                            {
+                                'shortDescription': 'Started by user anonymous',
+                                'userId': None,
+                                'userName': 'anonymous'
+                            }
+                        ]
+                    }
+                ],
+                'blocked': False,
+                'buildable': True,
+                'buildableStartMilliseconds': 1371419916747,
+                'id': 42,
+                'inQueueSince': 1371419909428,
+                'params': '',
+                'stuck': False,
+                'task': {
+                    'color': 'grey',
+                    'name': 'klscuimkqo',
+                    'url': 'http://localhost:8080/job/klscuimkqo/'
+                },
+                'why': 'Waiting for next available executor'
+            },
+            {
+                'actions': [
+                    {
+                        'causes': [
+                            {
+                                'shortDescription': 'Started by user anonymous',
+                                'userId': None,
+                                'userName': 'anonymous'
+                            }
+                        ]
+                    }
+                ],
+                'blocked': False,
+                'buildable': True,
+                'buildableStartMilliseconds': 1371419911747,
+                'id': 41,
+                'inQueueSince': 1371419906327,
+                'params': '',
+                'stuck': False,
+                'task': {
+                    'color': 'grey',
+                    'name': 'vluyhzzepl',
+                    'url': 'http://localhost:8080/job/vluyhzzepl/'
+                },
+                'why': 'Waiting for next available executor'
+            },
+            {
+                'actions': [
+                    {
+                        'causes': [
+                            {
+                                'shortDescription': 'Started by user anonymous',
+                                'userId': None,
+                                'userName': 'anonymous'
+                            }
+                        ]
+                    }
+                ],
+                'blocked': False,
+                'buildable': True,
+                'buildableStartMilliseconds': 1371419911747,
+                'id': 40,
+                'inQueueSince': 1371419903212,
+                'params': '',
+                'stuck': False,
+                'task': {
+                    'color': 'grey',
+                    'name': 'utmebvpxrw',
+                    'url': 'http://localhost:8080/job/utmebvpxrw/'
+                },
+                'why': 'Waiting for next available executor'
+            }
+        ]
+    }
 
     @mock.patch.object(JenkinsBase, 'get_data', mockGetData)
     def setUp(self):
index 82bf65560f53dc36a65f673a34d79818accdba2b..f12792783ee69098061e030b301e4d20063309e7 100644 (file)
@@ -2,7 +2,6 @@ import mock
 import unittest
 
 import requests
-from collections import defaultdict
 from jenkinsapi.jenkins import Requester
 from jenkinsapi.custom_exceptions import JenkinsAPIException
 
@@ -12,8 +11,12 @@ class TestQueue(unittest.TestCase):
     def test_get_request_dict_auth(self):
         req = Requester('foo', 'bar')
 
-        req_return = req.get_request_dict(url='http://', params={}, data=None,
-                headers=None)
+        req_return = req.get_request_dict(
+            url='http://',
+            params={},
+            data=None,
+            headers=None
+        )
         self.assertTrue(isinstance(req_return, dict))
         self.assertTrue(req_return.get('auth'))
         self.assertTrue(req_return['auth'] == ('foo', 'bar'))
@@ -22,17 +25,23 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
 
         with self.assertRaises(AssertionError) as na:
-            req_return = req.get_request_dict(url='http://', params='wrong',
-                data=None, headers=None)
-        self.assertTrue(
-                na.exception.message == "Params must be a dict, got 'wrong'")
+            req.get_request_dict(
+                url='http://',
+                params='wrong',
+                data=None,
+                headers=None
+            )
+        self.assertTrue(na.exception.message == "Params must be a dict, got 'wrong'")
 
     def test_get_request_dict_correct_params(self):
         req = Requester('foo', 'bar')
 
-        req_return = req.get_request_dict(url='http://',
+        req_return = req.get_request_dict(
+            url='http://',
             params={'param': 'value'},
-            data=None, headers=None)
+            data=None,
+            headers=None
+        )
 
         self.assertTrue(isinstance(req_return, dict))
         self.assertTrue(req_return.get('params'))
@@ -42,17 +51,23 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
 
         with self.assertRaises(AssertionError) as na:
-            req_return = req.get_request_dict(url='http://', params={},
-                data=None, headers='wrong')
-        self.assertTrue(
-                na.exception.message == "headers must be a dict, got 'wrong'")
+            req.get_request_dict(
+                url='http://',
+                params={},
+                data=None,
+                headers='wrong'
+            )
+        self.assertTrue(na.exception.message == "headers must be a dict, got 'wrong'")
 
     def test_get_request_dict_correct_headers(self):
         req = Requester('foo', 'bar')
 
-        req_return = req.get_request_dict(url='http://',
+        req_return = req.get_request_dict(
+            url='http://',
             params={'param': 'value'},
-            data=None, headers={'header': 'value'})
+            data=None,
+            headers={'header': 'value'}
+        )
 
         self.assertTrue(isinstance(req_return, dict))
         self.assertTrue(req_return.get('headers'))
@@ -61,9 +76,12 @@ class TestQueue(unittest.TestCase):
     def test_get_request_dict_data_passed(self):
         req = Requester('foo', 'bar')
 
-        req_return = req.get_request_dict(url='http://',
+        req_return = req.get_request_dict(
+            url='http://',
             params={'param': 'value'},
-            data='some data', headers={'header': 'value'})
+            data='some data',
+            headers={'header': 'value'}
+        )
 
         self.assertTrue(isinstance(req_return, dict))
         print req_return.get('data')
@@ -73,28 +91,35 @@ class TestQueue(unittest.TestCase):
     def test_get_request_dict_data_not_passed(self):
         req = Requester('foo', 'bar')
 
-        req_return = req.get_request_dict(url='http://',
+        req_return = req.get_request_dict(
+            url='http://',
             params={'param': 'value'},
-            data=None, headers={'header': 'value'})
+            data=None,
+            headers={'header': 'value'}
+        )
 
         self.assertTrue(isinstance(req_return, dict))
         self.assertFalse(req_return.get('data'))
 
     @mock.patch.object(requests, 'get')
-    def test_get_url(self, _get):
+    def test_get_url_get(self, _get):
         _get.return_value = 'SUCCESS'
         req = Requester('foo', 'bar')
-        self.assertTrue(req.get_url('http://dummy',
-                        params={'param': 'value'},
-                        headers=None) == 'SUCCESS')
+        response = req.get_url(
+            'http://dummy',
+            params={'param': 'value'},
+            headers=None)
+        self.assertTrue(response == 'SUCCESS')
 
     @mock.patch.object(requests, 'post')
-    def test_get_url(self, _post):
+    def test_get_url_post(self, _post):
         _post.return_value = 'SUCCESS'
         req = Requester('foo', 'bar')
-        self.assertTrue(req.post_url('http://dummy',
-                        params={'param': 'value'},
-                        headers=None) == 'SUCCESS')
+        response = req.post_url(
+            'http://dummy',
+            params={'param': 'value'},
+            headers=None)
+        self.assertTrue(response == 'SUCCESS')
 
     @mock.patch.object(requests, 'post')
     def test_post_xml_and_confirm_status_empty_xml(self, _post):
@@ -102,9 +127,10 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
         with self.assertRaises(AssertionError) as ae:
             req.post_xml_and_confirm_status(
-                            url='http://dummy',
-                            params={'param': 'value'},
-                            data=None)
+                url='http://dummy',
+                params={'param': 'value'},
+                data=None
+            )
 
         self.assertTrue(ae.exception.message == "Unexpected type of parameter 'data': <type 'NoneType'>. Expected (str, dict)")
 
@@ -115,9 +141,10 @@ class TestQueue(unittest.TestCase):
         _post.return_value = response
         req = Requester('foo', 'bar')
         ret = req.post_xml_and_confirm_status(
-                        url='http://dummy',
-                        params={'param': 'value'},
-                        data='<xml/>')
+            url='http://dummy',
+            params={'param': 'value'},
+            data='<xml/>'
+        )
         self.assertTrue(isinstance(ret, requests.Response))
 
     @mock.patch.object(requests, 'post')
@@ -126,9 +153,10 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
         with self.assertRaises(AssertionError) as ae:
             req.post_and_confirm_status(
-                            url='http://dummy',
-                            params={'param': 'value'},
-                            data=None)
+                url='http://dummy',
+                params={'param': 'value'},
+                data=None
+            )
 
         self.assertTrue(ae.exception.message == "Unexpected type of parameter 'data': <type 'NoneType'>. Expected (str, dict)")
 
@@ -139,9 +167,10 @@ class TestQueue(unittest.TestCase):
         _post.return_value = response
         req = Requester('foo', 'bar')
         ret = req.post_and_confirm_status(
-                        url='http://dummy',
-                        params={'param': 'value'},
-                        data='some data')
+            url='http://dummy',
+            params={'param': 'value'},
+            data='some data'
+        )
         self.assertTrue(isinstance(ret, requests.Response))
 
     @mock.patch.object(requests, 'post')
@@ -153,9 +182,10 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
         with self.assertRaises(JenkinsAPIException) as ae:
             req.post_and_confirm_status(
-                            url='http://dummy',
-                            params={'param': 'value'},
-                            data='some data')
+                url='http://dummy',
+                params={'param': 'value'},
+                data='some data'
+            )
 
         print ae.exception.message
         self.assertTrue(ae.exception.message == "Operation failed. url=None, data=some data, headers={'Content-Type': 'application/x-www-form-urlencoded'}, status=500, text=")
@@ -167,8 +197,9 @@ class TestQueue(unittest.TestCase):
         _get.return_value = response
         req = Requester('foo', 'bar')
         ret = req.get_and_confirm_status(
-                        url='http://dummy',
-                        params={'param': 'value'})
+            url='http://dummy',
+            params={'param': 'value'}
+        )
         self.assertTrue(isinstance(ret, requests.Response))
 
     @mock.patch.object(requests, 'get')
@@ -180,8 +211,9 @@ class TestQueue(unittest.TestCase):
         req = Requester('foo', 'bar')
         with self.assertRaises(JenkinsAPIException) as ae:
             req.get_and_confirm_status(
-                            url='http://dummy',
-                            params={'param': 'value'})
+                url='http://dummy',
+                params={'param': 'value'}
+            )
 
         print ae.exception.message
         self.assertTrue(ae.exception.message == "Operation failed. url=None, headers=None, status=500, text=")
index 94bacff3f1733021eaafd65c404079cbce111e33..4fdd433bc689b4dba9ecebef95f44c69004b3ac5 100644 (file)
@@ -22,36 +22,42 @@ class TestView(unittest.TestCase):
             'property': [],
             'url': 'http://halob:8080/view/FodFanFo/'}
 
-    JOB_DATA = {"actions": [],
-            "description": "test job",
-            "displayName": "foo",
-            "displayNameOrNull": None,
-            "name": "foo",
-            "url": "http://halob:8080/job/foo/",
-            "buildable": True,
-            "builds": [{"number": 3, "url": "http://halob:8080/job/foo/3/"},
-           {"number": 2, "url": "http://halob:8080/job/foo/2/"},
-                {"number": 1, "url": "http://halob:8080/job/foo/1/"}],
-            "color": "blue",
-            "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
-            "healthReport": [{"description": "Build stability: No recent builds failed.",
-                             "iconUrl": "health-80plus.png", "score": 100}],
-            "inQueue": False,
-            "keepDependencies": False,
-            "lastBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastFailedBuild": None,
-            "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
-            "lastUnstableBuild": None,
-            "lastUnsuccessfulBuild": None,
-            "nextBuildNumber": 4,
-            "property": [],
-            "queueItem": None,
-            "concurrentBuild": False,
-            "downstreamProjects": [],
-            "scm": {},
-            "upstreamProjects": []}
+    JOB_DATA = {
+        "actions": [],
+        "description": "test job",
+        "displayName": "foo",
+        "displayNameOrNull": None,
+        "name": "foo",
+        "url": "http://halob:8080/job/foo/",
+        "buildable": True,
+        "builds": [
+            {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+            {"number": 2, "url": "http://halob:8080/job/foo/2/"},
+            {"number": 1, "url": "http://halob:8080/job/foo/1/"}
+        ],
+        "color": "blue",
+        "firstBuild": {"number": 1, "url": "http://halob:8080/job/foo/1/"},
+        "healthReport": [
+            {"description": "Build stability: No recent builds failed.",
+             "iconUrl": "health-80plus.png", "score": 100}
+        ],
+        "inQueue": False,
+        "keepDependencies": False,
+        "lastBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastCompletedBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastFailedBuild": None,
+        "lastStableBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastSuccessfulBuild": {"number": 3, "url": "http://halob:8080/job/foo/3/"},
+        "lastUnstableBuild": None,
+        "lastUnsuccessfulBuild": None,
+        "nextBuildNumber": 4,
+        "property": [],
+        "queueItem": None,
+        "concurrentBuild": False,
+        "downstreamProjects": [],
+        "scm": {},
+        "upstreamProjects": []
+    }
 
     @mock.patch.object(Job, '_poll')
     @mock.patch.object(View, '_poll')
@@ -100,8 +106,7 @@ class TestView(unittest.TestCase):
         self.assertTrue(self.v.deleted)
 
     def test_get_job_url(self):
-        self.assertEquals(
-                self.v.get_job_url('foo'), 'http://halob:8080/job/foo/')
+        self.assertEquals(self.v.get_job_url('foo'), 'http://halob:8080/job/foo/')
 
     def test_wrong_get_job_url(self):
         with self.assertRaises(KeyError):
index e04630bfee4b4e0f14c8413c862838368320e708..799398056e90675907edd41d7a6995b38ca71ec5 100644 (file)
@@ -18,12 +18,12 @@ class TestViews(unittest.TestCase):
         mock_requester = Requester(username='foouser', password='foopassword')
         mock_requester.get_url = mock.MagicMock(return_value='<div/>')
         mock_requester.post_url = mock.MagicMock(return_value='')
-        _poll.return_value = {'views': [
-                        {'name': 'All',
-                         'url': 'http://localhost:8080/views/All'},
-                        {'name': 'NewView',
-                         'url': 'http://localhost:8080/views/NewView'},
-                        ]}
+        _poll.return_value = {
+            'views': [
+                {'name': 'All', 'url': 'http://localhost:8080/views/All'},
+                {'name': 'NewView', 'url': 'http://localhost:8080/views/NewView'},
+            ]
+        }
         _base_poll.return_value = _poll.return_value
         J = Jenkins('http://localhost:8080/',
                     username='foouser', password='foopassword',
@@ -32,7 +32,7 @@ class TestViews(unittest.TestCase):
         new_view = J.views.create('NewView')
         self.assertTrue(isinstance(new_view, View))
         self.assertEquals(new_view.baseurl,
-                'http://localhost:8080/views/NewView')
+                          'http://localhost:8080/views/NewView')
 
     def test_create_existing_view(self):
         """
@@ -55,9 +55,7 @@ class TestViews(unittest.TestCase):
 
         with mock.patch.object(JenkinsBase, 'get_data', mockGetData):
 
-            J = Jenkins('http://localhost:8080',
-                    username='foouser',
-                    password='foopassword')
+            J = Jenkins('http://localhost:8080', username='foouser', password='foopassword')
 
             new_view = J.views.create('NewView')