|
23 | 23 | import org.cloudfoundry.client.v3.applications.ApplicationRelationships; |
24 | 24 | import org.cloudfoundry.client.v3.applications.CreateApplicationRequest; |
25 | 25 | import org.cloudfoundry.client.v3.applications.CreateApplicationResponse; |
| 26 | +import org.cloudfoundry.client.v3.applications.GetApplicationProcessRequest; |
| 27 | +import org.cloudfoundry.client.v3.applications.GetApplicationProcessResponse; |
26 | 28 | import org.cloudfoundry.client.v3.applications.ListApplicationRoutesRequest; |
| 29 | +import org.cloudfoundry.client.v3.applications.ScaleApplicationRequest; |
27 | 30 | import org.cloudfoundry.client.v3.domains.CreateDomainRequest; |
28 | 31 | import org.cloudfoundry.client.v3.domains.CreateDomainResponse; |
29 | 32 | import org.cloudfoundry.client.v3.domains.DomainRelationships; |
@@ -335,6 +338,28 @@ public void listApplicationRoutesBySpaceId() { |
335 | 338 | .verify(Duration.ofMinutes(5)); |
336 | 339 | } |
337 | 340 |
|
| 341 | + @IfCloudFoundryVersion(greaterThanOrEqualTo = CloudFoundryVersion.PCF_2_9) |
| 342 | + @Test |
| 343 | + public void scale() { |
| 344 | + String applicationName = this.nameFactory.getApplicationName(); |
| 345 | + |
| 346 | + this.spaceId |
| 347 | + .flatMap(spaceId -> createApplicationId(this.cloudFoundryClient, applicationName, spaceId)) |
| 348 | + .flatMap(applicationId -> this.cloudFoundryClient.applicationsV3() |
| 349 | + .scale(ScaleApplicationRequest.builder() |
| 350 | + .applicationId(applicationId) |
| 351 | + .diskInMb(404) |
| 352 | + .type("web") |
| 353 | + .build()) |
| 354 | + .thenReturn(applicationId)) |
| 355 | + .flatMap(applicationId -> requestApplicationProcess(this.cloudFoundryClient, applicationId)) |
| 356 | + .map(GetApplicationProcessResponse::getDiskInMb) |
| 357 | + .as(StepVerifier::create) |
| 358 | + .expectNext(404) |
| 359 | + .expectComplete() |
| 360 | + .verify(Duration.ofMinutes(5)); |
| 361 | + } |
| 362 | + |
338 | 363 | private static Mono<String> createApplicationId(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { |
339 | 364 | return requestCreateApplication(cloudFoundryClient, applicationName, spaceId) |
340 | 365 | .map(CreateApplicationResponse::getId); |
@@ -365,6 +390,14 @@ private static Mono<String> createSpaceId(CloudFoundryClient cloudFoundryClient, |
365 | 390 | .map(CreateSpaceResponse::getId); |
366 | 391 | } |
367 | 392 |
|
| 393 | + private static Mono<GetApplicationProcessResponse> requestApplicationProcess(CloudFoundryClient cloudFoundryClient, String applicationId) { |
| 394 | + return cloudFoundryClient.applicationsV3() |
| 395 | + .getProcess(GetApplicationProcessRequest.builder() |
| 396 | + .applicationId(applicationId) |
| 397 | + .type("web") |
| 398 | + .build()); |
| 399 | + } |
| 400 | + |
368 | 401 | private static Mono<CreateApplicationResponse> requestCreateApplication(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { |
369 | 402 | return cloudFoundryClient.applicationsV3() |
370 | 403 | .create(CreateApplicationRequest.builder() |
|
0 commit comments