def post_job_data( project, uri, data, status=None, expect_errors=False): # Since the uri is passed in it's not generated by the # treeherder request or collection and is missing the protocol # and host. Add those missing elements here. uri = 'http://localhost{0}'.format(uri) # Set the credentials OAuthCredentials.set_credentials( SampleData.get_credentials() ) credentials = OAuthCredentials.get_credentials(project) tr = TreeherderRequest( protocol='http', host='localhost', project=project, oauth_key=credentials['consumer_key'], oauth_secret=credentials['consumer_secret'] ) signed_uri = tr.get_signed_uri( json.dumps(data), uri ) response = TestApp(application).post_json( str(signed_uri), params=data, status=status, expect_errors=expect_errors ) 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 if consumer_key: credentials['consumer_key'] = consumer_key if consumer_secret: credentials['consumer_secret'] = consumer_secret tr = TreeherderRequest( protocol='http', host='localhost', project=project, oauth_key=credentials['consumer_key'], oauth_secret=credentials['consumer_secret'] ) signed_uri = tr.get_signed_uri( th_collection.to_json(), tr.get_uri(th_collection) ) response = TestApp(application).post_json( str(signed_uri), params=th_collection.get_collection_data(), status=status ) return response