.switchIfEmpty(Mono.just(DeleteServiceInstanceBindingRequest.builder())) .map(builder -> builder .serviceInstanceId(serviceInstanceId) .bindingId(bindingId) .serviceDefinitionId(serviceDefinitionId) .planId(planId) .serviceDefinition(serviceDefinition) .asyncAccepted(acceptsIncomplete) .platformInstanceId(pathVariables.get(ServiceBrokerRequest.PLATFORM_INSTANCE_ID_VARIABLE)) .apiInfoLocation(apiInfoLocation) .originatingIdentity(parseOriginatingIdentity(originatingIdentityString)) .build())) .flatMap(req -> service.deleteServiceInstanceBinding(req) .doOnRequest(v -> logger.debug("Deleting a service instance binding: request={}", req))
DeleteServiceInstanceBindingRequest request = DeleteServiceInstanceBindingRequest .builder() .serviceInstanceId(serviceInstanceId) .bindingId(bindingId) .serviceDefinitionId(serviceDefinitionId) .planId(planId) .serviceDefinition(serviceDefinition) .plan(plan) .asyncAccepted(acceptsIncomplete) .platformInstanceId(pathVariables.get(ServiceBrokerRequest.PLATFORM_INSTANCE_ID_VARIABLE)) .apiInfoLocation(apiInfoLocation) .originatingIdentity(parseOriginatingIdentity(originatingIdentityString)) .build();
@Test public void requestWithAllValuesIsBuilt() { Context originatingIdentity = PlatformContext.builder() .platform("test-platform") .build(); DeleteServiceInstanceBindingRequest request = DeleteServiceInstanceBindingRequest.builder() .serviceInstanceId("service-instance-id") .serviceDefinitionId("service-definition-id") .planId("plan-id") .bindingId("binding-id") .asyncAccepted(true) .platformInstanceId("platform-instance-id") .apiInfoLocation("https://api.example.com") .originatingIdentity(originatingIdentity) .build(); assertThat(request.getServiceInstanceId()).isEqualTo("service-instance-id"); assertThat(request.getServiceDefinitionId()).isEqualTo("service-definition-id"); assertThat(request.getPlanId()).isEqualTo("plan-id"); assertThat(request.getBindingId()).isEqualTo("binding-id"); assertThat(request.isAsyncAccepted()).isEqualTo(true); assertThat(request.getPlatformInstanceId()).isEqualTo("platform-instance-id"); assertThat(request.getApiInfoLocation()).isEqualTo("https://api.example.com"); assertThat(request.getOriginatingIdentity()).isEqualTo(originatingIdentity); }
@Test public void deleteServiceInstanceBindingSucceeds() { prepareBindingFlows(); StepVerifier .create(serviceInstanceBindingEventService.deleteServiceInstanceBinding( DeleteServiceInstanceBindingRequest.builder() .serviceInstanceId("foo") .bindingId("bar") .build())) .expectNext(DeleteServiceInstanceBindingResponse.builder().build()) .verifyComplete(); assertThat(this.results.getBeforeCreate()).isNullOrEmpty(); assertThat(this.results.getAfterCreate()).isNullOrEmpty(); assertThat(this.results.getErrorCreate()).isNullOrEmpty(); assertThat(this.results.getBeforeDelete()).isEqualTo("before delete foo"); assertThat(this.results.getAfterDelete()).isEqualTo("after delete foo"); assertThat(this.results.getErrorDelete()).isNullOrEmpty(); }
@Test public void deleteServiceInstanceBindingFails() { prepareBindingFlows(); StepVerifier .create(serviceInstanceBindingEventService.deleteServiceInstanceBinding( DeleteServiceInstanceBindingRequest.builder() .serviceInstanceId("foo") .build())) .expectError() .verify(); assertThat(this.results.getBeforeCreate()).isNullOrEmpty(); assertThat(this.results.getAfterCreate()).isNullOrEmpty(); assertThat(this.results.getErrorCreate()).isNullOrEmpty(); assertThat(this.results.getBeforeDelete()).isEqualTo("before delete foo"); assertThat(this.results.getAfterDelete()).isNullOrEmpty(); assertThat(this.results.getErrorDelete()).isEqualTo("error delete foo"); }
@Test public void requestWithDefaultsIsBuilt() { DeleteServiceInstanceBindingRequest request = DeleteServiceInstanceBindingRequest.builder() .build(); assertThat(request.getServiceInstanceId()).isNull(); assertThat(request.getServiceDefinitionId()).isNull(); assertThat(request.getPlanId()).isNull(); assertThat(request.getBindingId()).isNull(); assertThat(request.getServiceDefinition()).isNull(); assertThat(request.isAsyncAccepted()).isEqualTo(false); assertThat(request.getApiInfoLocation()).isNull(); assertThat(request.getPlatformInstanceId()).isNull(); assertThat(request.getOriginatingIdentity()).isNull(); }
@Test public void deleteServiceBindingParametersAreMappedToRequest() { DeleteServiceInstanceBindingRequest expectedRequest = DeleteServiceInstanceBindingRequest.builder() .asyncAccepted(true) .serviceInstanceId("service-instance-id") .serviceDefinitionId(serviceDefinition.getId()) .planId("plan-id") .bindingId("binding-id") .platformInstanceId("platform-instance-id") .apiInfoLocation("api-info-location") .originatingIdentity(identityContext) .serviceDefinition(serviceDefinition) .plan(plan) .build(); ServiceInstanceBindingController controller = createControllerUnderTest(expectedRequest); controller.deleteServiceInstanceBinding(pathVariables, "service-instance-id", "binding-id", serviceDefinition.getId(), "plan-id", true, "api-info-location", encodeOriginatingIdentity(identityContext)); }
@Test(expected = UnsupportedOperationException.class) public void deleteServiceInstanceBinding() { service.deleteServiceInstanceBinding(DeleteServiceInstanceBindingRequest.builder().build()) .block(); }