/** * Lists matching subscriptions. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectName project = ProjectName.of("[PROJECT]"); * for (Subscription element : subscriptionAdminClient.listSubscriptions(project.toString()).iterateAll()) { * // doThingsWith(element); * } * } * </code></pre> * * @param project The name of the project in which to list subscriptions. Format is * `projects/{project-id}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListSubscriptionsPagedResponse listSubscriptions(String project) { ListSubscriptionsRequest request = ListSubscriptionsRequest.newBuilder().setProject(project).build(); return listSubscriptions(request); }
/** * Lists matching subscriptions. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectName project = ProjectName.of("[PROJECT]"); * for (Subscription element : subscriptionAdminClient.listSubscriptions(project).iterateAll()) { * // doThingsWith(element); * } * } * </code></pre> * * @param project The name of the project in which to list subscriptions. Format is * `projects/{project-id}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListSubscriptionsPagedResponse listSubscriptions(ProjectName project) { ListSubscriptionsRequest request = ListSubscriptionsRequest.newBuilder() .setProject(project == null ? null : project.toString()) .build(); return listSubscriptions(request); }
/** Example of listing subscriptions. */ public ListSubscriptionsPagedResponse listSubscriptions() throws Exception { // [START pubsub_list_subscriptions] try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { ListSubscriptionsRequest listSubscriptionsRequest = ListSubscriptionsRequest.newBuilder() .setProject(ProjectName.of(projectId).toString()) .build(); ListSubscriptionsPagedResponse response = subscriptionAdminClient.listSubscriptions(listSubscriptionsRequest); Iterable<Subscription> subscriptions = response.iterateAll(); for (Subscription subscription : subscriptions) { // do something with the subscription } return response; } // [END pubsub_list_subscriptions] }
@Test @SuppressWarnings("all") public void listSubscriptionsExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { ProjectName project = ProjectName.of("[PROJECT]"); client.listSubscriptions(project); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test @SuppressWarnings("all") public void listSubscriptionsTest() { String nextPageToken = ""; Subscription subscriptionsElement = Subscription.newBuilder().build(); List<Subscription> subscriptions = Arrays.asList(subscriptionsElement); ListSubscriptionsResponse expectedResponse = ListSubscriptionsResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllSubscriptions(subscriptions) .build(); mockSubscriber.addResponse(expectedResponse); ProjectName project = ProjectName.of("[PROJECT]"); ListSubscriptionsPagedResponse pagedListResponse = client.listSubscriptions(project); List<Subscription> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getSubscriptionsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockSubscriber.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListSubscriptionsRequest actualRequest = (ListSubscriptionsRequest) actualRequests.get(0); Assert.assertEquals(project, ProjectName.parse(actualRequest.getProject())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
/** * Return every subscription in a project. * <p>If there are multiple pages, they will all be merged into the same result. * @return a list of subscriptions */ public List<Subscription> listSubscriptions() { SubscriptionAdminClient.ListSubscriptionsPagedResponse subscriptionsPage = this.subscriptionAdminClient.listSubscriptions(ProjectName.of(this.projectId)); List<Subscription> subscriptions = new ArrayList<>(); subscriptionsPage.iterateAll().forEach(subscriptions::add); return Collections.unmodifiableList(subscriptions); }
/** * Return every subscription in a project. * <p>If there are multiple pages, they will all be merged into the same result. * @return a list of subscriptions */ public List<Subscription> listSubscriptions() { SubscriptionAdminClient.ListSubscriptionsPagedResponse subscriptionsPage = this.subscriptionAdminClient.listSubscriptions(ProjectName.of(this.projectId)); return Lists.newArrayList(subscriptionsPage.iterateAll()); }