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); }
private String getWsdl(final String projectId){ final ReadSoapProjectOutput projectOutput = this.serviceProcessor.process(ReadSoapProjectInput.builder() .projectId(projectId) .build()); final SoapProject soapProject = projectOutput.getProject(); return soapProject.getResources().stream() .filter(soapResource -> SoapResourceType.WSDL.equals(soapResource.getType())) .findFirst() .map(soapResource -> { final LoadSoapResourceOutput loadOutput = this.serviceProcessor.process(LoadSoapResourceInput.builder() .projectId(projectId) .resourceId(soapResource.getId()) .build()); return loadOutput.getResource(); }) .orElseThrow(() -> new IllegalArgumentException("Unable to find a WSDL file for the following project: " + projectId)); }
@Test public void testSaveAndLoadSoapResource() { SoapResource soapResource = new SoapResource(); SoapResource fromDb = soapResourceMongoRepository.saveSoapResource(soapResource, "Very large content"); String content = soapResourceMongoRepository.loadSoapResource(fromDb.getId()); assertThat(content).isEqualTo("Very large content"); }
/** * The method adds a new {@link SoapResource}. * * @param soapResource The instance of {@link SoapResource} that will be saved. * @param resource The raw resource * @return The saved {@link SoapResource} * @see SoapResource */ @Override public SoapResource saveSoapResource(SoapResource soapResource, String resource) { SoapResourceFile resourceFile = mapper.map(soapResource, SoapResourceFile.class); SoapResource saveSoapResource = save(soapResource); String path = this.fileDirectory + File.separator; if(SoapResourceType.WSDL.equals(resourceFile.getType())){ path += WSDL_DIRECTORY; } else if(SoapResourceType.WSDL.equals(resourceFile.getType())){ path += SCHEMA_DIRECTORY; } try { this.fileRepositorySupport.save(path, saveSoapResource.getId() + this.fileExtension, resource); } catch (Exception e){ LOGGER.error("Unable to upload SOAP resource", e); } return saveSoapResource; }
@Test public void testProcess(){ final SoapResource resource = SoapResourceGenerator.generateSoapResource(); final String projectId = "SOAP PROJECT"; final ReadSoapResourceInput input = ReadSoapResourceInput.builder() .projectId(projectId) .resourceId(resource.getId()) .build(); final ServiceTask<ReadSoapResourceInput> serviceTask = new ServiceTask<ReadSoapResourceInput>(input); Mockito.when(resourceRepository.findOne(resource.getId())).thenReturn(resource); final ServiceResult<ReadSoapResourceOutput> result = service.process(serviceTask); Mockito.verify(resourceRepository, Mockito.times(1)).findOne(resource.getId()); Assert.assertNotNull(result.getOutput()); Assert.assertEquals(resource, result.getOutput().getResource()); }
@Test public void testProcess(){ final SoapResource soapResource = SoapResourceGenerator.generateSoapResource(); final String resourceContent = "Resource content"; Mockito.when(resourceRepository.loadSoapResource(soapResource.getId())).thenReturn(resourceContent); final LoadSoapResourceInput input = LoadSoapResourceInput.builder() .projectId("Project id") .resourceId(soapResource.getId()) .build(); final ServiceTask<LoadSoapResourceInput> serviceTask = new ServiceTask<LoadSoapResourceInput>(input); final ServiceResult<LoadSoapResourceOutput> serviceResult = service.process(serviceTask); Assert.assertNotNull(serviceResult.getOutput()); Assert.assertEquals(resourceContent, serviceResult.getOutput().getResource()); Mockito.verify(resourceRepository, Mockito.times(1)).loadSoapResource(soapResource.getId()); } }
final SearchResult searchResult = new SearchResult(); searchResult.setTitle(resource.getName()); searchResult.setLink(SOAP + SLASH + PROJECT + SLASH + resource.getProjectId() + SLASH + RESOURCE + SLASH + resource.getId()); searchResult.setDescription(SOAP_TYPE + COMMA + resourceType); searchResults.add(searchResult);
Mockito.verify(resourceRepository, Mockito.times(1)).delete(soapResource.getId()); Mockito.verify(operationRepository, Mockito.times(1)).delete(soapOperation.getId()); Mockito.verify(mockResponseRepository, Mockito.times(1)).delete(soapMockResponse.getId());
String content = this.resourceRepository.loadSoapResource(resource.getId()); resource.setContent(content);
this.resourceRepository.delete(wsdlSoapResource.getId());