@Test @SuppressWarnings("all") public void listTopicsTest() { String nextPageToken = ""; Topic topicsElement = Topic.newBuilder().build(); List<Topic> topics = Arrays.asList(topicsElement); ListTopicsResponse expectedResponse = ListTopicsResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllTopics(topics) .build(); mockPublisher.addResponse(expectedResponse); ProjectName project = ProjectName.of("[PROJECT]"); ListTopicsPagedResponse pagedListResponse = client.listTopics(project); List<Topic> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getTopicsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockPublisher.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListTopicsRequest actualRequest = (ListTopicsRequest) actualRequests.get(0); Assert.assertEquals(project, ProjectName.parse(actualRequest.getProject())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
/** * Return every topic in a project. * <p>If there are multiple pages, they will all be merged into the same result. * @return a list of topics */ public List<Topic> listTopics() { TopicAdminClient.ListTopicsPagedResponse topicListPage = this.topicAdminClient.listTopics(ProjectName.of(this.projectId)); return Lists.newArrayList(topicListPage.iterateAll()); }
/** * Return every topic in a project. * <p>If there are multiple pages, they will all be merged into the same result. * @return a list of topics */ public List<Topic> listTopics() { TopicAdminClient.ListTopicsPagedResponse topicListPage = this.topicAdminClient.listTopics(ProjectName.of(this.projectId)); List<Topic> topics = new ArrayList<>(); topicListPage.iterateAll().forEach(topics::add); return Collections.unmodifiableList(topics); }
/** Example of listing topics. */ public ListTopicsPagedResponse listTopics() throws Exception { // [START pubsub_list_topics] try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { ListTopicsRequest listTopicsRequest = ListTopicsRequest.newBuilder().setProject(ProjectName.format(projectId)).build(); ListTopicsPagedResponse response = topicAdminClient.listTopics(listTopicsRequest); Iterable<Topic> topics = response.iterateAll(); for (Topic topic : topics) { // do something with the topic } return response; } // [END pubsub_list_topics] }
public static ApiFuture<ListTopicsPagedResponse> createAsync( PageContext<ListTopicsRequest, ListTopicsResponse, Topic> context, ApiFuture<ListTopicsResponse> futureResponse) { ApiFuture<ListTopicsPage> futurePage = ListTopicsPage.createEmptyPage().createPageAsync(context, futureResponse); return ApiFutures.transform( futurePage, new ApiFunction<ListTopicsPage, ListTopicsPagedResponse>() { @Override public ListTopicsPagedResponse apply(ListTopicsPage input) { return new ListTopicsPagedResponse(input); } }); }
@Override public ListTopicsPagedResponse apply(ListTopicsPage input) { return new ListTopicsPagedResponse(input); } });
@Override public ApiFuture<ListTopicsPagedResponse> getFuturePagedResponse( UnaryCallable<ListTopicsRequest, ListTopicsResponse> callable, ListTopicsRequest request, ApiCallContext context, ApiFuture<ListTopicsResponse> futureResponse) { PageContext<ListTopicsRequest, ListTopicsResponse, Topic> pageContext = PageContext.create(callable, LIST_TOPICS_PAGE_STR_DESC, request, context); return ListTopicsPagedResponse.createAsync(pageContext, futureResponse); } };