use of org.kie.workbench.common.screens.examples.model.ExampleProject in project kie-wb-common by kiegroup.
the class ExampleImportPresenterTest method filterProjectsTest.
@Test
public void filterProjectsTest() {
Set<ExampleProject> projects = new HashSet<>();
projects.add(new ExampleProject(mock(Path.class), "p1a", "p1a description", null));
projects.add(new ExampleProject(mock(Path.class), "p3b", "p3b description", null));
projects.add(new ExampleProject(mock(Path.class), "p2a", "p2a description", null));
doReturn(projects).when(libraryService).getExampleProjects();
Map<String, String> params = new HashMap<>();
params.put("repositoryUrl", "repoUrl");
importPresenter.onStartup(new DefaultPlaceRequest(LibraryPlaces.PROJECT_SCREEN, params));
final List<TileWidget> filteredProjects = importPresenter.filterProjects("a");
assertEquals(2, filteredProjects.size());
}
use of org.kie.workbench.common.screens.examples.model.ExampleProject in project kie-wb-common by kiegroup.
the class ExamplesServiceImpl method setupExamples.
@Override
public WorkspaceProjectContextChangeEvent setupExamples(final ExampleOrganizationalUnit exampleTargetOU, final List<ExampleProject> exampleProjects) {
PortablePreconditions.checkNotNull("exampleTargetOU", exampleTargetOU);
PortablePreconditions.checkNotNull("exampleProjects", exampleProjects);
PortablePreconditions.checkCondition("Must have at least one ExampleProject", exampleProjects.size() > 0);
// Retrieve or create Organizational Unit
final String targetOUName = exampleTargetOU.getName();
final OrganizationalUnit targetOU = getOrganizationalUnit(targetOUName);
WorkspaceProject firstExampleProject = null;
for (final ExampleProject exampleProject : exampleProjects) {
try {
final Repository targetRepository = repositoryCopier.copy(targetOU, exampleProject.getName(), exampleProject.getRoot());
// Signal creation of new Project (Creation of OU and Repository, if applicable,
// are already handled in the corresponding services).
WorkspaceProject project = projectService.resolveProject(targetRepository);
project = renameIfNecessary(targetOU, project);
newProjectEvent.fire(new NewProjectEvent(project));
// Store first new example project
if (firstExampleProject == null) {
firstExampleProject = project;
}
} catch (IOException ioe) {
logger.error("Unable to create Example(s).", ioe);
}
}
return new WorkspaceProjectContextChangeEvent(firstExampleProject, firstExampleProject.getMainModule());
}
use of org.kie.workbench.common.screens.examples.model.ExampleProject in project kie-wb-common by kiegroup.
the class ExamplesServiceImplTest method testGetProjects_PomDescription.
@Test
public void testGetProjects_PomDescription() {
final Path moduleRoot = mock(Path.class);
final POM pom = mock(POM.class);
final KieModule module = mock(KieModule.class);
when(pom.getDescription()).thenReturn("pom description");
when(module.getRootPath()).thenReturn(moduleRoot);
when(module.getModuleName()).thenReturn("module1");
when(module.getPom()).thenReturn(pom);
when(moduleRoot.toURI()).thenReturn("default:///module1");
when(metadataService.getTags(any(Path.class))).thenReturn(Arrays.asList("tag1", "tag2"));
final GitRepository repository = makeGitRepository();
when(repositoryFactory.newRepository(any(ConfigGroup.class))).thenReturn(repository);
when(moduleService.getAllModules(any(Branch.class))).thenReturn(new HashSet<Module>() {
{
add(module);
}
});
final Set<ExampleProject> modules = service.getProjects(new ExampleRepository("https://github.com/guvnorngtestuser1/guvnorng-playground.git"));
assertNotNull(modules);
assertEquals(1, modules.size());
assertTrue(modules.contains(new ExampleProject(moduleRoot, "module1", "pom description", Arrays.asList("tag1", "tag2"))));
}
use of org.kie.workbench.common.screens.examples.model.ExampleProject in project kie-wb-common by kiegroup.
the class ExamplesServiceImplTest method testSetupExamples_NewOrganizationalUnitNewRepository.
@Test
public void testSetupExamples_NewOrganizationalUnitNewRepository() {
final ExampleOrganizationalUnit exOU = mock(ExampleOrganizationalUnit.class);
final ExampleProject exModule = mock(ExampleProject.class);
doReturn("module").when(exModule).getName();
final List<ExampleProject> exModules = new ArrayList<ExampleProject>() {
{
add(exModule);
}
};
final OrganizationalUnit ou = mock(OrganizationalUnit.class);
doReturn("ou").when(ou).getName();
final GitRepository repository = mock(GitRepository.class);
final Path repositoryRoot = mock(Path.class);
final Path moduleRoot = mock(Path.class);
when(exOU.getName()).thenReturn("ou");
when(exModule.getName()).thenReturn("module");
when(exModule.getRoot()).thenReturn(moduleRoot);
when(repository.getDefaultBranch()).thenReturn(Optional.of(new Branch("master", repositoryRoot)));
when(repositoryRoot.toURI()).thenReturn("default:///");
when(moduleRoot.toURI()).thenReturn("default:///module");
when(ouService.getOrganizationalUnit(eq("ou"))).thenReturn(null);
when(ouService.createOrganizationalUnit(eq("ou"), eq(""), eq(""))).thenReturn(ou);
when(repositoryCopier.copy(eq(ou), anyString(), eq(moduleRoot))).thenReturn(repository);
final WorkspaceProject project = spy(new WorkspaceProject());
doReturn("project").when(project).getName();
doReturn(project).when(projectService).resolveProject(repository);
final WorkspaceProjectContextChangeEvent event = service.setupExamples(exOU, exModules);
assertNull(event.getOrganizationalUnit());
assertEquals(project, event.getWorkspaceProject());
verify(ouService, times(1)).createOrganizationalUnit(eq("ou"), eq(""), eq(""));
verify(repositoryCopier, times(1)).copy(eq(ou), anyString(), eq(moduleRoot));
verify(newProjectEvent, times(1)).fire(any(NewProjectEvent.class));
}
use of org.kie.workbench.common.screens.examples.model.ExampleProject in project kie-wb-common by kiegroup.
the class ExamplesServiceImplTest method testSetupExamples_ProjectCopy.
@Test
public void testSetupExamples_ProjectCopy() {
final ExampleOrganizationalUnit exOU = mock(ExampleOrganizationalUnit.class);
final ExampleProject exProject1 = mock(ExampleProject.class);
doReturn("project 1").when(exProject1).getName();
final ExampleProject exProject2 = mock(ExampleProject.class);
doReturn("project 2").when(exProject1).getName();
final List<ExampleProject> exProjects = new ArrayList<ExampleProject>() {
{
add(exProject1);
add(exProject2);
}
};
final OrganizationalUnit ou = mock(OrganizationalUnit.class);
doReturn("ou").when(ou).getName();
final GitRepository repository1 = mock(GitRepository.class);
final Path repositoryRoot = mock(Path.class);
final Path module1Root = mock(Path.class);
final Path module2Root = mock(Path.class);
when(exOU.getName()).thenReturn("ou");
when(exProject1.getName()).thenReturn("module1");
when(exProject1.getRoot()).thenReturn(module1Root);
when(exProject2.getName()).thenReturn("module2");
when(exProject2.getRoot()).thenReturn(module2Root);
when(repository1.getBranch("dev_branch")).thenReturn(Optional.of(new Branch("dev_branch", repositoryRoot)));
final Optional<Branch> master = Optional.of(new Branch("master", PathFactory.newPath("testFile", "file:///")));
when(repository1.getDefaultBranch()).thenReturn(master);
when(repositoryRoot.toURI()).thenReturn("default:///");
when(module1Root.toURI()).thenReturn("default:///module1");
when(module2Root.toURI()).thenReturn("default:///module2");
when(ouService.getOrganizationalUnit(eq("ou"))).thenReturn(ou);
doReturn(repository1).when(repositoryCopier).copy(eq(ou), anyString(), eq(module1Root));
doReturn(repository1).when(repositoryCopier).copy(eq(ou), anyString(), eq(module2Root));
final WorkspaceProject project = spy(new WorkspaceProject());
doReturn("project").when(project).getName();
doReturn(project).when(projectService).resolveProject(repository1);
final WorkspaceProjectContextChangeEvent event = service.setupExamples(exOU, exProjects);
assertNull(event.getOrganizationalUnit());
assertEquals(project, event.getWorkspaceProject());
verify(ouService, never()).createOrganizationalUnit(eq("ou"), eq(""), eq(""));
verify(repositoryCopier, times(2)).copy(eq(ou), anyString(), any(Path.class));
verify(newProjectEvent, times(2)).fire(any(NewProjectEvent.class));
}
Aggregations