FlyteAdminClient { public ProjectOuterClass.Projects listProjects() { LOG.debug("listProjects"); return stub.listProjects(ProjectOuterClass.ProjectListRequest.getDefaultInstance()); } FlyteAdminClient(AdminServiceGrpc.AdminServiceBlockingStub stub); static FlyteAdminClient create(String target, boolean insecure); ExecutionOuterClass.ExecutionCreateResponse createExecution(
      String project,
      String domain,
      String name,
      IdentifierOuterClass.Identifier launchPlanId,
      ExecutionOuterClass.ExecutionMetadata.ExecutionMode executionMode,
      Map<String, String> annotations,
      String parameter); ExecutionOuterClass.Execution getExecution(String project, String domain, String name); ExecutionOuterClass.ExecutionTerminateResponse terminateExecution(
      String project, String domain, String name, String cause); ExecutionOuterClass.ExecutionList listExecutions(
      String project,
      String domain,
      int limit,
      String token,
      String filters); ProjectOuterClass.Projects listProjects();  }
@Test public void shouldPropagateListProjectsToStub() { var listProjectsResponse = flyteAdminClient.listProjects(); assertThat(listProjectsResponse.getProjectsList(), hasSize(1)); assertThat(listProjectsResponse.getProjectsList().get(0).getId(), equalTo(PROJECT)); assertThat(listProjectsResponse.getProjectsList().get(0).getDomains(0).getId(), equalTo(DOMAIN)); }