.serviceInstanceId("service-instance-id") .serviceDefinitionId("service-definition-id") .planId("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 createServiceInstanceWithResponseGivesExpectedStatus(CreateResponseAndExpectedStatus data) { Mono<CreateServiceInstanceResponse> responseMono; if (data.response == null) { responseMono = Mono.empty(); } else { responseMono = Mono.just(data.response); } when(serviceInstanceService.createServiceInstance(any(CreateServiceInstanceRequest.class))) .thenReturn(responseMono); CreateServiceInstanceRequest createRequest = CreateServiceInstanceRequest.builder() .serviceDefinitionId("service-definition-id") .build(); ResponseEntity<CreateServiceInstanceResponse> responseEntity = controller .createServiceInstance(pathVariables, null, false, null, null, createRequest) .block(); verify(serviceInstanceService).createServiceInstance(any(CreateServiceInstanceRequest.class)); 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 createServiceInstanceParametersAreMappedToRequest() { CreateServiceInstanceRequest parsedRequest = buildCreateRequest().build(); CreateServiceInstanceRequest expectedRequest = buildCreateRequest() .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.createServiceInstance(pathVariables, "service-instance-id", true, "api-info-location", encodeOriginatingIdentity(identityContext), parsedRequest) .block(); }
@Test public void requestWithDefaultsIsBuilt() { CreateServiceInstanceRequest request = CreateServiceInstanceRequest.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.getApiInfoLocation()).isNull(); assertThat(request.getPlatformInstanceId()).isNull(); assertThat(request.getOriginatingIdentity()).isNull(); }
@Test public void createServiceInstanceSucceeds() { prepareCreateEventFlows(); StepVerifier .create(serviceInstanceEventService.createServiceInstance( CreateServiceInstanceRequest.builder() .serviceInstanceId("foo") .serviceDefinitionId("bar") .build())) .expectNext(CreateServiceInstanceResponse.builder().build()) .verifyComplete(); assertThat(this.results.getBeforeCreate()).isEqualTo("before foo"); assertThat(this.results.getAfterCreate()).isEqualTo("after foo"); assertThat(this.results.getErrorCreate()).isNullOrEmpty(); }
@Test public void createServiceInstanceFails() { prepareCreateEventFlows(); StepVerifier.create(serviceInstanceEventService.createServiceInstance( CreateServiceInstanceRequest.builder() .serviceInstanceId("foo") .build())) .expectError() .verify(); assertThat(this.results.getBeforeCreate()).isEqualTo("before foo"); assertThat(this.results.getAfterCreate()).isNullOrEmpty(); assertThat(this.results.getErrorCreate()).isEqualTo("error foo"); }
private CreateServiceInstanceRequestBuilder buildCreateRequest() { return CreateServiceInstanceRequest.builder() .serviceDefinitionId("service-definition-id") .planId("plan-id") .parameters("create-param-1", "value1") .parameters("create-param-2", "value2") .context(requestContext); }
/** * Create a builder that provides a fluent API for constructing a {@literal CreateServiceInstanceRequest}. * * <p> * This builder is provided to support testing of * {@link org.springframework.cloud.servicebroker.service.ServiceInstanceService} implementations. * * @return the builder */ public static CreateServiceInstanceRequestBuilder builder() { return new CreateServiceInstanceRequestBuilder(); }
@Test(expected = ServiceDefinitionDoesNotExistException.class) public void createServiceInstanceWithInvalidServiceDefinitionIdThrowsException() { CreateServiceInstanceRequest createRequest = CreateServiceInstanceRequest.builder() .serviceDefinitionId("unknown-service-definition-id") .build(); ServiceInstanceController controller = createControllerUnderTest(); controller.createServiceInstance(pathVariables, null, false, null, null, createRequest) .block(); }
/** * Create a builder that provides a fluent API for constructing a {@literal CreateServiceInstanceRequest}. * * <p> * This builder is provided to support testing of * {@link org.springframework.cloud.servicebroker.service.ServiceInstanceService} implementations. * * @return the builder */ public static CreateServiceInstanceRequestBuilder builder() { return new CreateServiceInstanceRequestBuilder(); }