from jenkinsapi.jenkinsbase import JenkinsBase
from jenkinsapi.job import Job
+from jenkinsapi.custom_exceptions import NotFound
log = logging.getLogger(__name__)
return len(self.get_job_dict().keys())
def get_job_url(self, str_job_name):
- try:
- job_dict = self.get_job_dict()
- return job_dict[str_job_name]
- except KeyError:
+ if str_job_name in self:
+ return self.get_job_dict()[str_job_name]
+ else:
# noinspection PyUnboundLocalVariable
- all_views = ", ".join(job_dict.keys())
- raise KeyError("Job %s is not known - available: %s" % (str_job_name, all_views))
+ views_jobs = ", ".join(self.get_job_dict().keys())
+ raise NotFound("Job %s is not known, available jobs"
+ " in view are: %s" % (str_job_name, views_jobs))
def get_jenkins_obj(self):
return self.jenkins_obj
from jenkinsapi.jenkins import Jenkins
from jenkinsapi.view import View
from jenkinsapi.job import Job
+from jenkinsapi.custom_exceptions import NotFound
class TestView(unittest.TestCase):
self.assertEquals(self.v.get_job_url('foo'), 'http://halob:8080/job/foo/')
def test_wrong_get_job_url(self):
- with self.assertRaises(KeyError):
+ with self.assertRaises(NotFound):
self.v.get_job_url('bar')
# We have to re-patch JenkinsBase here because by the time