def test_different_error_reraised(self, mock_hook): op = BigtableUpdateInstanceOperator( project_id=PROJECT_ID, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, task_id="id", gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.update_instance.side_effect = mock.Mock( side_effect=google.api_core.exceptions.GoogleAPICallError('error')) with self.assertRaises(google.api_core.exceptions.GoogleAPICallError): op.execute(None) mock_hook.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.update_instance.assert_called_once_with( project_id=PROJECT_ID, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, timeout=None, )
def test_update_instance_that_doesnt_exists_empty_project_id( self, mock_hook): mock_hook.return_value.get_instance.return_value = None with self.assertRaises(AirflowException) as e: op = BigtableUpdateInstanceOperator( instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, task_id="id", gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) op.execute(None) err = e.exception self.assertEqual( str(err), "Dependency: instance '{}' does not exist.".format(INSTANCE_ID)) mock_hook.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.update_instance.assert_not_called()
def test_update_instance_that_doesnt_exists(self, mock_hook): mock_hook.return_value.get_instance.return_value = None with pytest.raises(AirflowException) as ctx: op = BigtableUpdateInstanceOperator( project_id=PROJECT_ID, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, task_id="id", gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) op.execute(None) err = ctx.value assert str( err) == f"Dependency: instance '{INSTANCE_ID}' does not exist." mock_hook.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.update_instance.assert_not_called()
def test_update_execute_empty_project_id(self, mock_hook): op = BigtableUpdateInstanceOperator( instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, task_id="id", gcp_conn_id=GCP_CONN_ID) op.execute(None) mock_hook.assert_called_once_with(gcp_conn_id=GCP_CONN_ID) mock_hook.return_value.update_instance.assert_called_once_with( project_id=None, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, timeout=None)
def test_delete_execute(self, mock_hook): op = BigtableUpdateInstanceOperator( project_id=PROJECT_ID, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, task_id="id", gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) op.execute(None) mock_hook.assert_called_once_with( gcp_conn_id=GCP_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_hook.return_value.update_instance.assert_called_once_with( project_id=PROJECT_ID, instance_id=INSTANCE_ID, instance_display_name=INSTANCE_DISPLAY_NAME, instance_type=INSTANCE_TYPE, instance_labels=INSTANCE_LABELS, timeout=None)