io.grpc.Status#fromThrowable ( )源码实例Demo

下面列出了io.grpc.Status#fromThrowable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: modeldb   文件: ExperimentTest.java
@Test
public void ee_getExperimentTagsNegativeTest() {
  LOGGER.info("Get Experiment tags Negative test start................................");

  ExperimentServiceBlockingStub experimentServiceStub =
      ExperimentServiceGrpc.newBlockingStub(channel);

  GetTags getExperimentTags = GetTags.newBuilder().build();
  try {
    experimentServiceStub.getExperimentTags(getExperimentTags);
    fail();
  } catch (StatusRuntimeException e) {
    Status status = Status.fromThrowable(e);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.INVALID_ARGUMENT.getCode(), status.getCode());
  }

  LOGGER.info("Get Experiment tags Negative test stop................................");
}
 
源代码2 项目: modeldb   文件: ExperimentTest.java
@Test
public void ec_addExperimentTagNegativeTest() {
  LOGGER.info("Add Experiment tag negative test start................................");

  ExperimentServiceBlockingStub experimentServiceStub =
      ExperimentServiceGrpc.newBlockingStub(channel);
  AddExperimentTag updateExperimentTag = AddExperimentTag.newBuilder().setTag("Tag_xyz").build();

  try {
    experimentServiceStub.addExperimentTag(updateExperimentTag);
    fail();
  } catch (StatusRuntimeException e) {
    Status status = Status.fromThrowable(e);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.INVALID_ARGUMENT.getCode(), status.getCode());
  }

  LOGGER.info("Add Experiment tags negative test stop................................");
}
 
源代码3 项目: bazel-buildfarm   文件: GrpcActionCache.java
@Override
public ActionResult get(ActionKey actionKey) {
  try {
    return actionCacheBlockingStub
        .get()
        .getActionResult(
            GetActionResultRequest.newBuilder()
                .setInstanceName(instanceName)
                .setActionDigest(actionKey.getDigest())
                .build());
  } catch (StatusRuntimeException e) {
    Status status = Status.fromThrowable(e);
    if (status.getCode() == Code.NOT_FOUND) {
      return null;
    }
    throw e;
  }
}
 
源代码4 项目: modeldb   文件: ProjectTest.java
@Test
public void k_getProjectByNameNotFoundTest() {
  LOGGER.info("Get Project by name NOT_FOUND test start................................");

  ProjectServiceBlockingStub projectServiceStub = ProjectServiceGrpc.newBlockingStub(channel);

  try {
    GetProjectByName getProject = GetProjectByName.newBuilder().setName("test").build();
    projectServiceStub.getProjectByName(getProject);
    fail();
  } catch (StatusRuntimeException e) {
    Status status = Status.fromThrowable(e);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.NOT_FOUND.getCode(), status.getCode());
  }

  LOGGER.info("Get project by name NOT_FOUND test stop................................");
}
 
源代码5 项目: grpc-nebula-java   文件: ClientCallsTest.java
@Test
public void blockingResponseStreamFailed() throws Exception {
  final AtomicReference<ClientCall.Listener<String>> listener =
      new AtomicReference<ClientCall.Listener<String>>();
  NoopClientCall<Integer, String> call = new NoopClientCall<Integer, String>() {
    @Override
    public void start(io.grpc.ClientCall.Listener<String> responseListener, Metadata headers) {
      listener.set(responseListener);
    }
  };

  Integer req = 2;
  Iterator<String> iter = ClientCalls.blockingServerStreamingCall(call, req);

  Metadata trailers = new Metadata();
  listener.get().onClose(Status.INTERNAL, trailers);
  try {
    iter.next();
    fail("Should fail");
  } catch (Exception e) {
    Status status = Status.fromThrowable(e);
    assertEquals(Status.INTERNAL, status);
    Metadata metadata = Status.trailersFromThrowable(e);
    assertSame(trailers, metadata);
  }
}
 
private Optional<TaskRelocationStatus> findRelocationStatus(String taskId) {
    try {
        TestStreamObserver<TaskRelocationExecution> events = new TestStreamObserver<>();
        client.getTaskRelocationResult(RelocationTaskId.newBuilder().setId(taskId).build(), events);
        return Optional.of(last(events.getLast().getRelocationAttemptsList()));
    } catch (Exception e) {
        Status status = Status.fromThrowable(e);
        if (status.getCode() == Status.Code.NOT_FOUND) {
            return Optional.empty();
        }
        throw new RuntimeException(e);
    }
}
 
源代码7 项目: bazel-buildfarm   文件: RedisClientTest.java
@Test
public void runExceptionSocketTimeoutExceptionIsDeadlineExceeded()
    throws IOException, InterruptedException {
  RedisClient client = new RedisClient(mock(JedisCluster.class));
  Status status = Status.UNKNOWN;
  try {
    client.run(
        jedis -> {
          throw new JedisConnectionException(new SocketTimeoutException());
        });
  } catch (IOException e) {
    status = Status.fromThrowable(e);
  }
  assertThat(status.getCode()).isEqualTo(Code.DEADLINE_EXCEEDED);
}
 
源代码8 项目: tikv-client-lib-java   文件: RetryPolicy.java
private void rethrowNotRecoverableException(Exception e) {
  if (e instanceof GrpcRegionStaleException) {
    throw (GrpcRegionStaleException)e;
  }
  Status status = Status.fromThrowable(e);
  if (unrecoverableStatus.contains(status.getCode())) {
    throw new GrpcException(e);
  }
}
 
@Test
public void uncaughtExceptionFailuresPropagated() throws Exception {
  WriteBufferingAndExceptionHandler handler =
      new WriteBufferingAndExceptionHandler(new ChannelHandlerAdapter() {});
  LocalAddress addr = new LocalAddress("local");
  ChannelFuture cf = new Bootstrap()
      .channel(LocalChannel.class)
      .handler(handler)
      .group(group)
      .register();
  chan = cf.channel();
  cf.sync();
  ChannelFuture sf = new ServerBootstrap()
      .channel(LocalServerChannel.class)
      .childHandler(new ChannelHandlerAdapter() {})
      .group(group)
      .bind(addr);
  server = sf.channel();
  sf.sync();

  ChannelFuture wf = chan.writeAndFlush(new Object());
  chan.connect(addr);
  chan.pipeline().fireExceptionCaught(Status.ABORTED.withDescription("zap").asRuntimeException());

  try {
    wf.sync();
    fail();
  } catch (Exception e) {
    Status status = Status.fromThrowable(e);
    assertThat(status.getCode()).isEqualTo(Code.ABORTED);
    assertThat(status.getDescription()).contains("zap");
  }
}
 
源代码10 项目: grpc-java   文件: DetailErrorSample.java
static void verifyErrorReply(Throwable t) {
  Status status = Status.fromThrowable(t);
  Metadata trailers = Status.trailersFromThrowable(t);
  Verify.verify(status.getCode() == Status.Code.INTERNAL);
  Verify.verify(trailers.containsKey(DEBUG_INFO_TRAILER_KEY));
  Verify.verify(status.getDescription().equals(DEBUG_DESC));
  try {
    Verify.verify(trailers.get(DEBUG_INFO_TRAILER_KEY).equals(DEBUG_INFO));
  } catch (IllegalArgumentException e) {
    throw new VerifyException(e);
  }
}
 
源代码11 项目: modeldb   文件: RepositoryTest.java
private void checkEqualsAssert(StatusRuntimeException e) {
  Status status = Status.fromThrowable(e);
  LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
  if (app.getAuthServerHost() != null && app.getAuthServerPort() != null) {
    assertTrue(
        Status.PERMISSION_DENIED.getCode() == status.getCode()
            || Status.NOT_FOUND.getCode()
                == status.getCode()); // because of shadow delete the response could be 403 or 404
  } else {
    assertEquals(Status.NOT_FOUND.getCode(), status.getCode());
  }
}
 
源代码12 项目: grpc-java   文件: ErrorHandlingClient.java
void blockingCall() {
  GreeterBlockingStub stub = GreeterGrpc.newBlockingStub(channel);
  try {
    stub.sayHello(HelloRequest.newBuilder().setName("Bart").build());
  } catch (Exception e) {
    Status status = Status.fromThrowable(e);
    Verify.verify(status.getCode() == Status.Code.INTERNAL);
    Verify.verify(status.getDescription().contains("Eggplant"));
    // Cause is not transmitted over the wire.
  }
}
 
源代码13 项目: grpc-java   文件: Utils.java
public static Status statusFromThrowable(Throwable t) {
  Status s = Status.fromThrowable(t);
  if (s.getCode() != Status.Code.UNKNOWN) {
    return s;
  }
  if (t instanceof ClosedChannelException) {
    // ClosedChannelException is used any time the Netty channel is closed. Proper error
    // processing requires remembering the error that occurred before this one and using it
    // instead.
    //
    // Netty uses an exception that has no stack trace, while we would never hope to show this to
    // users, if it happens having the extra information may provide a small hint of where to
    // look.
    ClosedChannelException extraT = new ClosedChannelException();
    extraT.initCause(t);
    return Status.UNKNOWN.withDescription("channel closed").withCause(extraT);
  }
  if (t instanceof IOException) {
    return Status.UNAVAILABLE.withDescription("io exception").withCause(t);
  }
  if (t instanceof UnresolvedAddressException) {
    return Status.UNAVAILABLE.withDescription("unresolved address").withCause(t);
  }
  if (t instanceof Http2Exception) {
    return Status.INTERNAL.withDescription("http2 exception").withCause(t);
  }
  return s;
}
 
源代码14 项目: modeldb   文件: DatasetTest.java
@Test
public void deleteDatasetAttributesNegativeTest() {
  LOGGER.info("Delete Dataset Attributes Negative test start................................");

  DatasetServiceBlockingStub datasetServiceStub = DatasetServiceGrpc.newBlockingStub(channel);

  DeleteDatasetAttributes deleteDatasetAttributesRequest =
      DeleteDatasetAttributes.newBuilder().build();

  try {
    datasetServiceStub.deleteDatasetAttributes(deleteDatasetAttributesRequest);
    fail();
  } catch (StatusRuntimeException ex) {
    Status status = Status.fromThrowable(ex);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.INVALID_ARGUMENT.getCode(), status.getCode());
  }

  // Create dataset
  CreateDataset createDatasetRequest = getDatasetRequest("dataset_f_apt");
  CreateDataset.Response createDatasetResponse =
      datasetServiceStub.createDataset(createDatasetRequest);
  Dataset dataset = createDatasetResponse.getDataset();
  LOGGER.info("Dataset created successfully");
  assertEquals(
      "Dataset name not match with expected dataset name",
      createDatasetRequest.getName(),
      dataset.getName());

  deleteDatasetAttributesRequest =
      DeleteDatasetAttributes.newBuilder().setId(dataset.getId()).setDeleteAll(true).build();
  DeleteDatasetAttributes.Response response =
      datasetServiceStub.deleteDatasetAttributes(deleteDatasetAttributesRequest);
  LOGGER.info(
      "All the Attributes deleted from server. Attributes count : "
          + response.getDataset().getAttributesCount());
  assertEquals(0, response.getDataset().getAttributesList().size());

  DeleteDataset deleteDataset = DeleteDataset.newBuilder().setId(dataset.getId()).build();
  DeleteDataset.Response deleteDatasetResponse = datasetServiceStub.deleteDataset(deleteDataset);
  LOGGER.info("Dataset deleted successfully");
  LOGGER.info(deleteDatasetResponse.toString());
  assertTrue(deleteDatasetResponse.getStatus());

  LOGGER.info("Delete Dataset Attributes Negative test stop................................");
}
 
源代码15 项目: modeldb   文件: ProjectTest.java
@Test
public void nnnn_setEmptyProjectReadMeTest() throws IOException {
  LOGGER.info("Get Project ReadMe test start................................");
  try {
    ProjectServiceBlockingStub projectServiceStub = ProjectServiceGrpc.newBlockingStub(channel);

    // Create project
    CreateProject createProjectRequest = getCreateProjectRequest("project_nnnn_seprt");
    CreateProject.Response createProjectResponse =
        projectServiceStub.createProject(createProjectRequest);
    Project project = createProjectResponse.getProject();
    LOGGER.info("\n Project created successfully \n");
    assertEquals(
        "Project name not match with expected project name",
        createProjectRequest.getName(),
        project.getName());

    String readMeText = "";
    SetProjectReadme setProjectReadMe =
        SetProjectReadme.newBuilder().setId(project.getId()).setReadmeText(readMeText).build();
    SetProjectReadme.Response response = projectServiceStub.setProjectReadme(setProjectReadMe);
    assertEquals(
        "Project ID not match with expected project ID",
        project.getId(),
        response.getProject().getId());
    assertEquals(
        "Project ReadMe text not match with expected setProjectReadMe.md file text",
        readMeText,
        response.getProject().getReadmeText());
    assertNotEquals(
        "Project date_updated field not update on database",
        project.getDateUpdated(),
        response.getProject().getDateUpdated());

    GetProjectReadme getProjectReadMe =
        GetProjectReadme.newBuilder().setId(project.getId()).build();
    GetProjectReadme.Response getProjectReadMeResponse =
        projectServiceStub.getProjectReadme(getProjectReadMe);
    assertEquals(
        "Project ReadMe text not match with expected setProjectReadMe.md file text",
        readMeText,
        getProjectReadMeResponse.getReadmeText());

    // Get the file reference
    Path path = Paths.get("target/outputProjectReadMe.md");
    try (BufferedWriter writer = Files.newBufferedWriter(path)) {
      writer.write(getProjectReadMeResponse.getReadmeText());
    }

    DeleteProject deleteProject = DeleteProject.newBuilder().setId(project.getId()).build();
    DeleteProject.Response deleteProjectResponse =
        projectServiceStub.deleteProject(deleteProject);
    LOGGER.info("Project deleted successfully");
    LOGGER.info(deleteProjectResponse.toString());
    assertTrue(deleteProjectResponse.getStatus());

  } catch (StatusRuntimeException e) {
    Status status2 = Status.fromThrowable(e);
    fail();
    LOGGER.info("Error Code : " + status2.getCode() + " Error : " + status2.getDescription());
  }

  LOGGER.info("Get Project ReadMe test stop................................");
}
 
源代码16 项目: modeldb   文件: CommitTest.java
@Test
public void deleteCommitWithTagsTest() throws NoSuchAlgorithmException, ModelDBException {
  LOGGER.info("Delete commit with tags test start................................");

  VersioningServiceBlockingStub versioningServiceBlockingStub =
      VersioningServiceGrpc.newBlockingStub(channel);

  long id = createRepository(versioningServiceBlockingStub, RepositoryTest.NAME);
  GetBranchRequest getBranchRequest =
      GetBranchRequest.newBuilder()
          .setRepositoryId(RepositoryIdentification.newBuilder().setRepoId(id).build())
          .setBranch(ModelDBConstants.MASTER_BRANCH)
          .build();
  GetBranchRequest.Response getBranchResponse =
      versioningServiceBlockingStub.getBranch(getBranchRequest);

  CreateCommitRequest createCommitRequest =
      CommitTest.getCreateCommitRequest(
          id, 111, getBranchResponse.getCommit(), Blob.ContentCase.DATASET);

  CreateCommitRequest.Response commitResponse =
      versioningServiceBlockingStub.createCommit(createCommitRequest);
  assertTrue("Commit not found in response", commitResponse.hasCommit());

  String tag = "v1.0";
  SetTagRequest setTagRequest =
      SetTagRequest.newBuilder()
          .setTag(tag)
          .setCommitSha(commitResponse.getCommit().getCommitSha())
          .setRepositoryId(RepositoryIdentification.newBuilder().setRepoId(id).build())
          .build();
  versioningServiceBlockingStub.setTag(setTagRequest);

  DeleteCommitRequest deleteCommitRequest =
      DeleteCommitRequest.newBuilder()
          .setRepositoryId(RepositoryIdentification.newBuilder().setRepoId(id).build())
          .setCommitSha(commitResponse.getCommit().getCommitSha())
          .build();
  try {
    versioningServiceBlockingStub.deleteCommit(deleteCommitRequest);
  } catch (StatusRuntimeException ex) {
    Status status = Status.fromThrowable(ex);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.FAILED_PRECONDITION.getCode(), status.getCode());
  }

  DeleteTagRequest deleteTagRequest =
      DeleteTagRequest.newBuilder()
          .setTag(tag)
          .setRepositoryId(RepositoryIdentification.newBuilder().setRepoId(id).build())
          .build();
  versioningServiceBlockingStub.deleteTag(deleteTagRequest);

  versioningServiceBlockingStub.deleteCommit(deleteCommitRequest);

  DeleteRepositoryRequest deleteRepository =
      DeleteRepositoryRequest.newBuilder()
          .setRepositoryId(RepositoryIdentification.newBuilder().setRepoId(id))
          .build();
  DeleteRepositoryRequest.Response deleteResult =
      versioningServiceBlockingStub.deleteRepository(deleteRepository);
  Assert.assertTrue(deleteResult.getStatus());
  LOGGER.info("Delete commit with tags test end................................");
}
 
源代码17 项目: modeldb   文件: ExperimentTest.java
@Test
public void d_updateExperimentNameOrDescription() {
  LOGGER.info("Update Experiment Name & Description test start................................");

  ProjectServiceBlockingStub projectServiceStub = ProjectServiceGrpc.newBlockingStub(channel);
  ExperimentServiceBlockingStub experimentServiceStub =
      ExperimentServiceGrpc.newBlockingStub(channel);

  // Create project
  ProjectTest projectTest = new ProjectTest();
  CreateProject createProjectRequest =
      projectTest.getCreateProjectRequest("experiment_project_n_sprt_abc");
  CreateProject.Response createProjectResponse =
      projectServiceStub.createProject(createProjectRequest);
  Project project = createProjectResponse.getProject();
  LOGGER.info("Project created successfully");
  assertEquals(
      "Project name not match with expected project name",
      createProjectRequest.getName(),
      project.getName());

  // Create experiment of above project
  CreateExperiment createExperimentRequest =
      getCreateExperimentRequest(project.getId(), "Experiment_n_sprt_abc");
  CreateExperiment.Response createExperimentResponse =
      experimentServiceStub.createExperiment(createExperimentRequest);
  Experiment experiment = createExperimentResponse.getExperiment();
  LOGGER.info("Experiment created successfully");
  assertEquals(
      "Experiment name not match with expected Experiment name",
      createExperimentRequest.getName(),
      createExperimentResponse.getExperiment().getName());

  UpdateExperimentDescription upDescriptionRequest =
      UpdateExperimentDescription.newBuilder()
          .setId(experiment.getId())
          .setDescription(
              "This is update from UpdateExperimentDescription "
                  + Calendar.getInstance().getTimeInMillis())
          .build();

  UpdateExperimentDescription.Response response =
      experimentServiceStub.updateExperimentDescription(upDescriptionRequest);
  LOGGER.info("UpdateExperimentDescription Response : " + response.getExperiment());
  assertEquals(
      "Experiment name not match with expected experiment name",
      experiment.getName(),
      response.getExperiment().getName());
  assertEquals(
      "Experiment description not match with expected experiment name",
      upDescriptionRequest.getDescription(),
      response.getExperiment().getDescription());
  assertNotEquals(
      "Experiment date_updated field not update on database",
      experiment.getDateUpdated(),
      response.getExperiment().getDateUpdated());
  experiment = response.getExperiment();

  UpdateExperimentName updateNameRequest =
      UpdateExperimentName.newBuilder()
          .setId(experiment.getId())
          .setName("Test Update Experiment Name" + Calendar.getInstance().getTimeInMillis())
          .build();

  UpdateExperimentName.Response updateNameResponse =
      experimentServiceStub.updateExperimentName(updateNameRequest);
  LOGGER.info("UpdateExperimentName Response : " + response.getExperiment());
  assertEquals(
      "Experiment name not match with expected experiment name",
      updateNameRequest.getName(),
      updateNameResponse.getExperiment().getName());
  assertEquals(
      "Experiment description not match with expected experiment name",
      experiment.getDescription(),
      response.getExperiment().getDescription());
  assertNotEquals(
      "Experiment date_updated field not update on database",
      experiment.getDateUpdated(),
      updateNameResponse.getExperiment().getDateUpdated());

  try {
    String name =
        "Experiment of Human Activity Recognition using Smartphone Dataset Human Activity Recognition using Smartphone Dataset Human Activity Recognition using Smartphone Dataset Human Activity Recognition using Smartphone Dataset Human Activity Recognition using Smartphone Dataset";
    updateNameRequest = updateNameRequest.toBuilder().setName(name).build();
    experimentServiceStub.updateExperimentName(updateNameRequest);
    fail();
  } catch (StatusRuntimeException ex) {
    Status status = Status.fromThrowable(ex);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.INVALID_ARGUMENT.getCode(), status.getCode());
  }

  // Delete Project
  DeleteProject deleteProject = DeleteProject.newBuilder().setId(project.getId()).build();
  DeleteProject.Response deleteProjectResponse = projectServiceStub.deleteProject(deleteProject);
  LOGGER.info("Project deleted successfully");
  LOGGER.info(deleteProjectResponse.toString());
  assertTrue(deleteProjectResponse.getStatus());

  LOGGER.info("Update Experiment Name & Description test stop................................");
}
 
源代码18 项目: modeldb   文件: ProjectTest.java
@Test
public void iii_deleteProjectAttributesNegativeTest() {
  LOGGER.info("Delete Project Attributes Negative test start................................");

  ProjectServiceBlockingStub projectServiceStub = ProjectServiceGrpc.newBlockingStub(channel);

  DeleteProjectAttributes deleteProjectAttributesRequest =
      DeleteProjectAttributes.newBuilder().build();

  try {
    projectServiceStub.deleteProjectAttributes(deleteProjectAttributesRequest);
    fail();
  } catch (StatusRuntimeException ex) {
    Status status = Status.fromThrowable(ex);
    LOGGER.warn("Error Code : " + status.getCode() + " Description : " + status.getDescription());
    assertEquals(Status.INVALID_ARGUMENT.getCode(), status.getCode());
  }

  // Create project
  CreateProject createProjectRequest = getCreateProjectRequest("project_f_apt");
  CreateProject.Response createProjectResponse =
      projectServiceStub.createProject(createProjectRequest);
  Project project = createProjectResponse.getProject();
  LOGGER.info("Project created successfully");
  assertEquals(
      "Project name not match with expected project name",
      createProjectRequest.getName(),
      project.getName());

  deleteProjectAttributesRequest =
      DeleteProjectAttributes.newBuilder().setId(project.getId()).setDeleteAll(true).build();
  DeleteProjectAttributes.Response response =
      projectServiceStub.deleteProjectAttributes(deleteProjectAttributesRequest);
  LOGGER.info(
      "All the Attributes deleted from server. Attributes count : "
          + response.getProject().getAttributesCount());
  assertEquals(0, response.getProject().getAttributesList().size());

  DeleteProject deleteProject = DeleteProject.newBuilder().setId(project.getId()).build();
  DeleteProject.Response deleteProjectResponse = projectServiceStub.deleteProject(deleteProject);
  LOGGER.info("Project deleted successfully");
  LOGGER.info(deleteProjectResponse.toString());
  assertTrue(deleteProjectResponse.getStatus());

  LOGGER.info("Delete Project Attributes Negative test stop................................");
}
 
源代码19 项目: modeldb   文件: NFSArtifactStoreTest.java
@Test
public void getArtifactTest() {
  LOGGER.info("get artifact test start................................");

  try {
    storeArtifactTest();

    GetUrlForArtifact getUrlForArtifactRequest =
        GetUrlForArtifact.newBuilder()
            .setId(experimentRun.getId())
            .setKey(artifactKey)
            .setMethod("GET")
            .setArtifactType(ArtifactType.IMAGE)
            .build();
    GetUrlForArtifact.Response getUrlForArtifactResponse =
        experimentRunServiceStub.getUrlForArtifact(getUrlForArtifactRequest);

    URL url = new URL(getUrlForArtifactResponse.getUrl());
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    InputStream inputStream = connection.getInputStream();

    String rootPath = System.getProperty("user.dir");
    FileOutputStream fileOutputStream =
        new FileOutputStream(new File(rootPath + File.separator + artifactKey));
    IOUtils.copy(inputStream, fileOutputStream);
    fileOutputStream.close();
    inputStream.close();

    File downloadedFile = new File(rootPath + File.separator + artifactKey);
    if (!downloadedFile.exists()) {
      fail("File not fount at download destination");
    }
    downloadedFile.delete();

  } catch (Exception e) {
    e.printStackTrace();
    Status status = Status.fromThrowable(e);
    LOGGER.error(
        "Error Code : " + status.getCode() + " Description : " + status.getDescription());
    fail();
  }

  LOGGER.info("get artifact test stop................................");
}
 
源代码20 项目: grpc-java   文件: AbstractServerStreamTest.java
@Override
public void deframeFailed(Throwable cause) {
  Status status = Status.fromThrowable(cause);
  transportReportStatus(status);
}