def test_lookup_job_returns_URLError(self): #test lookup job returns URLError hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname,jobname) jenkins.urllib2.urlopen = Mock(return_value=StringIO(),side_effect=urllib2.URLError('bad url')) job = jenkins.RetrieveJob(hostname,jobname) self.assertEqual(type(job.lookup_job()),type(urllib2.URLError))
def test_lookup_job_returns_True(self): #test lookup job works as expected hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname,jobname) jenkins.urllib2.urlopen = Mock(return_value=mock_url_open_job_last_build()) job = jenkins.RetrieveJob(hostname,jobname) self.assertEqual(job.lookup_job(),dict(jobname='Job1',status='SUCCESS'))
def test_lookup_last_successful_build_returns_none_when_no_build(self): # Tests that lookup_last_successful_build() returns None when there is # no lastSuccessfulBuild attribute hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname, jobname) self.assertEqual(job.lookup_last_successful_build(), None)
def test_lookup_job_returns_True(self): #test lookup job works as expected hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname, jobname) self.assertEqual(job.lookup_job(), dict(jobname='Job1', status='SUCCESS'))
def test_lookup_hostname_returns_value_error(self): #test lookup hostname that's an invalid URL jenkins.urllib2.urlopen = Mock(return_value=ValueError('bad-url'),side_effect=ValueError('bad url')) hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname,jobname) self.assertEqual(type(job.lookup_hostname()),type(ValueError))
def test_lookup_last_successful_build_returns_time_since_build(self): # Tests that lookup_last_successful_build() pulls from Jenkins server with # host and job names for overall job data (I.E. not a specific job number or # the last build) to get lastSuccessfulBuild from json hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname, jobname) data = job.lookup_last_successful_build()
def test_lookup_last_successful_build_returns_dictionary_when_success( self): # Tests that lookup_last_successful_build() pulls from Jenkins server with # host and job names for overall job data (I.E. not a specific job number or # the last build) to get lastSuccessfulBuild from json hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname, jobname) data = job.lookup_last_successful_build() self.assertEqual(type(data), type(dict())) self.assertTrue('lastSuccessfulBuild' in data) self.assertTrue('lastSuccessfulBuildTime' in data)
def test_parse_jenkins_timestamp_returns_none_when_timestamp_invalid(self): hostname = 'http://localhost:8080' jobname = 'Job1' job = jenkins.RetrieveJob(hostname, jobname) for inputdata in ['', None, 'thisisgarbagedata']: self.assertEqual(None, job._parse_jenkins_timestamp(inputdata))