def test_get_jobs(self): """Test get_jobs API call""" # Set up a mock HTTP server body = read_file('data/jenkins/jenkins_jobs.json') httpretty.register_uri(httpretty.GET, JOBS_URL, body=body, status=200) client = JenkinsClient(SERVER_URL) response = client.get_jobs(client.base_url) self.assertEqual(response, body)
def test_http_retry_requests(self): """Test whether failed requests are properly handled""" httpretty.register_uri(httpretty.GET, JOBS_URL, body="", status=408) client = JenkinsClient(SERVER_URL, sleep_time=0.1) before = float(time.time()) expected = before + (client.sleep_time * JenkinsClient.MAX_RETRIES) with self.assertRaises(requests.exceptions.RetryError): _ = client.get_jobs(client.base_url) after = float(time.time()) self.assertTrue(expected <= after)
def test_get_jobs_auth_api_token(self): """Test get_jobs API call with username and API token""" # Set up a mock HTTP server body = read_file('data/jenkins/jenkins_jobs.json') httpretty.register_uri(httpretty.GET, JOBS_URL, body=body, status=200) client = JenkinsClient(SERVER_URL, user=USER, api_token=TOKEN) response = client.get_jobs(client.base_url) req = httpretty.last_request() self.assertEqual(response, body) authorization = [ h for h in req.headers._headers if h[0] == 'Authorization' ][0] self.assertEqual(req.method, 'GET') self.assertIn('Basic', authorization[1])