public static SoapProject generateSoapProject(){ final SoapProject project = new SoapProject(); project.setId("SOAP PROJECT"); project.setName("Project name"); project.setDescription("Project description"); project.setCreated(new Date()); project.setUpdated(new Date()); project.setPorts(new ArrayList<SoapPort>()); return project; }
public static SoapProject generateFullSoapProject(){ final SoapProject soapProject = new SoapProject(); soapProject.setId("SOAP PROJECT"); soapProject.setName("Project name"); soapProject.setDescription("Project description"); soapProject.setCreated(new Date()); soapProject.setUpdated(new Date()); soapProject.setPorts(new ArrayList<SoapPort>()); for(int portIndex = 0; portIndex < 3; portIndex++){ final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); soapPort.setOperations(new ArrayList<SoapOperation>()); soapProject.getPorts().add(soapPort); for(int operationIndex = 0; operationIndex < 3; operationIndex++){ final SoapOperation soapOperation = SoapOperationGenerator.generateSoapOperation(); soapOperation.setMockResponses(new ArrayList<SoapMockResponse>()); soapPort.getOperations().add(soapOperation); for(int responseIndex = 0; responseIndex < 3; responseIndex++){ final SoapMockResponse soapMockResponse = SoapMockResponseGenerator.generateSoapMockResponse(); soapOperation.getMockResponses().add(soapMockResponse); } } } return soapProject; }
@Test public void getProject() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final List<SoapPort> soapPorts = new ArrayList<SoapPort>(); soapPorts.add(soapPort); soapProject.setPorts(soapPorts); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapProjectOutput.builder() .project(soapProject) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.model().size(3 + GLOBAL_VIEW_MODEL_COUNT)) .andExpect(MockMvcResultMatchers.forwardedUrl(INDEX)) .andExpect(MockMvcResultMatchers.model().attribute(PARTIAL, PAGE)) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT, soapProject)); }
@Test public void getProjectUploadError() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final List<SoapPort> soapPorts = new ArrayList<SoapPort>(); soapPorts.add(soapPort); soapProject.setPorts(soapPorts); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapProjectOutput.builder() .project(soapProject) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH) .param("upload", "error"); 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("upload", "error")) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT, soapProject)); }
@Test public void getProjectUploadSuccess() throws Exception { final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final SoapPort soapPort = SoapPortGenerator.generateSoapPort(); final List<SoapPort> soapPorts = new ArrayList<SoapPort>(); soapPorts.add(soapPort); soapProject.setPorts(soapPorts); when(serviceProcessor.process(any(Input.class))).thenReturn(ReadSoapProjectOutput.builder() .project(soapProject) .build()); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.get(SERVICE_URL + PROJECT + SLASH + soapProject.getId() + SLASH) .param("upload", "success"); 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("upload", "success")) .andExpect(MockMvcResultMatchers.model().attribute(SOAP_PROJECT, soapProject)); }
/** * 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<ReadSoapProjectOutput> process(final ServiceTask<ReadSoapProjectInput> serviceTask) { final ReadSoapProjectInput input = serviceTask.getInput(); final SoapProject soapProject = find(input.getProjectId()); final List<SoapResource> resources = this.resourceRepository.findWithProjectId(input.getProjectId()); final List<SoapPort> ports = this.portRepository.findWithProjectId(input.getProjectId()); soapProject.setResources(resources); soapProject.setPorts(ports); for(final SoapPort soapPort : soapProject.getPorts()){ final List<SoapOperation> operations = this.operationRepository.findWithPortId(soapPort.getId()); final Map<SoapOperationStatus, Integer> soapOperationStatusCount = getSoapOperationStatusCount(operations); soapPort.setStatusCount(soapOperationStatusCount); } return createServiceResult(ReadSoapProjectOutput.builder() .project(soapProject) .build()); }