示例#1
0
文件: base.py 项目: s-ltf/jenkinsapi
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)
示例#2
0
    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)
示例#3
0
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]
示例#4
0
    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')