@Test public void testSelectFilesToDelete() { final Configuration config = new DefaultConfiguration(); config.initialize(); // creates the ScriptManager final Script script = new Script("test", "javascript", "pathList;"); // script that returns pathList final ScriptCondition condition = new ScriptCondition(script, config); final List<PathWithAttributes> pathList = new ArrayList<>(); final Path base = Paths.get("baseDirectory"); final List<PathWithAttributes> result = condition.selectFilesToDelete(base, pathList); assertSame(result, pathList); }
@Test(expected = NullPointerException.class) public void testCreateConditionDisallowsNullConfig() { ScriptCondition.createCondition(new Script("test", "js", "print('hi')"), null); }
@Test(expected = NullPointerException.class) public void testConstructorDisallowsNullScript() { new ScriptCondition(null, new DefaultConfiguration()); }
private List<PathWithAttributes> callScript() throws IOException { final List<PathWithAttributes> sortedPaths = getSortedPaths(); trace("Sorted paths:", sortedPaths); final List<PathWithAttributes> result = scriptCondition.selectFilesToDelete(getBasePath(), sortedPaths); return result; }
@Test(expected = NullPointerException.class) public void testConstructorDisallowsNullConfig() { new ScriptCondition(new Script("test", "js", "print('hi')"), null); }
@Test public void testSelectFilesToDelete2() { final Configuration config = new DefaultConfiguration(); config.initialize(); // creates the ScriptManager final List<PathWithAttributes> pathList = new ArrayList<>(); pathList.add(new PathWithAttributes(Paths.get("/path/1"), new DummyFileAttributes())); pathList.add(new PathWithAttributes(Paths.get("/path/2"), new DummyFileAttributes())); pathList.add(new PathWithAttributes(Paths.get("/path/3"), new DummyFileAttributes())); final String scriptText = "pathList.remove(1);" // + "pathList;"; final Script script = new Script("test", "javascript", scriptText); final ScriptCondition condition = new ScriptCondition(script, config); final Path base = Paths.get("baseDirectory"); final List<PathWithAttributes> result = condition.selectFilesToDelete(base, pathList); assertSame(result, pathList); assertEquals(2, result.size()); assertEquals(Paths.get("/path/1"), result.get(0).getPath()); assertEquals(Paths.get("/path/3"), result.get(1).getPath()); }
return new ScriptCondition(script, configuration);
@Test public void testCreateConditionReturnsNullForNullScript() { assertNull(ScriptCondition.createCondition(null, new DefaultConfiguration())); }
+ "copy;"; final Script script = new Script("test", "groovy", scriptText); final ScriptCondition condition = new ScriptCondition(script, config); final Path base = Paths.get("/path"); final List<PathWithAttributes> result = condition.selectFilesToDelete(base, pathList); assertEquals(1, result.size()); assertEquals(Paths.get("/path/2/abc/bbb.txt"), result.get(0).getPath());