def test_success(self): mock_client = _create_mock_client() response = write_service_pb2.DeleteExperimentResponse() mock_client.DeleteExperiment.return_value = response uploader_lib.delete_experiment(mock_client, "123") expected_request = write_service_pb2.DeleteExperimentRequest() expected_request.experiment_id = "123" mock_client.DeleteExperiment.assert_called_once() (args, _) = mock_client.DeleteExperiment.call_args self.assertEqual(args[0], expected_request)
def delete_experiment(writer_client, experiment_id): """Permanently deletes an experiment and all of its contents. Args: writer_client: a TensorBoardWriterService stub instance experiment_id: string ID of the experiment to delete Raises: ExperimentNotFoundError: If no such experiment exists. PermissionDeniedError: If the user is not authorized to delete this experiment. RuntimeError: On unexpected failure. """ logger.info("Deleting experiment %r", experiment_id) request = write_service_pb2.DeleteExperimentRequest() request.experiment_id = experiment_id try: grpc_util.call_with_retries(writer_client.DeleteExperiment, request) except grpc.RpcError as e: if e.code() == grpc.StatusCode.NOT_FOUND: raise ExperimentNotFoundError() if e.code() == grpc.StatusCode.PERMISSION_DENIED: raise PermissionDeniedError() raise