@Test public void requestWithDefaultsIsBuilt() { DeleteServiceInstanceRequest request = DeleteServiceInstanceRequest.builder() .build(); assertThat(request.getServiceDefinitionId()).isNull(); assertThat(request.getServiceInstanceId()).isNull(); assertThat(request.getPlanId()).isNull(); assertThat(request.getServiceDefinition()).isNull(); assertThat(request.isAsyncAccepted()).isEqualTo(false); assertThat(request.getApiInfoLocation()).isNull(); assertThat(request.getPlatformInstanceId()).isNull(); assertThat(request.getOriginatingIdentity()).isNull(); }
@Test @SuppressWarnings("serial") public void requestWithAllValuesIsBuilt() { Context originatingIdentity = PlatformContext.builder() .platform("test-platform") .build(); DeleteServiceInstanceRequest request = DeleteServiceInstanceRequest.builder() .serviceInstanceId("service-instance-id") .serviceDefinitionId("service-definition-id") .planId("plan-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.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 deleteServiceInstanceFiltersPlansSucceeds() { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse .builder() .build()); client.delete().uri(buildDeleteUrl()) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk() .expectBody() .json("{}"); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(false); assertThat(actualRequest.getPlan().getId()).isEqualTo("plan-three-id"); assertHeaderValuesNotSet(actualRequest); }
@Test public void deleteServiceInstanceWithoutAsyncAndHeadersSucceeds() { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse.builder() .build()); client.delete().uri(buildDeleteUrl()) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk() .expectBody() .json("{}"); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(false); assertHeaderValuesNotSet(actualRequest); }
@Test public void deleteServiceInstanceFiltersPlansSucceeds() throws Exception { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse .builder() .build()); MvcResult mvcResult = mockMvc .perform(delete(buildDeleteUrl()) .accept(MediaType.APPLICATION_JSON)) .andExpect(request().asyncStarted()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isOk()) .andExpect(content().string("{}")); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(false); assertThat(actualRequest.getPlan().getId()).isEqualTo(actualRequest.getPlanId()); assertHeaderValuesNotSet(actualRequest); }
@Test public void deleteServiceInstanceWithoutAsyncAndHeadersSucceeds() throws Exception { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse.builder() .build()); MvcResult mvcResult = mockMvc.perform(delete(buildDeleteUrl()) .accept(MediaType.APPLICATION_JSON)) .andExpect(request().asyncStarted()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isOk()) .andExpect(content().string("{}")); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(false); assertHeaderValuesNotSet(actualRequest); }
@Test public void deleteServiceInstanceWithAsyncAndHeadersSucceeds() throws Exception { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse.builder() .async(true) .operation("working") .build()); client.delete().uri(buildDeleteUrl(PLATFORM_INSTANCE_ID, true)) .header(API_INFO_LOCATION_HEADER, API_INFO_LOCATION) .header(ORIGINATING_IDENTITY_HEADER, buildOriginatingIdentityHeader()) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isAccepted() .expectBody() .jsonPath("$.operation").isEqualTo("working"); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(true); assertHeaderValuesSet(actualRequest); }
@Test public void deleteServiceInstanceWithAsyncAndHeadersSucceeds() throws Exception { setupCatalogService(); setupServiceInstanceService(DeleteServiceInstanceResponse.builder() .async(true) .operation("working") .build()); MvcResult mvcResult = mockMvc.perform(delete(buildDeleteUrl(PLATFORM_INSTANCE_ID, true)) .header(API_INFO_LOCATION_HEADER, API_INFO_LOCATION) .header(ORIGINATING_IDENTITY_HEADER, buildOriginatingIdentityHeader()) .accept(MediaType.APPLICATION_JSON)) .andExpect(request().asyncStarted()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isAccepted()) .andExpect(jsonPath("$.operation", equalTo("working"))); DeleteServiceInstanceRequest actualRequest = verifyDeleteServiceInstance(); assertThat(actualRequest.isAsyncAccepted()).isEqualTo(true); assertHeaderValuesSet(actualRequest); }