Python httplib2.Response() Examples
The following are 30
code examples of httplib2.Response().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
httplib2
, or try the search function
.
Example #1
Source File: httplib2_utils.py From luci-py with Apache License 2.0 | 6 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): self.requests_made.append(self.HttpCall(uri, method, body, headers)) headers = None body = None for candidate in self._uris: if candidate[0].match(uri): _, headers, body = candidate break if not headers: raise AssertionError("Unexpected request to %s" % uri) return httplib2.Response(headers), body
Example #2
Source File: http.py From alfred-gmail with MIT License | 6 votes |
def __init__(self, resp, content, postproc): """Constructor for HttpRequestMock Args: resp: httplib2.Response, the response to emulate coming from the request content: string, the response body postproc: callable, the post processing function usually supplied by the model class. See model.JsonModel.response() as an example. """ self.resp = resp self.content = content self.postproc = postproc if resp is None: self.resp = httplib2.Response({'status': 200, 'reason': 'OK'}) if 'reason' in self.resp: self.resp.reason = self.resp['reason']
Example #3
Source File: test_rest_client.py From tempest-lib with Apache License 2.0 | 6 votes |
def set_data(self, r_code, enc=None, r_body=None, absolute_limit=True): if enc is None: enc = self.c_type resp_dict = {'status': r_code, 'content-type': enc} resp_body = {'resp_body': 'fake_resp_body'} if absolute_limit is False: resp_dict.update({'retry-after': 120}) resp_body.update({'overLimit': {'message': 'fake_message'}}) resp = httplib2.Response(resp_dict) data = { "method": "fake_method", "url": "fake_url", "headers": "fake_headers", "body": "fake_body", "resp": resp, "resp_body": json.dumps(resp_body) } if r_body is not None: data.update({"resp_body": r_body}) return data
Example #4
Source File: http.py From alfred-gmail with MIT License | 6 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): resp, content = self._iterable.pop(0) if content == 'echo_request_headers': content = headers elif content == 'echo_request_headers_as_json': content = json.dumps(headers) elif content == 'echo_request_body': if hasattr(body, 'read'): content = body.read() else: content = body elif content == 'echo_request_uri': content = uri if isinstance(content, six.text_type): content = content.encode('utf-8') return httplib2.Response(resp), content
Example #5
Source File: http.py From googleapps-message-recall with Apache License 2.0 | 6 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): resp, content = self._iterable.pop(0) if content == 'echo_request_headers': content = headers elif content == 'echo_request_headers_as_json': content = simplejson.dumps(headers) elif content == 'echo_request_body': if hasattr(body, 'read'): content = body.read() else: content = body elif content == 'echo_request_uri': content = uri return httplib2.Response(resp), content
Example #6
Source File: test_resources.py From dagster with Apache License 2.0 | 6 votes |
def request( self, uri, method="GET", body=None, headers=None, redirections=5, connection_type=None ): for expected_uri, expected_method, result in EXPECTED_RESULTS: if re.match(expected_uri, uri) and method == expected_method: return (httplib2.Response({'status': '200'}), seven.json.dumps(result).encode()) # Pass this one through since its the entire JSON schema used for dynamic object creation if uri == DATAPROC_SCHEMA_URI: response, content = super(HttpSnooper, self).request( uri, method=method, body=body, headers=headers, redirections=redirections, connection_type=connection_type, ) return response, content
Example #7
Source File: fake_http.py From tempest-lib with Apache License 2.0 | 6 votes |
def request(self, uri, method="GET", body=None, headers=None, redirections=5, connection_type=None): if not self.return_type: fake_headers = httplib2.Response(headers) return_obj = { 'uri': uri, 'method': method, 'body': body, 'headers': headers } return (fake_headers, return_obj) elif isinstance(self.return_type, int): body = body or "fake_body" header_info = { 'content-type': 'text/plain', 'status': str(self.return_type), 'content-length': len(body) } resp_header = httplib2.Response(header_info) return (resp_header, body) else: msg = "unsupported return type %s" % self.return_type raise TypeError(msg)
Example #8
Source File: test_google_verifier.py From InAppPy with MIT License | 6 votes |
def test_bad_request_product(): with patch.object(googleplay.GooglePlayVerifier, "_authorize", return_value=None): verifier = GooglePlayVerifier("bundle_id", "private_key_path") auth = HttpMock(datafile("androidpublisher.json"), headers={"status": 200}) request_mock_builder = RequestMockBuilder( { "androidpublisher.purchases.products.get": ( httplib2.Response({"status": 400, "reason": b"Bad request"}), b'{"reason": "Bad request"}', ) } ) build_mock_result = googleplay.build("androidpublisher", "v3", http=auth, requestBuilder=request_mock_builder) with patch.object(googleplay, "build", return_value=build_mock_result): with pytest.raises(errors.GoogleError, match="Bad request"): verifier.verify("broken_purchase_token", "product_scu")
Example #9
Source File: test_google_verifier.py From InAppPy with MIT License | 6 votes |
def test_bad_request_subscription(): with patch.object(googleplay.GooglePlayVerifier, "_authorize", return_value=None): verifier = GooglePlayVerifier("bundle_id", "private_key_path") auth = HttpMock(datafile("androidpublisher.json"), headers={"status": 200}) request_mock_builder = RequestMockBuilder( { "androidpublisher.purchases.subscriptions.get": ( httplib2.Response({"status": 400, "reason": b"Bad request"}), b'{"reason": "Bad request"}', ) } ) build_mock_result = googleplay.build("androidpublisher", "v3", http=auth, requestBuilder=request_mock_builder) with patch.object(googleplay, "build", return_value=build_mock_result): with pytest.raises(errors.GoogleError, match="Bad request"): verifier.verify("broken_purchase_token", "product_scu", is_subscription=True)
Example #10
Source File: test_compute.py From airflow with Apache License 2.0 | 6 votes |
def test_missing_name(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] with self.assertRaises(AirflowException) as cm: op = ComputeEngineCopyInstanceTemplateOperator( project_id=GCP_PROJECT_ID, resource_id=GCE_INSTANCE_TEMPLATE_NAME, request_id=GCE_INSTANCE_TEMPLATE_REQUEST_ID, task_id='id', body_patch={"description": "New description"} ) op.execute(None) err = cm.exception self.assertIn("should contain at least name for the new operator " "in the 'name' field", str(err)) mock_hook.assert_not_called()
Example #11
Source File: test_compute.py From airflow with Apache License 2.0 | 6 votes |
def test_successful_copy_template_with_request_id(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] op = ComputeEngineCopyInstanceTemplateOperator( project_id=GCP_PROJECT_ID, resource_id=GCE_INSTANCE_TEMPLATE_NAME, request_id=GCE_INSTANCE_TEMPLATE_REQUEST_ID, task_id='id', body_patch={"name": GCE_INSTANCE_TEMPLATE_NEW_NAME} ) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') mock_hook.return_value.insert_instance_template.assert_called_once_with( project_id=GCP_PROJECT_ID, body=GCE_INSTANCE_TEMPLATE_BODY_INSERT, request_id=GCE_INSTANCE_TEMPLATE_REQUEST_ID, ) self.assertEqual(GCE_INSTANCE_TEMPLATE_BODY_GET_NEW, result)
Example #12
Source File: http.py From splunk-ref-pas-code with Apache License 2.0 | 6 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): resp, content = self._iterable.pop(0) if content == 'echo_request_headers': content = headers elif content == 'echo_request_headers_as_json': content = simplejson.dumps(headers) elif content == 'echo_request_body': if hasattr(body, 'read'): content = body.read() else: content = body elif content == 'echo_request_uri': content = uri return httplib2.Response(resp), content
Example #13
Source File: test_compute.py From airflow with Apache License 2.0 | 6 votes |
def test_successful_copy_template_missing_project_id(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] op = ComputeEngineCopyInstanceTemplateOperator( resource_id=GCE_INSTANCE_TEMPLATE_NAME, task_id='id', body_patch={"name": GCE_INSTANCE_TEMPLATE_NEW_NAME} ) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') mock_hook.return_value.insert_instance_template.assert_called_once_with( project_id=None, body=GCE_INSTANCE_TEMPLATE_BODY_INSERT, request_id=None ) self.assertEqual(GCE_INSTANCE_TEMPLATE_BODY_GET_NEW, result)
Example #14
Source File: test_compute.py From airflow with Apache License 2.0 | 6 votes |
def test_successful_copy_template(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] op = ComputeEngineCopyInstanceTemplateOperator( project_id=GCP_PROJECT_ID, resource_id=GCE_INSTANCE_TEMPLATE_NAME, task_id='id', body_patch={"name": GCE_INSTANCE_TEMPLATE_NEW_NAME} ) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') mock_hook.return_value.insert_instance_template.assert_called_once_with( project_id=GCP_PROJECT_ID, body=GCE_INSTANCE_TEMPLATE_BODY_INSERT, request_id=None ) self.assertEqual(GCE_INSTANCE_TEMPLATE_BODY_GET_NEW, result)
Example #15
Source File: test_mlengine.py From airflow with Apache License 2.0 | 6 votes |
def test_http_error(self, mock_hook): http_error_code = 403 hook_instance = mock_hook.return_value hook_instance.create_job.side_effect = HttpError( resp=httplib2.Response({ 'status': http_error_code }), content=b'Forbidden') with self.assertRaises(HttpError) as context: training_op = MLEngineStartTrainingJobOperator( **self.TRAINING_DEFAULT_ARGS) training_op.execute(None) mock_hook.assert_called_once_with( gcp_conn_id='google_cloud_default', delegate_to=None) # Make sure only 'create_job' is invoked on hook instance self.assertEqual(len(hook_instance.mock_calls), 1) hook_instance.create_job.assert_called_once_with( project_id='test-project', job=self.TRAINING_INPUT, use_existing_job_fn=ANY) self.assertEqual(http_error_code, context.exception.resp.status)
Example #16
Source File: http.py From sndlatr with Apache License 2.0 | 6 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): resp, content = self._iterable.pop(0) if content == 'echo_request_headers': content = headers elif content == 'echo_request_headers_as_json': content = simplejson.dumps(headers) elif content == 'echo_request_body': if hasattr(body, 'read'): content = body.read() else: content = body elif content == 'echo_request_uri': content = uri return httplib2.Response(resp), content
Example #17
Source File: http.py From googleapps-message-recall with Apache License 2.0 | 5 votes |
def _deserialize_response(self, payload): """Convert string into httplib2 response and content. Args: payload: string, headers and body as a string. Returns: A pair (resp, content), such as would be returned from httplib2.request. """ # Strip off the status line status_line, payload = payload.split('\n', 1) protocol, status, reason = status_line.split(' ', 2) # Parse the rest of the response parser = FeedParser() parser.feed(payload) msg = parser.close() msg['status'] = status # Create httplib2.Response from the parsed headers. resp = httplib2.Response(msg) resp.reason = reason resp.version = int(protocol.split('/', 1)[1].replace('.', '')) content = payload.split('\r\n\r\n', 1)[1] return resp, content
Example #18
Source File: http.py From googleapps-message-recall with Apache License 2.0 | 5 votes |
def __init__(self, callback=None, batch_uri=None): """Constructor for a BatchHttpRequest. Args: callback: callable, A callback to be called for each response, of the form callback(id, response, exception). The first parameter is the request id, and the second is the deserialized response object. The third is an apiclient.errors.HttpError exception object if an HTTP error occurred while processing the request, or None if no error occurred. batch_uri: string, URI to send batch requests to. """ if batch_uri is None: batch_uri = 'https://www.googleapis.com/batch' self._batch_uri = batch_uri # Global callback to be called for each individual response in the batch. self._callback = callback # A map from id to request. self._requests = {} # A map from id to callback. self._callbacks = {} # List of request ids, in the order in which they were added. self._order = [] # The last auto generated id. self._last_auto_id = 0 # Unique ID on which to base the Content-ID headers. self._base_id = None # A map from request id to (httplib2.Response, content) response pairs self._responses = {} # A map of id(Credentials) that have been refreshed. self._refreshed_credentials = {}
Example #19
Source File: http.py From googleapps-message-recall with Apache License 2.0 | 5 votes |
def _process_response(self, resp, content): """Process the response from a single chunk upload. Args: resp: httplib2.Response, the response object. content: string, the content of the response. Returns: (status, body): (ResumableMediaStatus, object) The body will be None until the resumable media is fully uploaded. Raises: apiclient.errors.HttpError if the response was not a 2xx or a 308. """ if resp.status in [200, 201]: self._in_error_state = False return None, self.postproc(resp, content) elif resp.status == 308: self._in_error_state = False # A "308 Resume Incomplete" indicates we are not done. self.resumable_progress = int(resp['range'].split('-')[1]) + 1 if 'location' in resp: self.resumable_uri = resp['location'] else: self._in_error_state = True raise HttpError(resp, content, uri=self.uri) return (MediaUploadProgress(self.resumable_progress, self.resumable.size()), None)
Example #20
Source File: test_compute.py From airflow with Apache License 2.0 | 5 votes |
def test_copy_with_some_validation_warnings(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] op = ComputeEngineCopyInstanceTemplateOperator( project_id=GCP_PROJECT_ID, resource_id=GCE_INSTANCE_TEMPLATE_NAME, task_id='id', body_patch={"name": GCE_INSTANCE_TEMPLATE_NEW_NAME, "some_wrong_field": "test", "properties": { "some_other_wrong_field": "test" }} ) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') body_insert = deepcopy(GCE_INSTANCE_TEMPLATE_BODY_INSERT) body_insert["some_wrong_field"] = "test" body_insert["properties"]["some_other_wrong_field"] = "test" mock_hook.return_value.insert_instance_template.assert_called_once_with( project_id=GCP_PROJECT_ID, body=body_insert, request_id=None, ) self.assertEqual(GCE_INSTANCE_TEMPLATE_BODY_GET_NEW, result)
Example #21
Source File: test_compute.py From airflow with Apache License 2.0 | 5 votes |
def test_successful_copy_template_with_description_fields(self, mock_hook): mock_hook.return_value.get_instance_template.side_effect = [ HttpError(resp=httplib2.Response({'status': 404}), content=EMPTY_CONTENT), GCE_INSTANCE_TEMPLATE_BODY_GET, GCE_INSTANCE_TEMPLATE_BODY_GET_NEW ] op = ComputeEngineCopyInstanceTemplateOperator( project_id=GCP_PROJECT_ID, resource_id=GCE_INSTANCE_TEMPLATE_NAME, request_id=GCE_INSTANCE_TEMPLATE_REQUEST_ID, task_id='id', body_patch={"name": GCE_INSTANCE_TEMPLATE_NEW_NAME, "description": "New description"} ) result = op.execute(None) mock_hook.assert_called_once_with(api_version='v1', gcp_conn_id='google_cloud_default') body_insert = deepcopy(GCE_INSTANCE_TEMPLATE_BODY_INSERT) body_insert["description"] = "New description" mock_hook.return_value.insert_instance_template.assert_called_once_with( project_id=GCP_PROJECT_ID, body=body_insert, request_id=GCE_INSTANCE_TEMPLATE_REQUEST_ID, ) self.assertEqual(GCE_INSTANCE_TEMPLATE_BODY_GET_NEW, result)
Example #22
Source File: http.py From alfred-gmail with MIT License | 5 votes |
def _process_response(self, resp, content): """Process the response from a single chunk upload. Args: resp: httplib2.Response, the response object. content: string, the content of the response. Returns: (status, body): (ResumableMediaStatus, object) The body will be None until the resumable media is fully uploaded. Raises: googleapiclient.errors.HttpError if the response was not a 2xx or a 308. """ if resp.status in [200, 201]: self._in_error_state = False return None, self.postproc(resp, content) elif resp.status == 308: self._in_error_state = False # A "308 Resume Incomplete" indicates we are not done. try: self.resumable_progress = int(resp['range'].split('-')[1]) + 1 except KeyError: # If resp doesn't contain range header, resumable progress is 0 self.resumable_progress = 0 if 'location' in resp: self.resumable_uri = resp['location'] else: self._in_error_state = True raise HttpError(resp, content, uri=self.uri) return (MediaUploadProgress(self.resumable_progress, self.resumable.size()), None)
Example #23
Source File: http.py From alfred-gmail with MIT License | 5 votes |
def __init__(self, responses, check_unexpected=False): """Constructor for RequestMockBuilder The constructed object should be a callable object that can replace the class HttpResponse. responses - A dictionary that maps methodIds into tuples of (httplib2.Response, content). The methodId comes from the 'rpcName' field in the discovery document. check_unexpected - A boolean setting whether or not UnexpectedMethodError should be raised on unsupplied method. """ self.responses = responses self.check_unexpected = check_unexpected
Example #24
Source File: http.py From alfred-gmail with MIT License | 5 votes |
def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): self.uri = uri self.method = method self.body = body self.headers = headers return httplib2.Response(self.response_headers), self.data
Example #25
Source File: test_mlengine.py From airflow with Apache License 2.0 | 5 votes |
def test_http_error(self, mock_hook): http_error_code = 403 input_with_model = self.INPUT_MISSING_ORIGIN.copy() input_with_model['modelName'] = \ 'projects/experimental/models/test_model' hook_instance = mock_hook.return_value hook_instance.create_job.side_effect = HttpError( resp=httplib2.Response({ 'status': http_error_code }), content=b'Forbidden') with self.assertRaises(HttpError) as context: prediction_task = MLEngineStartBatchPredictionJobOperator( job_id='test_prediction', project_id='test-project', region=input_with_model['region'], data_format=input_with_model['dataFormat'], input_paths=input_with_model['inputPaths'], output_path=input_with_model['outputPath'], model_name=input_with_model['modelName'].split('/')[-1], dag=self.dag, task_id='test-prediction') prediction_task.execute(None) mock_hook.assert_called_once_with('google_cloud_default', None) hook_instance.create_job.assert_called_once_with( 'test-project', { 'jobId': 'test_prediction', 'predictionInput': input_with_model }, ANY) self.assertEqual(http_error_code, context.exception.resp.status)
Example #26
Source File: test_mlengine.py From airflow with Apache License 2.0 | 5 votes |
def test_success_with_uri(self, mock_hook): input_with_uri = self.INPUT_MISSING_ORIGIN.copy() input_with_uri['uri'] = 'gs://my_bucket/my_models/savedModel' success_message = self.SUCCESS_MESSAGE_MISSING_INPUT.copy() success_message['predictionInput'] = input_with_uri hook_instance = mock_hook.return_value hook_instance.get_job.side_effect = HttpError( resp=httplib2.Response({ 'status': 404 }), content=b'some bytes') hook_instance.create_job.return_value = success_message prediction_task = MLEngineStartBatchPredictionJobOperator( job_id='test_prediction', project_id='test-project', region=input_with_uri['region'], data_format=input_with_uri['dataFormat'], input_paths=input_with_uri['inputPaths'], output_path=input_with_uri['outputPath'], uri=input_with_uri['uri'], dag=self.dag, task_id='test-prediction') prediction_output = prediction_task.execute(None) mock_hook.assert_called_once_with('google_cloud_default', None) hook_instance.create_job.assert_called_once_with( project_id='test-project', job={ 'jobId': 'test_prediction', 'predictionInput': input_with_uri }, use_existing_job_fn=ANY ) self.assertEqual(success_message['predictionOutput'], prediction_output)
Example #27
Source File: test_mlengine.py From airflow with Apache License 2.0 | 5 votes |
def test_success_with_version(self, mock_hook): input_with_version = self.INPUT_MISSING_ORIGIN.copy() input_with_version['versionName'] = \ 'projects/test-project/models/test_model/versions/test_version' success_message = self.SUCCESS_MESSAGE_MISSING_INPUT.copy() success_message['predictionInput'] = input_with_version hook_instance = mock_hook.return_value hook_instance.get_job.side_effect = HttpError( resp=httplib2.Response({ 'status': 404 }), content=b'some bytes') hook_instance.create_job.return_value = success_message prediction_task = MLEngineStartBatchPredictionJobOperator( job_id='test_prediction', project_id='test-project', region=input_with_version['region'], data_format=input_with_version['dataFormat'], input_paths=input_with_version['inputPaths'], output_path=input_with_version['outputPath'], model_name=input_with_version['versionName'].split('/')[-3], version_name=input_with_version['versionName'].split('/')[-1], dag=self.dag, task_id='test-prediction') prediction_output = prediction_task.execute(None) mock_hook.assert_called_once_with('google_cloud_default', None) hook_instance.create_job.assert_called_once_with( project_id='test-project', job={ 'jobId': 'test_prediction', 'predictionInput': input_with_version }, use_existing_job_fn=ANY ) self.assertEqual(success_message['predictionOutput'], prediction_output)
Example #28
Source File: directory_test.py From loaner with Apache License 2.0 | 5 votes |
def test_directory_api_insert_role__errors( self, error_code, expected_error): """Test the insert_role API method for the Google Admin Directory API.""" test_directory_api = directory.DirectoryAPI(self.config, mock.Mock()) test_directory_api._client.roles.side_effect = errors.HttpError( httplib2.Response({ 'reason': 'NOT USED', 'status': error_code}), 'NOT USED.'.encode(encoding='UTF-8')) with self.assertRaises(expected_error): test_directory_api.insert_role()
Example #29
Source File: test_mlengine.py From airflow with Apache License 2.0 | 5 votes |
def test_success_with_model(self, mock_hook): input_with_model = self.INPUT_MISSING_ORIGIN.copy() input_with_model['modelName'] = \ 'projects/test-project/models/test_model' success_message = self.SUCCESS_MESSAGE_MISSING_INPUT.copy() success_message['predictionInput'] = input_with_model hook_instance = mock_hook.return_value hook_instance.get_job.side_effect = HttpError( resp=httplib2.Response({ 'status': 404 }), content=b'some bytes') hook_instance.create_job.return_value = success_message prediction_task = MLEngineStartBatchPredictionJobOperator( job_id='test_prediction', project_id='test-project', region=input_with_model['region'], data_format=input_with_model['dataFormat'], input_paths=input_with_model['inputPaths'], output_path=input_with_model['outputPath'], model_name=input_with_model['modelName'].split('/')[-1], dag=self.dag, task_id='test-prediction') prediction_output = prediction_task.execute(None) mock_hook.assert_called_once_with('google_cloud_default', None) hook_instance.create_job.assert_called_once_with( project_id='test-project', job={ 'jobId': 'test_prediction', 'predictionInput': input_with_model }, use_existing_job_fn=ANY ) self.assertEqual(success_message['predictionOutput'], prediction_output)
Example #30
Source File: test_cloud_sql.py From airflow with Apache License 2.0 | 5 votes |
def test_instance_export_exception(self, mock_get_credentials): self.cloudsql_hook.get_conn = mock.Mock( side_effect=HttpError(resp=httplib2.Response({'status': 400}), content=b'Error content') ) with self.assertRaises(HttpError) as cm: self.cloudsql_hook.export_instance( # pylint: disable=no-value-for-parameter instance='instance', body={}) err = cm.exception self.assertEqual(400, err.resp.status) self.assertEqual(1, mock_get_credentials.call_count)