class BaseSystemTest(unittest.TestCase): def setUp(self): self.jenkins = Jenkins('http://localhost:8080') self._delete_all_jobs() self._delete_all_views() def tearDown(self): pass def _delete_all_jobs(self): self.jenkins.poll() for name in self.jenkins.get_jobs_list(): self.jenkins.delete_job(name) def _delete_all_views(self): all_view_names = self.jenkins.views().keys()[1:] for name in all_view_names: del self.jenkins.views()[name] def _create_job(self, name='whatever', config=EMPTY_JOB_CONFIG): job = self.jenkins.create_job(name, config) self.jenkins.poll() return job def assertJobIsPresent(self, name): self.jenkins.poll() self.assertTrue(name in self.jenkins, 'Job %r is absent in jenkins.' % name) def assertJobIsAbsent(self, name): self.jenkins.poll() self.assertTrue(name not in self.jenkins, 'Job %r is present in jenkins.' % name)
def test_create_existing_view(self): """ Assert that attempting to create a view which already exists simply returns the same view. """ def mockGetData(JJ, url): DATA = {} DATA['http://localhost:8080/api/python/'] = \ {'views':[dict(name='NewView', url='http://xxxxx/yyyy')]} DATA['http://xxxxx/yyyy/api/python/'] = \ {} try: result = DATA[url] return result except KeyError: raise TestDataMissing(url) with mock.patch.object(JenkinsBase, 'get_data', mockGetData): J = Jenkins('http://localhost:8080', username='******', password='******') new_view = J.views().create(str_view_name='NewView') self.assertIsInstance(new_view, View)
def get_view_from_url(url): """ Factory method """ matched = constants.RE_SPLIT_VIEW_URL.search(url) if not matched: raise BadURL("Cannot parse URL %s" % url) jenkinsurl, view_name = matched.groups() jenkinsci = Jenkins(jenkinsurl) return jenkinsci.views()[view_name]
def test_create_view(self, _poll, _base_poll): mock_requester = Requester(username='******', password='******') 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'}, ]} _base_poll.return_value = _poll.return_value J = Jenkins('http://localhost:8080/', username='******', password='******', requester=mock_requester) new_view = J.views().create(str_view_name='NewView') self.assertTrue(isinstance(new_view, View)) self.assertEquals(new_view.baseurl, 'http://localhost:8080/views/NewView')