/** * The save method saves a project to the database * @param project Project that will be saved to the database * @return The saved project */ @Override public SoapProject save(final SoapProject project){ Preconditions.checkNotNull(project, "Project cannot be null"); Preconditions.checkArgument(!project.getName().isEmpty(), "Invalid project name. Project name cannot be empty"); final SoapProject projectInDatebase = repository.findSoapProjectWithName(project.getName()); Preconditions.checkArgument(projectInDatebase == null, "Project name is already taken"); project.setUpdated(new Date()); project.setCreated(new Date()); return super.save(project); }
/** * Updates a project with new information * @param soapProjectId The id of the project that will be updated * @param updatedProject The updated version of the project * @return The updated version project */ @Override public SoapProject update(final String soapProjectId, final SoapProject updatedProject){ Preconditions.checkNotNull(soapProjectId, "Project id be null"); Preconditions.checkNotNull(updatedProject, "Project cannot be null"); Preconditions.checkArgument(!updatedProject.getName().isEmpty(), "Invalid project name. Project name cannot be empty"); final SoapProject projectWithName = repository.findSoapProjectWithName(updatedProject.getName()); Preconditions.checkArgument(projectWithName == null || projectWithName.getId().equals(soapProjectId), "Project name is already taken"); final SoapProject project = find(soapProjectId); project.setName(updatedProject.getName()); project.setDescription(updatedProject.getDescription()); return super.save(project); }
@Test public void testFindAll(){ final SoapProject soapProject = save(); final List<SoapProject> soapProjects = repository.findAll(); Assert.assertEquals(soapProjects.size(), 1); Assert.assertEquals(soapProjects.get(0).getId(), soapProject.getId()); Assert.assertEquals(soapProjects.get(0).getName(), soapProject.getName()); Assert.assertEquals(soapProjects.get(0).getDescription(), soapProject.getDescription()); Assert.assertEquals(soapProjects.get(0).getTypeIdentifier(), soapProject.getTypeIdentifier()); }
@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); Mockito.when(repository.save(Mockito.any(SoapProject.class))).thenReturn(soapProject); final CreateSoapProjectInput input = CreateSoapProjectInput.builder() .project(soapProject) .build(); final ServiceTask<CreateSoapProjectInput> serviceTask = new ServiceTask<CreateSoapProjectInput>(input); final ServiceResult<CreateSoapProjectOutput> serviceResult = service.process(serviceTask); final CreateSoapProjectOutput output = serviceResult.getOutput(); final SoapProject returnedSoapProject = output.getProject(); Assert.assertEquals(soapProject.getName(), returnedSoapProject.getName()); Assert.assertEquals(soapProject.getDescription(), returnedSoapProject.getDescription()); Mockito.verify(repository, Mockito.times(1)).save(Mockito.any(SoapProject.class)); } }
@Test public void testProcess(){ final SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); final UpdateSoapProjectInput input = UpdateSoapProjectInput.builder() .projectId(soapProject.getId()) .project(soapProject) .build(); final ServiceTask<UpdateSoapProjectInput> serviceTask = new ServiceTask<>(input); Mockito.when(repository.findOne(Mockito.anyString())).thenReturn(soapProject); Mockito.when(repository.save(Mockito.any(SoapProject.class))).thenReturn(soapProject); final ServiceResult<UpdateSoapProjectOutput> result = service.process(serviceTask); final UpdateSoapProjectOutput output = result.getOutput(); final SoapProject returnedSoapProject = output.getProject(); Mockito.verify(repository, Mockito.times(1)).save(Mockito.any(SoapProject.class)); Assert.assertEquals(soapProject.getId(), returnedSoapProject.getId()); Assert.assertEquals(soapProject.getName(), returnedSoapProject.getName()); Assert.assertEquals(soapProject.getDescription(), returnedSoapProject.getDescription()); Assert.assertEquals(soapProject.getCreated(), returnedSoapProject.getCreated()); Assert.assertEquals(soapProject.getUpdated(), returnedSoapProject.getUpdated()); } }
@Test public void testProcess(){ SoapProject soapProject = SoapProjectGenerator.generateSoapProject(); Mockito.when(repository.search(Mockito.any(SearchQuery.class))).thenReturn(Arrays.asList(soapProject)); Mockito.when(portRepository.search(Mockito.any(SearchQuery.class))).thenReturn(Collections.emptyList()); Mockito.when(operationRepository.search(Mockito.any(SearchQuery.class))).thenReturn(Collections.emptyList()); Mockito.when(resourceRepository.search(Mockito.any(SearchQuery.class))).thenReturn(Collections.emptyList()); Mockito.when(mockResponseRepository.search(Mockito.any(SearchQuery.class))).thenReturn(Collections.emptyList()); Mockito.when(messageSource.getMessage("general.type.project", null, LocaleContextHolder.getLocale())).thenReturn("Project"); final String query = "Query"; final SearchQuery searchQuery = new SearchQuery(); searchQuery.setQuery(query); final SearchSoapProjectInput input = SearchSoapProjectInput.builder() .searchQuery(searchQuery) .build(); final ServiceTask<SearchSoapProjectInput> serviceTask = new ServiceTask<SearchSoapProjectInput>(); serviceTask.setInput(input); final ServiceResult<SearchSoapProjectOutput> serviceResult = service.process(serviceTask); final SearchSoapProjectOutput searchSoapProjectOutput = serviceResult.getOutput(); Assert.assertNotNull(searchSoapProjectOutput.getSearchResults()); Assert.assertEquals(1, searchSoapProjectOutput.getSearchResults().size()); SearchResult returnedSearchResult = searchSoapProjectOutput.getSearchResults().get(0); Assert.assertEquals("SOAP, Project", returnedSearchResult.getDescription()); Assert.assertEquals("soap/project/" + soapProject.getId(), returnedSearchResult.getLink()); Assert.assertEquals(soapProject.getName(), returnedSearchResult.getTitle()); }
@Test public void testFindSoapProjectWithName() { soapProjectMongoRepository.save(createSoapProject("xxAbcXX")); soapProjectMongoRepository.save(createSoapProject("abc")); soapProjectMongoRepository.save(createSoapProject("xAbc")); SoapProject abc = soapProjectMongoRepository.findSoapProjectWithName("ABC"); assertThat(abc.getName()).isEqualTo("abc"); }
searchResult.setTitle(project.getName()); searchResult.setLink(SOAP + SLASH + PROJECT + SLASH + project.getId()); searchResult.setDescription(SOAP_TYPE + COMMA + projectType);
@Test public void testFindOne(){ final SoapProject soapProject = save(); final SoapProject returnedSoapEvent = repository.findOne(soapProject.getId()); Assert.assertEquals(returnedSoapEvent.getId(), soapProject.getId()); Assert.assertEquals(returnedSoapEvent.getName(), soapProject.getName()); Assert.assertEquals(returnedSoapEvent.getDescription(), soapProject.getDescription()); Assert.assertEquals(returnedSoapEvent.getTypeIdentifier(), soapProject.getTypeIdentifier()); }