@Test public void lastOperationHasInProgressStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.IN_PROGRESS) .description("working on it") .build()); client.get().uri(buildLastOperationUrl()) .exchange() .expectStatus().isOk() .expectBody() .jsonPath("$.state").isEqualTo(OperationState.IN_PROGRESS.toString()) .jsonPath("$.description", is("working on it")); verify(serviceInstanceBindingService).getLastOperation(any(GetLastServiceBindingOperationRequest.class)); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesNotSet(actualRequest); }
@Test public void responseWithAllValuesIsBuilt() { GetLastServiceBindingOperationResponse response = GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.SUCCEEDED) .description("description") .deleteOperation(true) .build(); assertThat(response.getState()).isEqualTo(OperationState.SUCCEEDED); assertThat(response.getDescription()).isEqualTo("description"); assertThat(response.isDeleteOperation()).isEqualTo(true); DocumentContext json = JsonUtils.toJsonPath(response); assertThat(json).hasPath("$.state").isEqualTo(OperationState.SUCCEEDED.toString()); assertThat(json).hasPath("$.description").isEqualTo("description"); }
@Test public void lastOperationHasSucceededStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.SUCCEEDED) .description("all good") .build()); client.get().uri(buildLastOperationUrl(PLATFORM_INSTANCE_ID)) .header(API_INFO_LOCATION_HEADER, API_INFO_LOCATION) .header(ORIGINATING_IDENTITY_HEADER, buildOriginatingIdentityHeader()) .exchange() .expectStatus().isOk() .expectBody() .jsonPath("$.state").isEqualTo(OperationState.SUCCEEDED.toString()) .jsonPath("$.description", is("all good")); verify(serviceInstanceBindingService).getLastOperation(any(GetLastServiceBindingOperationRequest.class)); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesSet(actualRequest); }
@Test public void lastOperationHasSucceededStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.SUCCEEDED) .description("all good") .build()); MvcResult mvcResult = mockMvc.perform(get(buildLastOperationUrl(PLATFORM_INSTANCE_ID)) .header(API_INFO_LOCATION_HEADER, API_INFO_LOCATION) .header(ORIGINATING_IDENTITY_HEADER, buildOriginatingIdentityHeader())) .andExpect(request().asyncStarted()) .andExpect(status().isOk()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isOk()) .andExpect(jsonPath("$.state", is(OperationState.SUCCEEDED.toString()))) .andExpect(jsonPath("$.description", is("all good"))); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesSet(actualRequest); }
@Test public void lastOperationHasInProgressStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.IN_PROGRESS) .description("working on it") .build()); MvcResult mvcResult = mockMvc.perform(get(buildLastOperationUrl()) .contentType(MediaType.APPLICATION_JSON)) .andExpect(request().asyncStarted()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isOk()) .andExpect(jsonPath("$.state", is(OperationState.IN_PROGRESS.toString()))) .andExpect(jsonPath("$.description", is("working on it"))); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesNotSet(actualRequest); }
@Test public void lastOperationHasSucceededStatusWithDeletionComplete() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.SUCCEEDED) .description("all good") .deleteOperation(true) .build()); client.get().uri(buildLastOperationUrl()) .exchange() .expectStatus().is4xxClientError() .expectStatus().isEqualTo(HttpStatus.GONE) .expectBody() .jsonPath("$.state").isEqualTo(OperationState.SUCCEEDED.toString()) .jsonPath("$.description", is("all good")); verify(serviceInstanceBindingService).getLastOperation(any(GetLastServiceBindingOperationRequest.class)); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesNotSet(actualRequest); }
@Test public void lastOperationHasSucceededStatusWithDeletionComplete() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.SUCCEEDED) .description("all gone") .deleteOperation(true) .build()); MvcResult mvcResult = mockMvc.perform(get(buildLastOperationUrl())) .andExpect(request().asyncStarted()) .andExpect(status().isOk()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isGone()) .andExpect(jsonPath("$.state", is(OperationState.SUCCEEDED.toString()))) .andExpect(jsonPath("$.description", is("all gone"))); }
@Test public void lastOperationHasFailedStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.FAILED) .description("not so good") .build()); client.get().uri(buildLastOperationUrl()) .exchange() .expectStatus().isOk() .expectBody() .jsonPath("$.state").isEqualTo(OperationState.FAILED.toString()) .jsonPath("$.description").isEqualTo("not so good"); verify(serviceInstanceBindingService).getLastOperation(any(GetLastServiceBindingOperationRequest.class)); GetLastServiceBindingOperationRequest actualRequest = verifyLastOperation(); assertHeaderValuesNotSet(actualRequest); }
@Test public void lastOperationHasFailedStatus() throws Exception { setupServiceInstanceBindingService(GetLastServiceBindingOperationResponse.builder() .operationState(OperationState.FAILED) .description("not so good") .build()); MvcResult mvcResult = mockMvc.perform(get(buildLastOperationUrl())) .andExpect(request().asyncStarted()) .andExpect(status().isOk()) .andReturn(); mockMvc.perform(asyncDispatch(mvcResult)) .andExpect(status().isOk()) .andExpect(jsonPath("$.state", is(OperationState.FAILED.toString()))) .andExpect(jsonPath("$.description", is("not so good"))); }
/** * Create a builder that provides a fluent API for constructing a {@literal GetLastServiceBindingOperationResponse}. * * @return the builder */ public static GetLastServiceBindingOperationResponseBuilder builder() { return new GetLastServiceBindingOperationResponseBuilder(); }
@Test public void responseWithDefaultsIsBuilt() { GetLastServiceBindingOperationResponse response = GetLastServiceBindingOperationResponse.builder() .build(); assertThat(response.getState()).isNull(); assertThat(response.getDescription()).isNull(); assertThat(response.isDeleteOperation()).isEqualTo(false); DocumentContext json = JsonUtils.toJsonPath(response); assertThat(json).hasNoPath("$.state"); assertThat(json).hasNoPath("$.description"); }
/** * Create a builder that provides a fluent API for constructing a {@literal GetLastServiceBindingOperationResponse}. * * @return the builder */ public static GetLastServiceBindingOperationResponseBuilder builder() { return new GetLastServiceBindingOperationResponseBuilder(); }
private void responseWithStateIsSerializedToJson(OperationState stateValue, String stateString) { GetLastServiceBindingOperationResponse response = GetLastServiceBindingOperationResponse.builder() .operationState(stateValue) .description("description") .build(); DocumentContext json = JsonUtils.toJsonPath(response); assertThat(json).hasPath("$.state").isEqualTo(stateString); assertThat(json).hasPath("$.description").isEqualTo("description"); }