/******************************************************************************* * Copyright (c) 2012-2015 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.project.server; /** * @author andrew00x */ public class ProjectEventTest { // private static final String vfsUserName = "dev"; // private static final Set<String> vfsUserGroups = new LinkedHashSet<>(Arrays.asList("workspace/developer")); // // private ProjectManager pm; // private ProjectEventService projectEventService; // // @BeforeMethod // public void setUp() throws Exception { // EventService eventService = new EventService(); // // // ProjectType pt = new ProjectType("my_project_type", "my proj type") { // // { // addConstantDefinition("my_attribute", "attr description", "attribute value 1"); // } // // }; // // HashSet<ProjectType> ptypes = new HashSet<>(); // ptypes.add(pt); // // ProjectTypeRegistry ptRegistry = new ProjectTypeRegistry(ptypes); // // // VirtualFileSystemRegistry vfsRegistry = new VirtualFileSystemRegistry(); // final MemoryFileSystemProvider memoryFileSystemProvider = // new MemoryFileSystemProvider("my_ws", eventService, new VirtualFileSystemUserContext() { // @Override // public VirtualFileSystemUser getVirtualFileSystemUser() { // return new VirtualFileSystemUser(vfsUserName, vfsUserGroups); // } // }, vfsRegistry); // // vfsRegistry.registerProvider("my_ws", memoryFileSystemProvider); // // ProjectGeneratorRegistry pgRegistry = new ProjectGeneratorRegistry(new HashSet<ProjectGenerator>()); // // pm = new DefaultProjectManager(vfsRegistry, eventService, ptRegistry, pgRegistry); // // ProjectConfig config = new ProjectConfig("descr", "my_project_type"); // // Project p = pm.createProject("my_ws", "my_project", config, null); // // projectEventService = new ProjectEventService(eventService); // } // // // @Test // public void testAddListener() { // ProjectEventListener listener = new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // } // }; // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", listener)); // Assert.assertFalse(projectEventService.addListener("my_ws", "my_project", listener)); // } // // // @Test // public void testRemoveListener() { // ProjectEventListener listener = new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // } // }; // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", listener)); // Assert.assertTrue(projectEventService.removeListener("my_ws", "my_project", listener)); // Assert.assertFalse(projectEventService.removeListener("my_ws", "my_project", listener)); // } // // @Test // public void testCreateFile() throws Exception { // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // // pm.getProject("my_ws", "my_project").getBaseFolder().createFile("test.txt", "test".getBytes(), "text/plain"); // Assert.assertEquals(events.size(), 1); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.CREATED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "test.txt"); // } // // @Test // public void testCreateFolder() throws Exception { // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // pm.getProject("my_ws", "my_project").getBaseFolder().createFolder("a/b/c"); // Assert.assertEquals(events.size(), 1); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.CREATED); // Assert.assertTrue(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "a/b/c"); // } // // @Test // public void testUpdateFile() throws Exception { // FileEntry file = pm.getProject("my_ws", "my_project").getBaseFolder().createFile("test.txt", "test".getBytes(), "text/plain"); // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // file.updateContent("new content".getBytes()); // Assert.assertEquals(events.size(), 1); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.UPDATED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "test.txt"); // } // // @Test // public void testDelete() throws Exception { // FileEntry file = pm.getProject("my_ws", "my_project").getBaseFolder().createFile("test.txt", "test".getBytes(), "text/plain"); // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // file.remove(); // Assert.assertEquals(events.size(), 1); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.DELETED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "test.txt"); // } // // @Test // public void testMove() throws Exception { // FileEntry file = pm.getProject("my_ws", "my_project").getBaseFolder().createFile("test.txt", "test".getBytes(), "text/plain"); // FolderEntry folder = pm.getProject("my_ws", "my_project").getBaseFolder().createFolder("a/b/c"); // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // file.moveTo(folder.getPath()); // Assert.assertEquals(events.size(), 2); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.CREATED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "a/b/c/test.txt"); // Assert.assertEquals(events.get(1).getType(), ProjectEvent.EventType.DELETED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(1).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(1).getProject(), "my_project"); // Assert.assertEquals(events.get(1).getPath(), "test.txt"); // } // // @Test // public void testRename() throws Exception { // FileEntry file = pm.getProject("my_ws", "my_project").getBaseFolder().createFile("test.txt", "test".getBytes(), "text/plain"); // final List<ProjectEvent> events = new ArrayList<>(); // Assert.assertTrue(projectEventService.addListener("my_ws", "my_project", new ProjectEventListener() { // @Override // public void onEvent(ProjectEvent event) { // events.add(event); // } // })); // file.rename("_test.txt"); // Assert.assertEquals(events.size(), 2); // Assert.assertEquals(events.get(0).getType(), ProjectEvent.EventType.CREATED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(0).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(0).getProject(), "my_project"); // Assert.assertEquals(events.get(0).getPath(), "_test.txt"); // Assert.assertEquals(events.get(1).getType(), ProjectEvent.EventType.DELETED); // Assert.assertFalse(events.get(0).isFolder()); // Assert.assertEquals(events.get(1).getWorkspace(), "my_ws"); // Assert.assertEquals(events.get(1).getProject(), "my_project"); // Assert.assertEquals(events.get(1).getPath(), "test.txt"); // } }