@Test public void nameIsNotTaken() { service.setupExamples(exampleOrganizationalUnit, importProjects); verify(repositoryCopier).copy(any(OrganizationalUnit.class), eq("example-module1"), any(Path.class)); verify(projectScreenService, never()).save(any(), any(), any()); }
@Test public void testForceSave() { WorkspaceProject project = mock(WorkspaceProject.class); doReturn(project).when(projectScreenService).save(any(), any(), any(), any()); presenter.concurrentPomUpdateInfo = mock(ObservablePath.OnConcurrentUpdateEvent.class); presenter.forceSave("Test comment", null); assertEquals(null, presenter.concurrentPomUpdateInfo); verify(conflictingRepositoriesPopup).hide(); verify(presenter).saveProjectScreenModel(eq("Test comment"), eq(DeploymentMode.FORCED), any()); }
@Test public void testSaveProjectScreenModelThrowingException() { final RuntimeException testException = mock(RuntimeException.class); doThrow(testException).when(projectScreenService).save(any(), any(), any(), any()); presenter.saveProjectScreenModel("Test comment", DeploymentMode.VALIDATED, null).catch_(i -> { fail("Promise should've been resolved!"); return promises.resolve(); }); verify(projectScreenService).save(any(), any(), eq("Test comment"), eq(DeploymentMode.VALIDATED)); verify(presenter, never()).handlePomConcurrentUpdate(any(), any()); }
@Test public void nameIsNotTaken() { String module1 = "module1"; WorkspaceProject project1 = mock(WorkspaceProject.class, Answers.RETURNS_DEEP_STUBS.get()); doReturn(module1).when(project1).getName(); when(project1.getMainModule().getPomXMLPath()).thenReturn(mock(Path.class)); doReturn(project1).when(service).importProject(eq(organizationalUnit), any()); service.importProjects(organizationalUnit, importProjects); verify(projectService, never()).createFreshProjectName(any(), anyString()); verify(projectScreenService, never()).save(any(), any(), any()); }
@Test public void testSaveProjectScreenModelWithLocallyDetectedConcurrentUpdate() { presenter.concurrentPomUpdateInfo = mock(ObservablePath.OnConcurrentUpdateEvent.class); doNothing().when(presenter).handlePomConcurrentUpdate(eq("Test comment"), any()); presenter.saveProjectScreenModel("Test comment", DeploymentMode.VALIDATED, null).then(i -> { fail("Promise should've not been resolved!"); return promises.resolve(); }); verify(projectScreenService, never()).save(any(), any(), any(), any()); verify(presenter).handlePomConcurrentUpdate(eq("Test comment"), any()); }
@Test public void testSaveProjectScreenModel() { WorkspaceProject project = mock(WorkspaceProject.class); Module module = mock(Module.class); doReturn(module).when(project).getMainModule(); doReturn(project).when(projectScreenService).save(any(), any(), any(), any()); presenter.saveProjectScreenModel("Test comment", DeploymentMode.VALIDATED, null).catch_(i -> { fail("Promise should've been resolved!"); return promises.resolve(); }); verify(projectScreenService).save(any(), any(), eq("Test comment"), eq(DeploymentMode.VALIDATED)); verify(projectContext).updateProjectModule(module); verify(presenter, never()).handlePomConcurrentUpdate(any(), any()); }
@Test public void nameIsTaken() { String module1 = "module1"; String module1_1 = "module1 [1]"; WorkspaceProject project1 = mock(WorkspaceProject.class); doReturn(module1).when(project1).getName(); List<WorkspaceProject> projects = new ArrayList<>(); projects.add(project1); projects.add(project1); doReturn(projects).when(projectService).getAllWorkspaceProjectsByName(any(), eq(module1)); doReturn(module1_1).when(projectService).createFreshProjectName(any(), eq(module1)); service.setupExamples(exampleOrganizationalUnit, importProjects); verify(projectScreenService).save(any(), modelCapture.capture(), any()); final ProjectScreenModel model = modelCapture.getValue(); assertEquals(module1_1, model.getPOM().getName()); }
@Test public void testSave() { WorkspaceProject project = mock(WorkspaceProject.class); doReturn(project).when(projectScreenService).save(any(), any(), any(), any()); final Section<ProjectScreenModel> section1 = newMockedSection(); final Section<ProjectScreenModel> section2 = newMockedSection(); doReturn(promises.resolve()).when(section1).save(any(), any()); doReturn(promises.resolve()).when(section2).save(any(), any()); doReturn(promises.resolve()).when(sectionManager).resetAllDirtyIndicators(); doReturn(promises.resolve()).when(presenter).saveProjectScreenModel(any(), any(), any()); doReturn(new ArrayList<>(Arrays.asList(section1, section2))).when(sectionManager).getSections(); presenter.save("Test comment"); verify(section1).save(eq("Test comment"), any()); verify(section2).save(eq("Test comment"), any()); verify(presenter).saveProjectScreenModel(eq("Test comment"), eq(DeploymentMode.VALIDATED), any()); verify(presenter).displaySuccessMessage(); }
importProjects); verify(projectScreenService).save(any(), modelCapture.capture(), any());
@Test public void nameIsTaken() { String module1 = "module1"; String module1_1 = "module1 [1]"; WorkspaceProject project1 = mock(WorkspaceProject.class, Answers.RETURNS_DEEP_STUBS.get()); doReturn(module1).when(project1).getName(); when(project1.getMainModule().getPomXMLPath()).thenReturn(mock(Path.class)); List<WorkspaceProject> projects = new ArrayList<>(); projects.add(project1); projects.add(project1); doReturn(project1).when(service).importProject(eq(organizationalUnit), any()); doReturn(projects).when(projectService).getAllWorkspaceProjectsByName(any(), eq(module1)); doReturn(module1_1).when(projectService).createFreshProjectName(any(), eq(module1)); service.importProjects(organizationalUnit, importProjects); verify(projectScreenService).save(any(), modelCapture.capture(), any()); final ProjectScreenModel model = modelCapture.getValue(); assertEquals(module1_1, model.getPOM().getName()); }
protected WorkspaceProject renameIfNecessary(final OrganizationalUnit ou, final WorkspaceProject project) { String name = project.getName(); Collection<WorkspaceProject> projectsWithSameName = projectService.getAllWorkspaceProjectsByName(ou, name); if (projectsWithSameName.size() > 1) { name = this.projectService.createFreshProjectName(ou, project.getName()); } if (!name.equals(project.getName())) { final Path pomXMLPath = project.getMainModule().getPomXMLPath(); final ProjectScreenModel model = projectScreenService.load(pomXMLPath); model.getPOM().setName(name); projectScreenService.save(pomXMLPath, model, ""); return projectService.resolveProject(pomXMLPath); } return project; }
importProjects); verify(projectScreenService).save(any(), modelCapture.capture(), any());
service.save(pathToPom, model, comment);
service.save(pathToPom, model, comment);
service.save(pathToPom, model, comment);
service.save(pathToPom, model, comment);
service.save(pathToPom, model, comment);
final WorkspaceProject project = service.save(pathToPom, model, comment,
service.save(pathToPom, model, comment);
Promise<Void> saveProjectScreenModel(final String comment, final DeploymentMode mode, final Supplier<Promise<Void>> chain) { if (concurrentPomUpdateInfo != null) { handlePomConcurrentUpdate(comment, chain); return promises.reject(sectionManager.getCurrentSection()); } return promises.promisify(projectScreenService, s -> { return s.save(pathToPom, model, comment, mode); }).then(workspaceProject -> { projectContext.updateProjectModule(workspaceProject.getMainModule()); return promises.resolve(); }).catch_(o -> promises.catchOrExecute(o, e -> { if (e instanceof GAVAlreadyExistsException) { return handlePomConcurrentUpdate(comment, chain, (GAVAlreadyExistsException) e); } else { view.hideBusyIndicator(); return promises.resolve(); } }, x -> { view.hideBusyIndicator(); return promises.reject(x); })); }