diff --git a/spring-cloud-app-broker-deployer-cloudfoundry/src/main/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployer.java b/spring-cloud-app-broker-deployer-cloudfoundry/src/main/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployer.java index 01540d9..b3241fa 100644 --- a/spring-cloud-app-broker-deployer-cloudfoundry/src/main/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployer.java +++ b/spring-cloud-app-broker-deployer-cloudfoundry/src/main/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployer.java @@ -191,8 +191,6 @@ public class CloudFoundryAppDeployer implements AppDeployer, ResourceLoaderAware @Override public Mono update(UpdateApplicationRequest request) { final String name = request.getName(); - final Map environmentVariables = - getApplicationEnvironment(request.getProperties(), request.getEnvironment(), request.getServiceInstanceId()); return operationsUtils.getOperations(request.getProperties()) .flatMap(cfOperations -> cfOperations.applications() @@ -201,9 +199,6 @@ public class CloudFoundryAppDeployer implements AppDeployer, ResourceLoaderAware .doOnSuccess(response -> logger.info("Success getting application {}", name)) .doOnError(e -> logger.warn(String.format("Error getting application %s: %s", name, e.getMessage()))) .map(ApplicationDetail::getId) - .flatMap(applicationId -> - updateApplicationEnvironment(applicationId, environmentVariables, request.getProperties()).thenReturn(applicationId) - ) .flatMap(applicationId -> associateHostName(applicationId, request.getProperties())) .flatMap(applicationId -> Mono.zip(Mono.just(applicationId), upgradeApplication(request, applicationId))) @@ -398,7 +393,11 @@ public class CloudFoundryAppDeployer implements AppDeployer, ResourceLoaderAware .flatMap(packageId -> waitForPackageReady(packageId) .map(Package::getId)); } - return getPackageForApplication(applicationId); + + final Map environmentVariables = + getApplicationEnvironment(request.getProperties(), request.getEnvironment(), request.getServiceInstanceId()); + return updateApplicationEnvironment(applicationId, environmentVariables, request.getProperties()) + .flatMap(a -> getPackageForApplication(applicationId)); } private Mono getPackageForApplication(String applicationId) { diff --git a/spring-cloud-app-broker-deployer-cloudfoundry/src/test/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployerUpdateApplicationTest.java b/spring-cloud-app-broker-deployer-cloudfoundry/src/test/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployerUpdateApplicationTest.java index bcaa76f..9979eaf 100644 --- a/spring-cloud-app-broker-deployer-cloudfoundry/src/test/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployerUpdateApplicationTest.java +++ b/spring-cloud-app-broker-deployer-cloudfoundry/src/test/java/org/springframework/cloud/appbroker/deployer/cloudfoundry/CloudFoundryAppDeployerUpdateApplicationTest.java @@ -289,12 +289,6 @@ class CloudFoundryAppDeployerUpdateApplicationTest { @Test void updateAppWithUpgrade() { - ArgumentCaptor updateApplicationRequestCaptor = - ArgumentCaptor.forClass(org.cloudfoundry.client.v2.applications.UpdateApplicationRequest.class); - - when(applicationsV2.update(updateApplicationRequestCaptor.capture())) - .thenReturn(Mono.just(UpdateApplicationResponse.builder().build())); - Map properties = new HashMap<>(); properties.put("upgrade", "true"); @@ -309,6 +303,8 @@ class CloudFoundryAppDeployerUpdateApplicationTest { StepVerifier.create(appDeployer.update(request)) .assertNext(response -> assertThat(response.getName()).isEqualTo(APP_NAME)) .verifyComplete(); + + verifyZeroInteractions(applicationsV2); } @Test diff --git a/spring-cloud-app-broker-integration-tests/src/test/java/org.springframework.cloud.appbroker/integration/fixtures/CloudControllerStubFixture.java b/spring-cloud-app-broker-integration-tests/src/test/java/org.springframework.cloud.appbroker/integration/fixtures/CloudControllerStubFixture.java index 063f019..882596a 100644 --- a/spring-cloud-app-broker-integration-tests/src/test/java/org.springframework.cloud.appbroker/integration/fixtures/CloudControllerStubFixture.java +++ b/spring-cloud-app-broker-integration-tests/src/test/java/org.springframework.cloud.appbroker/integration/fixtures/CloudControllerStubFixture.java @@ -217,7 +217,6 @@ public class CloudControllerStubFixture extends WiremockStubFixture { } public void stubUpdateAppWithUpgrade(final String appName) { - stubUpdateEnvironment(appName); stubCreatePackage(appName); stubCreateBuild(appName); stubCreateDeployment(appName);