From 3c6dd19921f557814312dad6f61f8e48c14e1564 Mon Sep 17 00:00:00 2001 From: Daniel Garnier-Moiroux Date: Thu, 11 Dec 2025 18:01:45 +0100 Subject: [PATCH] DomainsV3: fix "router_group.id" type --- .../v3/domains/ReactorDomainsV3Test.java | 6 ++++ .../client/v3/domains/GET_response.json | 1 + .../client/v3/domains/_RouterGroup.java | 2 +- .../cloudfoundry/operations/DomainsTest.java | 34 +++++++++++++++++-- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java index 225145322a3..36de7e88e47 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java @@ -42,6 +42,7 @@ import org.cloudfoundry.client.v3.domains.GetDomainResponse; import org.cloudfoundry.client.v3.domains.ListDomainsRequest; import org.cloudfoundry.client.v3.domains.ListDomainsResponse; +import org.cloudfoundry.client.v3.domains.RouterGroup; import org.cloudfoundry.client.v3.domains.ShareDomainRequest; import org.cloudfoundry.client.v3.domains.ShareDomainResponse; import org.cloudfoundry.client.v3.domains.UnshareDomainRequest; @@ -279,6 +280,11 @@ void list() { .updatedAt("2019-03-08T01:06:19Z") .name("test-domain.com") .isInternal(false) + .routerGroup( + RouterGroup.builder() + .id( + "5806148f-cce6-4d86-7fbd-aa269e3f6f3f") + .build()) .relationships( DomainRelationships.builder() .organization( diff --git a/cloudfoundry-client-reactor/src/test/resources/fixtures/client/v3/domains/GET_response.json b/cloudfoundry-client-reactor/src/test/resources/fixtures/client/v3/domains/GET_response.json index 03719e81965..475006d70c0 100644 --- a/cloudfoundry-client-reactor/src/test/resources/fixtures/client/v3/domains/GET_response.json +++ b/cloudfoundry-client-reactor/src/test/resources/fixtures/client/v3/domains/GET_response.json @@ -20,6 +20,7 @@ "updated_at": "2019-03-08T01:06:19Z", "name": "test-domain.com", "internal": false, + "router_group": { "guid": "5806148f-cce6-4d86-7fbd-aa269e3f6f3f" }, "metadata": { "labels": {}, "annotations": {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/_RouterGroup.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/_RouterGroup.java index 9c66c8c2491..da6489b954a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/_RouterGroup.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/_RouterGroup.java @@ -30,6 +30,6 @@ public abstract class _RouterGroup { * The id of the desired router group to route tcp traffic through */ @JsonProperty("guid") - public abstract List getId(); + public abstract String getId(); } diff --git a/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java b/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java index 8fe5c90cb78..f56d7c777b9 100644 --- a/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java +++ b/integration-test/src/test/java/org/cloudfoundry/operations/DomainsTest.java @@ -22,10 +22,13 @@ import java.time.Duration; import org.cloudfoundry.AbstractIntegrationTest; +import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; +import org.cloudfoundry.client.v3.domains.GetDomainRequest; import org.cloudfoundry.operations.domains.CreateDomainRequest; import org.cloudfoundry.operations.domains.CreateSharedDomainRequest; import org.cloudfoundry.operations.domains.Domain; +import org.cloudfoundry.operations.domains.RouterGroup; import org.cloudfoundry.operations.domains.ShareDomainRequest; import org.cloudfoundry.operations.domains.UnshareDomainRequest; import org.cloudfoundry.operations.organizations.CreateOrganizationRequest; @@ -40,6 +43,7 @@ public final class DomainsTest extends AbstractIntegrationTest { private static final String DEFAULT_ROUTER_GROUP = "default-tcp"; @Autowired private CloudFoundryOperations cloudFoundryOperations; + @Autowired private CloudFoundryClient cloudFoundryClient; @Autowired private String organizationName; @@ -112,9 +116,35 @@ public void createSharedTcp() { .build()) .thenMany(requestListDomains(this.cloudFoundryOperations)) .filter(domain -> domainName.equals(domain.getName())) - .map(Domain::getType) .as(StepVerifier::create) - .expectNext("tcp") + .expectNextMatches(domain -> domain.getType().equals("tcp")) + .expectComplete() + .verify(Duration.ofMinutes(5)); + + this.cloudFoundryOperations + .domains() + .list() + .filter(d -> d.getName().equals(domainName)) + .single() + .flatMap( + d -> + this.cloudFoundryClient + .domainsV3() + .get( + GetDomainRequest.builder() + .domainId(d.getId()) + .build())) + .map(d -> d.getRouterGroup().getId()) + .flatMap( + id -> + this.cloudFoundryOperations + .domains() + .listRouterGroups() + .filter(rg -> rg.getId().equals(id)) + .single()) + .map(RouterGroup::getName) + .as(StepVerifier::create) + .expectNext(DEFAULT_ROUTER_GROUP) .expectComplete() .verify(Duration.ofMinutes(5)); }