def post_collection( project, th_collection, status=None, expect_errors=False, consumer_key=None, consumer_secret=None): # Set the credentials OAuthCredentials.set_credentials(SampleData.get_credentials()) credentials = OAuthCredentials.get_credentials(project) # The only time the credentials should be overridden are when # a client needs to test authentication failure confirmation if consumer_key: credentials['consumer_key'] = consumer_key if consumer_secret: credentials['consumer_secret'] = consumer_secret cli = TreeherderClient( protocol='http', host='localhost', ) jsondata = th_collection.to_json() signed_uri = cli._get_project_uri(project, th_collection.endpoint_base, data=jsondata, oauth_key=credentials['consumer_key'], oauth_secret=credentials['consumer_secret'], method='POST') response = TestApp(application).post_json( str(signed_uri), params=th_collection.get_collection_data(), status=status ) return response
def post_collection( project, th_collection, status=None, expect_errors=False, consumer_key=None, consumer_secret=None): # Set the credentials OAuthCredentials.set_credentials(SampleData.get_credentials()) credentials = OAuthCredentials.get_credentials(project) # The only time the credentials should be overridden are when # a client needs to test authentication failure confirmation consumer_key = consumer_key or credentials['consumer_key'] consumer_secret = consumer_secret or credentials['consumer_secret'] auth = TreeherderAuth(consumer_key, consumer_secret, project) client = TreeherderClient(protocol='http', host='localhost', auth=auth) uri = client._get_project_uri(project, th_collection.endpoint_base) req = Request('POST', uri, json=th_collection.get_collection_data(), auth=auth) prepped_request = req.prepare() response = TestApp(application).post_json( prepped_request.url, params=th_collection.get_collection_data(), status=status ) return response
def test_get_results(self): tdc = TreeherderClient() url = tdc._get_project_uri("mozilla-inbound", tdc.RESULTSET_ENDPOINT) content = {"meta": {"count": 3, "repository": "mozilla-inbound", "offset": 0}, "results": self.RESULTSETS} responses.add(responses.GET, url, json=content, match_querystring=True, status=200) resultsets = tdc.get_resultsets("mozilla-inbound") self.assertEqual(len(resultsets), 3) self.assertEqual(resultsets, self.RESULTSETS)
def test_send_artifact_collection(self): """Can add a artifact collections to a TreeherderRequest.""" tac = TreeherderArtifactCollection() for artifact in self.artifact_data: tac.add(tac.get_artifact(artifact)) client = TreeherderClient(protocol="http", host="host", client_id="client-abc", secret="secret123") def request_callback(request): # Check that the expected content was POSTed. posted_json = json.loads(request.body) self.assertEqual(posted_json, tac.get_collection_data()) return (200, {}, '{"message": "Artifacts stored successfully"}') url = client._get_project_uri("project", tac.endpoint_base) responses.add_callback( responses.POST, url, match_querystring=True, callback=request_callback, content_type="application/json" ) client.post_collection("project", tac)
def test_send_result_collection(self): """Can add a treeherder collections to a TreeherderRequest.""" trc = TreeherderResultSetCollection() for resultset in self.resultset_data: trc.add(trc.get_resultset(resultset)) client = TreeherderClient(protocol="http", host="host", client_id="client-abc", secret="secret123") def request_callback(request): # Check that the expected content was POSTed. posted_json = json.loads(request.body) self.assertEqual(posted_json, trc.get_collection_data()) return (200, {}, '{"message": "well-formed JSON stored", "resultsets": [123, 456]}') url = client._get_project_uri("project", trc.endpoint_base) responses.add_callback( responses.POST, url, match_querystring=True, callback=request_callback, content_type="application/json" ) client.post_collection("project", trc)
def test_post_job_collection(self): """Can add a treeherder collections to a TreeherderRequest.""" tjc = TreeherderJobCollection() for job in self.job_data: tjc.add(tjc.get_job(job)) client = TreeherderClient(protocol="http", host="host", client_id="client-abc", secret="secret123") def request_callback(request): # Check that the expected content was POSTed. posted_json = json.loads(request.body) self.assertEqual(posted_json, tjc.get_collection_data()) return (200, {}, '{"message": "Job successfully updated"}') url = client._get_project_uri("project", tjc.endpoint_base) responses.add_callback( responses.POST, url, match_querystring=True, callback=request_callback, content_type="application/json" ) client.post_collection("project", tjc)
def post_collection(project, th_collection, status=None, expect_errors=False, consumer_key=None, consumer_secret=None): # Set the credentials OAuthCredentials.set_credentials(SampleData.get_credentials()) credentials = OAuthCredentials.get_credentials(project) # The only time the credentials should be overridden are when # a client needs to test authentication failure confirmation if consumer_key: credentials['consumer_key'] = consumer_key if consumer_secret: credentials['consumer_secret'] = consumer_secret cli = TreeherderClient( protocol='http', host='localhost', ) jsondata = th_collection.to_json() signed_uri = cli._get_project_uri( project, th_collection.endpoint_base, data=jsondata, oauth_key=credentials['consumer_key'], oauth_secret=credentials['consumer_secret'], method='POST') response = TestApp(application).post_json( str(signed_uri), params=th_collection.get_collection_data(), status=status) return response