io.grpc.Status#PERMISSION_DENIED源码实例Demo

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

@Test
public void testConvertsTargetChangeWithRemoved() {
  WatchTargetChange expected =
      new WatchTargetChange(
          WatchTargetChangeType.Removed,
          asList(1, 4),
          ByteString.copyFrom(new byte[] {0, 1, 2}),
          Status.PERMISSION_DENIED);
  WatchTargetChange actual =
      (WatchTargetChange)
          serializer.decodeWatchChange(
              ListenResponse.newBuilder()
                  .setTargetChange(
                      TargetChange.newBuilder()
                          .setTargetChangeType(TargetChangeType.REMOVE)
                          .addTargetIds(1)
                          .addTargetIds(4)
                          .setCause(com.google.rpc.Status.newBuilder().setCode(7))
                          .setResumeToken(ByteString.copyFrom(new byte[] {0, 1, 2})))
                  .build());
  assertEquals(expected, actual);
}
 
@Test
public void testNonRetryableException() {
  assertThat(createR2dbcException(new IllegalArgumentException()))
      .isInstanceOf(R2dbcNonTransientResourceException.class);
  assertThat(createR2dbcException((new IOException())))
      .isInstanceOf(R2dbcNonTransientResourceException.class);

  StatusRuntimeException nonRetryableException =
      new StatusRuntimeException(Status.PERMISSION_DENIED);
  assertThat(createR2dbcException(nonRetryableException))
      .isInstanceOf(R2dbcPermissionDeniedException.class);
}
 
源代码3 项目: pravega   文件: ControllerServiceImpl.java
@SuppressWarnings("checkstyle:ReturnCount")
private Status getStatusFromException(Throwable cause) {
    if (cause instanceof StoreException.DataExistsException) {
        return Status.ALREADY_EXISTS;
    }
    if (cause instanceof StoreException.DataNotFoundException) {
        return Status.NOT_FOUND;
    }
    if (cause instanceof StoreException.DataNotEmptyException) {
        return Status.FAILED_PRECONDITION;
    }
    if (cause instanceof StoreException.WriteConflictException) {
        return Status.FAILED_PRECONDITION;
    }
    if (cause instanceof StoreException.IllegalStateException) {
        return Status.INTERNAL;
    }
    if (cause instanceof StoreException.OperationNotAllowedException) {
        return Status.PERMISSION_DENIED;
    }
    if (cause instanceof StoreException.StoreConnectionException) {
        return Status.INTERNAL;
    }
    if (cause instanceof TimeoutException) {
        return Status.DEADLINE_EXCEEDED;
    }
    return Status.UNKNOWN;
}
 
源代码4 项目: grpc-nebula-java   文件: RouteGuideClientTest.java
/**
 * Example for testing bi-directional call.
 */
@Test
public void routeChat_errorResponse() throws Exception {
  final List<RouteNote> notesDelivered = new ArrayList<>();
  final StatusRuntimeException fakeError = new StatusRuntimeException(Status.PERMISSION_DENIED);

  // implement the fake service
  RouteGuideImplBase routeChatImpl =
      new RouteGuideImplBase() {
        @Override
        public StreamObserver<RouteNote> routeChat(
            final StreamObserver<RouteNote> responseObserver) {
          StreamObserver<RouteNote> requestObserver = new StreamObserver<RouteNote>() {
            @Override
            public void onNext(RouteNote value) {
              notesDelivered.add(value);
              responseObserver.onError(fakeError);
            }

            @Override
            public void onError(Throwable t) {
            }

            @Override
            public void onCompleted() {
              responseObserver.onCompleted();
            }
          };

          return requestObserver;
        }
      };
  serviceRegistry.addService(routeChatImpl);

  client.routeChat().await(1, TimeUnit.SECONDS);

  assertEquals("First message", notesDelivered.get(0).getMessage());
  verify(testHelper, never()).onMessage(any(Message.class));
  ArgumentCaptor<Throwable> errorCaptor = ArgumentCaptor.forClass(Throwable.class);
  verify(testHelper).onRpcError(errorCaptor.capture());
  assertEquals(fakeError.getStatus(), Status.fromThrowable(errorCaptor.getValue()));
}
 
源代码5 项目: grpc-java   文件: RouteGuideClientTest.java
/**
 * Example for testing bi-directional call.
 */
@Test
public void routeChat_errorResponse() throws Exception {
  final List<RouteNote> notesDelivered = new ArrayList<>();
  final StatusRuntimeException fakeError = new StatusRuntimeException(Status.PERMISSION_DENIED);

  // implement the fake service
  RouteGuideImplBase routeChatImpl =
      new RouteGuideImplBase() {
        @Override
        public StreamObserver<RouteNote> routeChat(
            final StreamObserver<RouteNote> responseObserver) {
          StreamObserver<RouteNote> requestObserver = new StreamObserver<RouteNote>() {
            @Override
            public void onNext(RouteNote value) {
              notesDelivered.add(value);
              responseObserver.onError(fakeError);
            }

            @Override
            public void onError(Throwable t) {
            }

            @Override
            public void onCompleted() {
              responseObserver.onCompleted();
            }
          };

          return requestObserver;
        }
      };
  serviceRegistry.addService(routeChatImpl);

  client.routeChat().await(1, TimeUnit.SECONDS);

  assertEquals("First message", notesDelivered.get(0).getMessage());
  verify(testHelper, never()).onMessage(any(Message.class));
  ArgumentCaptor<Throwable> errorCaptor = ArgumentCaptor.forClass(Throwable.class);
  verify(testHelper).onRpcError(errorCaptor.capture());
  assertEquals(fakeError.getStatus(), Status.fromThrowable(errorCaptor.getValue()));
}