@Test public void testGetRunnerEnvironments() throws Exception { List<RemoteRunnerServer> servers = new ArrayList<>(1); RemoteRunnerServer server1 = mock(RemoteRunnerServer.class); doReturn(true).when(server1).isAvailable(); servers.add(server1); List<RunnerDescriptor> runners1 = new ArrayList<>(1); RunnerDescriptor runner1 = dto(RunnerDescriptor.class).withName("java/web"); runner1.getEnvironments().add(dto(RunnerEnvironment.class).withId("tomcat7")); runner1.getEnvironments().add(dto(RunnerEnvironment.class).withId("jboss7")); runners1.add(runner1); RemoteRunnerServer server2 = mock(RemoteRunnerServer.class); doReturn(true).when(server2).isAvailable(); servers.add(server2); List<RunnerDescriptor> runners2 = new ArrayList<>(1); RunnerDescriptor runner2 = dto(RunnerDescriptor.class).withName("java/web"); runner2.getEnvironments().add(dto(RunnerEnvironment.class).withId("tomcat7")); runner2.getEnvironments().add(dto(RunnerEnvironment.class).withId("jboss7")); runners2.add(runner2); doReturn(runners1).when(server1).getRunnerDescriptors(); doReturn(runners2).when(server2).getRunnerDescriptors(); doReturn(servers).when(runQueue).getRegisterRunnerServers(); RunnerEnvironmentTree system = service.getRunnerEnvironments(null, null); assertEquals(system.getDisplayName(), "system"); assertEquals(system.getLeaves().size(), 0); List<RunnerEnvironmentTree> nodes = system.getNodes(); assertEquals(nodes.size(), 1); RunnerEnvironmentTree java = system.getNode("java"); assertNotNull(java); assertEquals(java.getDisplayName(), "java"); nodes = java.getNodes(); assertEquals(nodes.size(), 1); assertEquals(java.getLeaves().size(), 0); RunnerEnvironmentTree web = java.getNode("web"); assertNotNull(web); assertEquals(web.getNodes().size(), 0); assertEquals(web.getLeaves().size(), 2); RunnerEnvironmentLeaf tomcat7 = web.getEnvironment("tomcat7"); assertNotNull(tomcat7); RunnerEnvironmentLeaf jboss7 = web.getEnvironment("jboss7"); assertNotNull(jboss7); RunnerEnvironment tomcat7Environment = tomcat7.getEnvironment(); RunnerEnvironment jboss7Environment = jboss7.getEnvironment(); assertNotNull(tomcat7Environment); assertNotNull(jboss7Environment); assertEquals(tomcat7Environment.getId(), "system:/java/web/tomcat7"); assertEquals(jboss7Environment.getId(), "system:/java/web/jboss7"); }
@Test public void testFilerEnvironmentsByWorkspaceRestricted() throws Exception { List<RemoteRunnerServer> servers = createRunners(); // first server isn't accessible doReturn("my").when(servers.get(0)).getAssignedWorkspace(); RunnerEnvironmentTree system = service.getRunnerEnvironments(null, null); assertEquals(system.getDisplayName(), "system"); assertEquals(system.getLeaves().size(), 0); List<RunnerEnvironmentTree> nodes = system.getNodes(); assertEquals(nodes.size(), 1); RunnerEnvironmentTree java = system.getNode("java"); assertNotNull(java); RunnerEnvironmentTree web = java.getNode("web"); assertNotNull(web); assertEquals(web.getNodes().size(), 0); // from private shouldn't be visible assertEquals(web.getLeaves().size(), 2); RunnerEnvironmentLeaf tomcat7 = web.getEnvironment("tomcat7"); assertNotNull(tomcat7); RunnerEnvironmentLeaf jboss7 = web.getEnvironment("jboss7"); assertNotNull(jboss7); }
@Test public void testFilerEnvironmentsByWorkspaceGetAll() throws Exception { createRunners(); RunnerEnvironmentTree system = service.getRunnerEnvironments(null, null); assertEquals(system.getDisplayName(), "system"); assertEquals(system.getLeaves().size(), 0); List<RunnerEnvironmentTree> nodes = system.getNodes(); assertEquals(nodes.size(), 1); RunnerEnvironmentTree java = system.getNode("java"); assertNotNull(java); RunnerEnvironmentTree web = java.getNode("web"); assertNotNull(web); assertEquals(web.getNodes().size(), 0); assertEquals(web.getLeaves().size(), 4); RunnerEnvironmentLeaf tomcat7 = web.getEnvironment("tomcat7"); assertNotNull(tomcat7); RunnerEnvironmentLeaf jboss7 = web.getEnvironment("jboss7"); assertNotNull(jboss7); RunnerEnvironmentLeaf _tomcat7 = web.getEnvironment("my_tomcat7"); assertNotNull(_tomcat7); RunnerEnvironmentLeaf _jboss7 = web.getEnvironment("my_jboss7"); assertNotNull(_jboss7); }
/** * Check running processes * * @throws Exception */ @Test public void testGetRunningProcesses() throws Exception { // two users with tasks, only florent is the current user User user = new UserImpl("florent", "id-2314", "token-2323", Collections.<String>emptyList(), false); User dummy = new UserImpl("dummy", "id-2315", "token-2324", Collections.<String>emptyList(), false); EnvironmentContext context = EnvironmentContext.getCurrent(); context.setUser(user); // add 5 tasks for 4 projects with Florent and one for dummy user String workspaceFlorent = "workspaceFlorent"; String workspaceCodenvy = "workspaceCodenvy"; String projectA = "/projectA"; String projectFlorentA = projectA; String projectFlorentB = "projectB"; String projectCodenvyA = projectA; List<RunQueueTask> tasks = new ArrayList<>(4); tasks.add(createTask(user, workspaceFlorent, projectFlorentA)); tasks.add(createTask(user, workspaceFlorent, projectFlorentB)); tasks.add(createTask(user, workspaceCodenvy, projectCodenvyA)); tasks.add(createTask(dummy, "dummyWorkspace", "dummyProject")); doReturn(tasks).when(runQueue).getTasks(); // we should have all the processes without specifying anything List<ApplicationProcessDescriptor> processes = service.getRunningProcesses(null, null); // list is 3 as we don't have task for dummy user assertEquals(processes.size(), 3); // we should have all the processes without specifying anything processes = service.getRunningProcesses(workspaceCodenvy, null); // list is 1 for this workspace assertEquals(processes.size(), 1); ApplicationProcessDescriptor process = processes.get(0); assertEquals(process.getWorkspace(), workspaceCodenvy); assertEquals(process.getProject(), projectCodenvyA); // we should have all the processes without specifying anything processes = service.getRunningProcesses(workspaceCodenvy, projectA); // list is 1 as we only have one matching workspace + project assertEquals(processes.size(), 1); // we should have all the processes without specifying anything processes = service.getRunningProcesses(null, projectA); // list is 2 as we have two workspaces with this project name assertEquals(processes.size(), 2); // no workspace with that name processes = service.getRunningProcesses("dummy", null); assertEquals(processes.size(), 0); // no project with that name processes = service.getRunningProcesses(null, "project"); assertEquals(processes.size(), 0); // no project with that workspace + name processes = service.getRunningProcesses("dummy", "project"); assertEquals(processes.size(), 0); }