protected SoapPort deletePort(final String portId){ final List<SoapOperation> operations = this.operationRepository.findWithPortId(portId); operations.forEach(operation -> this.deleteOperation(operation.getId())); return this.portRepository.delete(portId); }
/** * The process message is responsible for processing an incoming serviceTask and generate * a response based on the incoming serviceTask input * @param serviceTask The serviceTask that will be processed by the service * @return A result based on the processed incoming serviceTask * @see ServiceTask * @see ServiceResult */ @Override public ServiceResult<UpdateSoapOperationsForwardedEndpointOutput> process(final ServiceTask<UpdateSoapOperationsForwardedEndpointInput> serviceTask) { final UpdateSoapOperationsForwardedEndpointInput input = serviceTask.getInput(); input.getOperations().stream() .map(soapOperation -> this.operationRepository.findOne(soapOperation.getId())) .findFirst() .map(soapOperation -> { soapOperation.setForwardedEndpoint(input.getForwardedEndpoint()); return this.operationRepository.update(soapOperation.getId(), soapOperation); }); return createServiceResult(UpdateSoapOperationsForwardedEndpointOutput.builder().build()); } }
/** * The process message is responsible for processing an incoming serviceTask and generate * a response based on the incoming serviceTask input * @param serviceTask The serviceTask that will be processed by the service * @return A result based on the processed incoming serviceTask * @see ServiceTask * @see ServiceResult */ @Override public ServiceResult<UpdateSoapPortsForwardedEndpointOutput> process(final ServiceTask<UpdateSoapPortsForwardedEndpointInput> serviceTask) { final UpdateSoapPortsForwardedEndpointInput input = serviceTask.getInput(); input.getPorts().stream() .map(soapPort -> this.operationRepository.findWithPortId(soapPort.getId())) .flatMap(List::stream) .forEach(operation -> { operation.setForwardedEndpoint(input.getForwardedEndpoint()); this.operationRepository.update(operation.getId(), operation); }); return createServiceResult(UpdateSoapPortsForwardedEndpointOutput.builder().build()); } }
@Test public void testProcess(){ final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final String projectId = "SOAP PROJECT"; final String portId = "SOAP PORT"; final UpdateSoapOperationsStatusInput input = UpdateSoapOperationsStatusInput.builder() .projectId(projectId) .portId(portId) .operationId(soapOperation.getId()) .operationStatus(SoapOperationStatus.MOCKED) .build(); final ServiceTask<UpdateSoapOperationsStatusInput> serviceTask = new ServiceTask<UpdateSoapOperationsStatusInput>(input); Mockito.when(operationRepository.findOne(soapOperation.getId())).thenReturn(soapOperation); Mockito.when(operationRepository.update(Mockito.anyString(), Mockito.any(SoapOperation.class))).thenReturn(soapOperation); final ServiceResult<UpdateSoapOperationsStatusOutput> result = service.process(serviceTask); Mockito.verify(operationRepository, Mockito.times(1)).findOne(soapOperation.getId()); Mockito.verify(operationRepository, Mockito.times(1)).update(soapOperation.getId(), soapOperation); } }
@Test public void testProcess(){ final SoapOperation operation = SoapOperationGenerator.generateSoapOperation(); final String projectId = "SOAP PROJECT"; final String portId = "SOAP PORT"; final UpdateSoapOperationsForwardedEndpointInput input = UpdateSoapOperationsForwardedEndpointInput.builder() .projectId(projectId) .portId(portId) .operations(Arrays.asList(operation)) .forwardedEndpoint("Forward Endpoint") .build(); final ServiceTask<UpdateSoapOperationsForwardedEndpointInput> serviceTask = new ServiceTask<UpdateSoapOperationsForwardedEndpointInput>(input); Mockito.when(operationRepository.findOne(operation.getId())).thenReturn(operation); Mockito.when(operationRepository.update(Mockito.anyString(), Mockito.any(SoapOperation.class))).thenReturn(operation); final ServiceResult<UpdateSoapOperationsForwardedEndpointOutput> result = service.process(serviceTask); Mockito.verify(operationRepository, Mockito.times(1)).findOne(operation.getId()); Mockito.verify(operationRepository, Mockito.times(1)).update(operation.getId(), operation); } }
/** * The process message is responsible for processing an incoming serviceTask and generate * a response based on the incoming serviceTask input * @param serviceTask The serviceTask that will be processed by the service * @return A result based on the processed incoming serviceTask * @see ServiceTask * @see ServiceResult */ @Override public ServiceResult<UpdateSoapPortsStatusOutput> process(final ServiceTask<UpdateSoapPortsStatusInput> serviceTask) { final UpdateSoapPortsStatusInput input = serviceTask.getInput(); final SoapOperationStatus soapOperationStatus = input.getOperationStatus(); final List<SoapOperation> operations = this.operationRepository.findWithPortId(input.getPortId()); operations.forEach(soapOperation -> { soapOperation.setStatus(soapOperationStatus); this.operationRepository.update(soapOperation.getId(), soapOperation); }); return createServiceResult(UpdateSoapPortsStatusOutput.builder().build()); } }
@Test public void testProcess(){ final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final String projectId = "SOAP PROJECT"; final String portId = "SOAP PORT"; final UpdateSoapPortsStatusInput input = UpdateSoapPortsStatusInput.builder() .projectId(projectId) .portId(portId) .operationStatus(SoapOperationStatus.MOCKED) .build(); final ServiceTask<UpdateSoapPortsStatusInput> serviceTask = new ServiceTask<UpdateSoapPortsStatusInput>(input); Mockito.when(operationRepository.findWithPortId("SOAP PORT")).thenReturn(Arrays.asList(soapOperation)); Mockito.when(operationRepository.update(Mockito.anyString(), Mockito.any(SoapOperation.class))).thenReturn(soapOperation); final ServiceResult<UpdateSoapPortsStatusOutput> result = service.process(serviceTask); Mockito.verify(operationRepository, Mockito.times(1)).findWithPortId(portId); Mockito.verify(operationRepository, Mockito.times(1)).update(soapOperation.getId(), soapOperation); } }
@Test public void testProcess(){ final SoapOperation operation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse mockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); final String projectId = "SOAP PROJECT"; final String portId = "SOAP PORT"; final ReadSoapOperationInput input = ReadSoapOperationInput.builder() .projectId(projectId) .portId(portId) .operationId(operation.getId()) .build(); final ServiceTask<ReadSoapOperationInput> serviceTask = new ServiceTask<ReadSoapOperationInput>(input); Mockito.when(operationRepository.findOne(operation.getId())).thenReturn(operation); Mockito.when(mockResponseRepository.findWithOperationId(operation.getId())).thenReturn(Arrays.asList(mockResponse)); final ServiceResult<ReadSoapOperationOutput> result = service.process(serviceTask); Mockito.verify(operationRepository, Mockito.times(1)).findOne(operation.getId()); Mockito.verify(mockResponseRepository, Mockito.times(1)).findWithOperationId(operation.getId()); Assert.assertNotNull(result.getOutput()); Assert.assertEquals(operation, result.getOutput().getOperation()); Assert.assertEquals(operation.getDefaultResponseName(), null); }
@Test public void testProcess(){ final SoapPort port = SoapPortGenerator.generateSoapPort(); final SoapOperation operation = SoapOperationGenerator.generateSoapOperation(); final String projectId = "SOAP PROJECT"; final UpdateSoapPortsForwardedEndpointInput input = UpdateSoapPortsForwardedEndpointInput.builder() .projectId(projectId) .ports(Arrays.asList(port)) .forwardedEndpoint("Forward Endpoint") .build(); final ServiceTask<UpdateSoapPortsForwardedEndpointInput> serviceTask = new ServiceTask<UpdateSoapPortsForwardedEndpointInput>(input); Mockito.when(operationRepository.findWithPortId(port.getId())).thenReturn(Arrays.asList(operation)); Mockito.when(operationRepository.update(Mockito.anyString(), Mockito.any(SoapOperation.class))).thenReturn(operation); final ServiceResult<UpdateSoapPortsForwardedEndpointOutput> result = service.process(serviceTask); Mockito.verify(operationRepository, Mockito.times(1)).findWithPortId(port.getId()); Mockito.verify(operationRepository, Mockito.times(1)).update(operation.getId(), operation); } }
@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); Mockito.when(operationRepository.findWithPortId(soapPort.getId())).thenReturn(Arrays.asList(soapOperation)); Mockito.when(mockResponseRepository.findWithOperationId(soapOperation.getId())).thenReturn(Arrays.asList(soapMockResponse)); final DeleteSoapPortsInput input = DeleteSoapPortsInput.builder() .projectId(soapProject.getId()) .ports(ImmutableList.of(soapPort)) .build(); final ServiceTask<DeleteSoapPortsInput> serviceTask = new ServiceTask<DeleteSoapPortsInput>(input); final ServiceResult<DeleteSoapPortsOutput> serviceResult = service.process(serviceTask); Mockito.verify(portRepository, Mockito.times(1)).delete(soapPort.getId()); Mockito.verify(operationRepository, Mockito.times(1)).delete(soapOperation.getId()); Mockito.verify(mockResponseRepository, Mockito.times(1)).delete(soapMockResponse.getId()); } }
@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); Mockito.when(operationRepository.findWithPortId(soapPort.getId())).thenReturn(Arrays.asList(soapOperation)); Mockito.when(mockResponseRepository.findWithOperationId(soapOperation.getId())).thenReturn(Arrays.asList(soapMockResponse)); final DeleteSoapPortInput input = DeleteSoapPortInput.builder() .projectId(soapProject.getId()) .portId(soapPort.getId()) .build(); final ServiceTask<DeleteSoapPortInput> serviceTask = new ServiceTask<DeleteSoapPortInput>(input); final ServiceResult<DeleteSoapPortOutput> serviceResult = service.process(serviceTask); Mockito.verify(portRepository, Mockito.times(1)).delete(soapPort.getId()); Mockito.verify(operationRepository, Mockito.times(1)).delete(soapOperation.getId()); Mockito.verify(mockResponseRepository, Mockito.times(1)).delete(soapMockResponse.getId()); } }
@Test public void updateSoapOperationPost() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapOperationOutput.builder() .operation(soapOperation) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + UPDATE + SLASH); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(1)); }
@Test public void testConfirmDeletationOfMultipleMockResponses() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); final DeleteSoapMockResponsesCommand deleteSoapMockResponsesCommand = new DeleteSoapMockResponsesCommand(); deleteSoapMockResponsesCommand.setSoapMockResponses(new ArrayList<SoapMockResponse>()); deleteSoapMockResponsesCommand.getSoapMockResponses().add(soapMockResponse); when(serviceProcessor.process(any(DeleteSoapMockResponseInput.class))).thenReturn(DeleteSoapMockResponseOutput.builder().build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + RESPONSE + SLASH + DELETE + SLASH + CONFIRM) .flashAttr("command", deleteSoapMockResponsesCommand); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(1)); } }
@Test public void testDeleteMockResponseConfirm() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); when(serviceProcessor.process(any(DeleteSoapMockResponseInput.class))).thenReturn(DeleteSoapMockResponseOutput.builder().build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + RESPONSE + SLASH + soapMockResponse.getId() + SLASH + DELETE + SLASH + CONFIRM); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(0)); }
@Test public void testPostCreateResponse() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); when(serviceProcessor.process(any(ReadSoapOperationInput.class))).thenReturn(ReadSoapOperationOutput.builder() .operation(soapOperation) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + CREATE_RESPONSE + SLASH); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(1)); }
@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); final CreateSoapMockResponseInput input = CreateSoapMockResponseInput.builder() .projectId(soapProject.getId()) .portId(soapPort.getId()) .operationId(soapOperation.getId()) .mockResponse(soapMockResponse) .build(); final ServiceTask<CreateSoapMockResponseInput> serviceTask = new ServiceTask<>(input); final ServiceResult<CreateSoapMockResponseOutput> serviceResult = service.process(serviceTask); final CreateSoapMockResponseOutput output = serviceResult.getOutput(); Mockito.verify(repository, Mockito.times(1)).save(Mockito.any(SoapMockResponse.class)); } }
@Test public void testUpdateMockResponse() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); when(serviceProcessor.process(any(UpdateSoapMockResponseInput.class))).thenReturn(UpdateSoapMockResponseOutput.builder() .mockResponse(soapMockResponse) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + RESPONSE + SLASH + soapMockResponse.getId() + SLASH + UPDATE) .flashAttr("soapMockResponse", soapMockResponse); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(1)); }
@Test public void testDeleteMockResponse() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); when(serviceProcessor.process(any(ReadSoapMockResponseInput.class))).thenReturn(ReadSoapMockResponseOutput.builder() .mockResponse(soapMockResponse) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + RESPONSE + SLASH + soapMockResponse.getId() + SLASH + DELETE); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.model().size(4 + GLOBAL_VIEW_MODEL_COUNT)) .andExpect(MockMvcResultMatchers.forwardedUrl(INDEX)) .andExpect(MockMvcResultMatchers.model().attribute(PARTIAL, PAGE)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT_ID, project.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PORT_ID, application.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_OPERATION_ID, soapOperation.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_MOCK_RESPONSE, soapMockResponse)); }
@Test public void testGetMockResponse() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); when(serviceProcessor.process(any(ReadSoapMockResponseInput.class))).thenReturn(ReadSoapMockResponseOutput.builder() .mockResponse(soapMockResponse) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + RESPONSE + SLASH + soapMockResponse.getId()); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.model().size(5 + GLOBAL_VIEW_MODEL_COUNT)) .andExpect(MockMvcResultMatchers.forwardedUrl(INDEX)) .andExpect(MockMvcResultMatchers.model().attribute(PARTIAL, PAGE)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT_ID, project.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PORT_ID, application.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_OPERATION_ID, soapOperation.getId())) .andExpect(MockMvcResultMatchers.model().attribute(DEMO_MODE, false)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_MOCK_RESPONSE, soapMockResponse)); }
@Test public void testCreateResponse() throws Exception { final SoapProject project = SoapProjectGenerator.generateSoapProject(); final SoapPort application = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); when(serviceProcessor.process(any(ReadSoapOperationInput.class))).thenReturn(ReadSoapOperationOutput.builder() .operation(soapOperation) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + project.getId() + SLASH + PORT + SLASH + application.getId() + SLASH + OPERATION + SLASH + soapOperation.getId() + SLASH + CREATE_RESPONSE + SLASH); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.model().size(5 + GLOBAL_VIEW_MODEL_COUNT)) .andExpect(MockMvcResultMatchers.forwardedUrl(INDEX)) .andExpect(MockMvcResultMatchers.model().attribute(PARTIAL, PAGE)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT_ID, project.getId())) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PORT_ID, application.getId())) .andExpect(MockMvcResultMatchers.model().attribute(DEMO_MODE, false)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_OPERATION, soapOperation)); }