protected SoapProject deleteProject(final String projectId){ final List<SoapPort> ports = this.portRepository.findWithProjectId(projectId); final List<SoapResource> resources = this.resourceRepository.findWithProjectId(projectId); ports.forEach(port -> this.deletePort(port.getId())); resources.forEach(resource -> this.deleteResource(resource.getId())); return this.repository.delete(projectId); }
/** * 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 SoapPort port = SoapPortGenerator.generateSoapPort(); final SoapOperation operation = SoapOperationGenerator.generateSoapOperation(); final String projectId = "SOAP PROJECT"; final ReadSoapPortInput input = ReadSoapPortInput.builder() .projectId(projectId) .portId(port.getId()) .build(); final ServiceTask<ReadSoapPortInput> serviceTask = new ServiceTask<ReadSoapPortInput>(input); Mockito.when(portRepository.findOne(port.getId())).thenReturn(port); Mockito.when(operationRepository.findWithPortId(port.getId())).thenReturn(Arrays.asList(operation)); final ServiceResult<ReadSoapPortOutput> result = service.process(serviceTask); Mockito.verify(portRepository, Mockito.times(1)).findOne(port.getId()); Mockito.verify(operationRepository, Mockito.times(1)).findWithPortId(port.getId()); Assert.assertNotNull(result.getOutput()); Assert.assertEquals(port, result.getOutput().getPort()); }
@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 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 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 project = SoapProjectGenerator.generateSoapProject(); final SoapPort port = SoapPortGenerator.generateSoapPort(); final SoapResource resource = SoapResourceGenerator.generateSoapResource(); final SoapOperation operation = SoapOperationGenerator.generateSoapOperation(); final ReadSoapProjectInput input = ReadSoapProjectInput.builder() .projectId(project.getId()) .build(); final ServiceTask<ReadSoapProjectInput> serviceTask = new ServiceTask<ReadSoapProjectInput>(input); Mockito.when(repository.findOne(project.getId())).thenReturn(project); Mockito.when(portRepository.findWithProjectId(project.getId())).thenReturn(Arrays.asList(port)); Mockito.when(resourceRepository.findWithProjectId(project.getId())).thenReturn(Arrays.asList(resource)); Mockito.when(operationRepository.findWithPortId(port.getId())).thenReturn(Arrays.asList(operation)); final ServiceResult<ReadSoapProjectOutput> result = service.process(serviceTask); Mockito.verify(repository, Mockito.times(1)).findOne(project.getId()); Mockito.verify(portRepository, Mockito.times(1)).findWithProjectId(project.getId()); Mockito.verify(resourceRepository, Mockito.times(1)).findWithProjectId(project.getId()); Mockito.verify(operationRepository, Mockito.times(1)).findWithPortId(port.getId()); Assert.assertNotNull(result.getOutput()); Assert.assertEquals(project, result.getOutput().getProject()); }
@Test public void testUpdateConfirmPortWithValidId() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); when(serviceProcessor.process(any(Input.class))).thenReturn(UpdateSoapPortOutput.builder() .port(soapPort) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH + UPDATE, soapPort); 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(); soapProject.getPorts().add(soapPort); soapPort.getOperations().add(soapOperation); soapOperation.getMockResponses().add(soapMockResponse); final DeleteSoapMockResponseInput input = DeleteSoapMockResponseInput.builder() .projectId(soapProject.getId()) .portId(soapPort.getId()) .operationId(soapOperation.getId()) .mockResponseId(soapMockResponse.getId()) .build(); final ServiceTask<DeleteSoapMockResponseInput> serviceTask = new ServiceTask<DeleteSoapMockResponseInput>(input); final ServiceResult<DeleteSoapMockResponseOutput> serviceResult = service.process(serviceTask); serviceResult.getOutput(); Mockito.verify(mockResponseRepository, Mockito.times(1)).delete(Mockito.anyString()); } }
@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 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 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 getSoapPort() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); final List<SoapOperation> operations = new ArrayList<SoapOperation>(); operations.add(soapOperation); soapPort.setOperations(operations); when(serviceProcessor.process(any(ReadSoapPortInput.class))).thenReturn(ReadSoapPortOutput.builder() .port(soapPort) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH); ResultActions result = 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_PORT, soapPort)); SoapPort soapPortResponse = (SoapPort) result.andReturn().getModelAndView().getModel().get(SOAP_PORT); }
@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 testUpdatePortWithValidId() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapPortOutput.builder() .port(soapPort) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH + UPDATE); 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_PORT, soapPort)); }
@Test public void testDeleteApplicationWithValidId() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapPortOutput.builder() .port(soapPort) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH + DELETE); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.model().size(2 + GLOBAL_VIEW_MODEL_COUNT)) .andExpect(MockMvcResultMatchers.forwardedUrl(INDEX)) .andExpect(MockMvcResultMatchers.model().attribute(PARTIAL, PAGE)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PORT, soapPort)); }
@Test public void testDeleteConfirmApplicationWithValidId() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH + PORT + SLASH + soapPort.getId() + SLASH + DELETE + SLASH + CONFIRM); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isFound()) .andExpect(MockMvcResultMatchers.model().size(0)); }
@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)); }