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; }
for(SoapPort port : project.getPorts()){ if(this.portRepository.exists(port.getId())){ throw new IllegalArgumentException("A port with the following key already exists: " + port.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(); 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()); } }
/** * 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()); }
port.setId(portV1.getId()); port.setProjectId(project.getId()); project.getPorts().add(port);