.serviceInstanceId("service-instance-id") .serviceDefinitionId("service-definition-id") .planId("plan-id") .previousValues(new PreviousValues("previous-plan-id")) .context(context) .parameters("field1", "value1") .parameters("field2", 2) .parameters("field3", true) .parameters(parameters) .asyncAccepted(true) .platformInstanceId("platform-instance-id") .apiInfoLocation("https://api.example.com") .originatingIdentity(originatingIdentity) .build();
@Theory public void updateServiceInstanceWithResponseGivesExpectedStatus(UpdateResponseAndExpectedStatus data) { Mono<UpdateServiceInstanceResponse> responseMono; if (data.response == null) { responseMono = Mono.empty(); } else { responseMono = Mono.just(data.response); } when(serviceInstanceService.updateServiceInstance(any(UpdateServiceInstanceRequest.class))) .thenReturn(responseMono); UpdateServiceInstanceRequest updateRequest = UpdateServiceInstanceRequest.builder() .serviceDefinitionId("service-definition-id") .build(); ResponseEntity<UpdateServiceInstanceResponse> responseEntity = controller .updateServiceInstance(pathVariables, null, false, null, null, updateRequest) .block(); assertThat(responseEntity.getStatusCode()).isEqualTo(data.expectedStatus); assertThat(responseEntity.getBody()).isEqualTo(data.response); }
@Before public void setUpCommonFixtures() { this.createRequestBody = JsonUtils.toJson(CreateServiceInstanceRequest .builder() .serviceDefinitionId(serviceDefinition.getId()) .planId("plan-one-id") .build()); this.updateRequestBody = JsonUtils.toJson(UpdateServiceInstanceRequest .builder() .serviceDefinitionId(serviceDefinition.getId()) .build()); this.updateRequestBodyWithPlan = JsonUtils.toJson(UpdateServiceInstanceRequest .builder() .serviceDefinitionId(serviceDefinition.getId()) .planId("plan-three-id") .build()); }
@Test public void requestWithDefaultsIsBuilt() { UpdateServiceInstanceRequest request = UpdateServiceInstanceRequest.builder() .build(); assertThat(request.getServiceDefinitionId()).isNull(); assertThat(request.getServiceInstanceId()).isNull(); assertThat(request.getPlanId()).isNull(); assertThat(request.getServiceDefinition()).isNull(); assertThat(request.getContext()).isNull(); assertThat(request.getParameters()).hasSize(0); assertThat(request.isAsyncAccepted()).isEqualTo(false); assertThat(request.getPreviousValues()).isNull(); assertThat(request.getApiInfoLocation()).isNull(); assertThat(request.getPlatformInstanceId()).isNull(); assertThat(request.getOriginatingIdentity()).isNull(); }
@Test public void updateServiceInstanceSucceeds() { prepareUpdateEventFlows(); StepVerifier .create(serviceInstanceEventService.updateServiceInstance( UpdateServiceInstanceRequest.builder() .serviceInstanceId("foo") .serviceDefinitionId("bar") .build())) .expectNext(UpdateServiceInstanceResponse.builder().build()) .verifyComplete(); assertThat(this.results.getBeforeUpdate()).isEqualTo("before foo"); assertThat(this.results.getAfterUpdate()).isEqualTo("after foo"); assertThat(this.results.getErrorUpdate()).isNullOrEmpty(); }
@Test public void updateServiceInstanceParametersAreMappedToRequest() { UpdateServiceInstanceRequest parsedRequest = buildUpdateRequest().build(); UpdateServiceInstanceRequest expectedRequest = buildUpdateRequest() .asyncAccepted(true) .serviceInstanceId("service-instance-id") .platformInstanceId("platform-instance-id") .apiInfoLocation("api-info-location") .originatingIdentity(identityContext) .serviceDefinition(serviceDefinition) .plan(plan) .build(); ServiceInstanceController controller = createControllerUnderTest(expectedRequest); controller.updateServiceInstance(pathVariables, "service-instance-id", true, "api-info-location", encodeOriginatingIdentity(identityContext), parsedRequest) .block(); }
@Test public void updateServiceInstanceFails() { prepareUpdateEventFlows(); StepVerifier .create(serviceInstanceEventService.updateServiceInstance( UpdateServiceInstanceRequest.builder() .serviceInstanceId("foo") .build())) .expectError() .verify(); assertThat(this.results.getBeforeUpdate()).isEqualTo("before foo"); assertThat(this.results.getAfterUpdate()).isNullOrEmpty(); assertThat(this.results.getErrorUpdate()).isEqualTo("error foo"); }
/** * Create a builder that provides a fluent API for constructing an {@literal UpdateServiceInstanceRequest}. * * <p> * This builder is provided to support testing of * {@link org.springframework.cloud.servicebroker.service.ServiceInstanceService} implementations. * * @return the builder */ public static UpdateServiceInstanceRequestBuilder builder() { return new UpdateServiceInstanceRequestBuilder(); }
/** * Create a builder that provides a fluent API for constructing an {@literal UpdateServiceInstanceRequest}. * * <p> * This builder is provided to support testing of * {@link org.springframework.cloud.servicebroker.service.ServiceInstanceService} implementations. * * @return the builder */ public static UpdateServiceInstanceRequestBuilder builder() { return new UpdateServiceInstanceRequestBuilder(); }
private UpdateServiceInstanceRequestBuilder buildUpdateRequest() { return UpdateServiceInstanceRequest.builder() .serviceDefinitionId("service-definition-id") .planId("plan-id") .previousValues(new PreviousValues("previous-plan-id")) .parameters("create-param-1", "value1") .parameters("create-param-2", "value2") .context(requestContext); }
@Test(expected = ServiceDefinitionDoesNotExistException.class) public void updateServiceInstanceWithInvalidServiceDefinitionIdThrowsException() { UpdateServiceInstanceRequest updateRequest = UpdateServiceInstanceRequest.builder() .serviceDefinitionId("unknown-service-definition-id") .build(); ServiceInstanceController controller = createControllerUnderTest(); controller.updateServiceInstance(pathVariables, null, false, null, null, updateRequest) .block(); }