Skip to content

Commit cc7cd88

Browse files
Fixing pagination on v3._ListSecurityGroupsRequest (#1277)
- Use the correct PaginatedRequest version for v3._ListSecurityGroupsRequest - Add an integration test to exercise pagination on `/v3/security_groups` Closes gh-1242
1 parent 8301163 commit cc7cd88

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/securitygroups/_ListSecurityGroupsRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
package org.cloudfoundry.client.v3.securitygroups;
1616

17-
import org.cloudfoundry.client.v2.PaginatedRequest;
17+
import org.cloudfoundry.client.v3.PaginatedRequest;
1818
import org.immutables.value.Value;
1919
import org.cloudfoundry.client.v3.FilterParameter;
2020
import org.cloudfoundry.Nullable;

integration-test/src/test/java/org/cloudfoundry/client/v3/SecurityGroupsTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import java.time.Duration;
2020
import java.util.Arrays;
21+
import java.util.Collections;
2122
import org.cloudfoundry.AbstractIntegrationTest;
2223
import org.cloudfoundry.client.CloudFoundryClient;
2324
import org.cloudfoundry.client.v3.securitygroups.BindRunningSecurityGroupRequest;
@@ -34,6 +35,7 @@
3435
import org.cloudfoundry.client.v3.securitygroups.UnbindRunningSecurityGroupRequest;
3536
import org.cloudfoundry.client.v3.securitygroups.UnbindStagingSecurityGroupRequest;
3637
import org.cloudfoundry.client.v3.securitygroups.UpdateSecurityGroupRequest;
38+
import org.cloudfoundry.util.PaginationUtils;
3739
import org.junit.jupiter.api.BeforeEach;
3840
import org.junit.jupiter.api.Test;
3941
import org.springframework.beans.factory.annotation.Autowired;
@@ -196,6 +198,32 @@ public void listStaging() {
196198
.verify(Duration.ofMinutes(5));
197199
}
198200

201+
@Test
202+
public void listWithPagination() {
203+
this.securityGroup
204+
.flux()
205+
.flatMap(
206+
securityGroup ->
207+
PaginationUtils.requestClientV3Resources(
208+
page ->
209+
cloudFoundryClient
210+
.securityGroupsV3()
211+
.list(
212+
ListSecurityGroupsRequest.builder()
213+
.page(page)
214+
.perPage(1)
215+
.names(
216+
Collections
217+
.singletonList(
218+
securityGroup
219+
.getName()))
220+
.build())))
221+
.as(StepVerifier::create)
222+
.expectNextCount(1)
223+
.expectComplete()
224+
.verify(Duration.ofMinutes(5));
225+
}
226+
199227
@Test
200228
public void bindStagingSecurityGroup() {
201229
Mono.zip(this.securityGroup, this.spaceId)

0 commit comments

Comments
 (0)