Creating and deleting custom domains on AT
This commit is contained in:
@@ -300,6 +300,14 @@ abstract class CloudFoundryAcceptanceTest {
|
||||
.blockOptional();
|
||||
}
|
||||
|
||||
void createDomain(String domain) {
|
||||
cloudFoundryService.createDomain(domain).block();
|
||||
}
|
||||
|
||||
void deleteDomain(String domain) {
|
||||
cloudFoundryService.deleteDomain(domain).block();
|
||||
}
|
||||
|
||||
private Path getTestBrokerAppPath() {
|
||||
return Paths.get(acceptanceTestProperties.getBrokerAppPath(), "");
|
||||
}
|
||||
@@ -360,4 +368,4 @@ abstract class CloudFoundryAcceptanceTest {
|
||||
.collectList();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,9 @@ class UpdateInstanceWithHostAndDomainAcceptanceTest extends CloudFoundryAcceptan
|
||||
String path = backingApplication.get().getUrls().get(0);
|
||||
healthListener.start(path);
|
||||
|
||||
// and the domain exists
|
||||
createDomain("mydomain.com");
|
||||
|
||||
// when the service instance is updated
|
||||
Map<String, Object> parameters = new HashMap<>();
|
||||
parameters.put("host", "myhost");
|
||||
@@ -97,5 +100,7 @@ class UpdateInstanceWithHostAndDomainAcceptanceTest extends CloudFoundryAcceptan
|
||||
// then the backing application is deleted
|
||||
Optional<ApplicationSummary> backingApplicationAfterDeletion = getApplicationSummary(APP_NAME);
|
||||
assertThat(backingApplicationAfterDeletion).isEmpty();
|
||||
|
||||
deleteDomain("mydomain.com");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import org.cloudfoundry.client.v2.organizations.AssociateOrganizationUserRequest
|
||||
import org.cloudfoundry.client.v2.organizations.AssociateOrganizationUserResponse;
|
||||
import org.cloudfoundry.client.v2.organizations.RemoveOrganizationManagerRequest;
|
||||
import org.cloudfoundry.client.v2.organizations.RemoveOrganizationUserRequest;
|
||||
import org.cloudfoundry.client.v2.privatedomains.DeletePrivateDomainRequest;
|
||||
import org.cloudfoundry.client.v2.spaces.AssociateSpaceDeveloperRequest;
|
||||
import org.cloudfoundry.client.v2.spaces.AssociateSpaceDeveloperResponse;
|
||||
import org.cloudfoundry.client.v2.spaces.RemoveSpaceDeveloperRequest;
|
||||
@@ -43,6 +44,8 @@ import org.cloudfoundry.operations.applications.GetApplicationEnvironmentsReques
|
||||
import org.cloudfoundry.operations.applications.GetApplicationRequest;
|
||||
import org.cloudfoundry.operations.applications.PushApplicationManifestRequest;
|
||||
import org.cloudfoundry.operations.applications.StopApplicationRequest;
|
||||
import org.cloudfoundry.operations.domains.CreateDomainRequest;
|
||||
import org.cloudfoundry.operations.domains.Domain;
|
||||
import org.cloudfoundry.operations.organizations.CreateOrganizationRequest;
|
||||
import org.cloudfoundry.operations.organizations.OrganizationSummary;
|
||||
import org.cloudfoundry.operations.organizations.Organizations;
|
||||
@@ -333,6 +336,32 @@ public class CloudFoundryService {
|
||||
.then(removeOrgUser(orgId, userId)));
|
||||
}
|
||||
|
||||
public Mono<Void> createDomain(String domain) {
|
||||
return cloudFoundryOperations
|
||||
.domains()
|
||||
.create(CreateDomainRequest
|
||||
.builder()
|
||||
.domain(domain)
|
||||
.organization(cloudFoundryProperties.getDefaultOrg())
|
||||
.build())
|
||||
.onErrorResume(e -> Mono.empty());
|
||||
}
|
||||
|
||||
public Mono<Void> deleteDomain(String domain) {
|
||||
return cloudFoundryOperations
|
||||
.domains()
|
||||
.list()
|
||||
.filter(d -> d.getName().equals(domain))
|
||||
.map(Domain::getId)
|
||||
.flatMap(domainId -> cloudFoundryClient
|
||||
.privateDomains()
|
||||
.delete(DeletePrivateDomainRequest
|
||||
.builder()
|
||||
.privateDomainId(domainId)
|
||||
.build()))
|
||||
.then();
|
||||
}
|
||||
|
||||
private Mono<AssociateOrganizationUserResponse> associateOrgUser(String orgId, String userId) {
|
||||
return cloudFoundryClient.organizations().associateUser(AssociateOrganizationUserRequest.builder()
|
||||
.organizationId(orgId)
|
||||
|
||||
Reference in New Issue
Block a user