/** * Tests file handling. * * @throws Exception if there were unexpected failures. */ @Test public void fileHandling() throws Exception { // Create a temp file with text. File tmp = File.createTempFile("strat", ".tmp"); tmp.deleteOnExit(); String strategyContents = "Test strategy script"; CopyCharsUtils.copy(strategyContents.toCharArray(), tmp.getAbsolutePath()); CreateStrategyParameters csp = new CreateStrategyParameters(null, "mname", "JAVA", tmp, null, false); // verify that the input stream yields the correct contents. InputStream is = csp.getStrategySource(); assertEquals(strategyContents, IOUtils.toString(is)); is.close(); // verify failure when a non existent file is supplied final CreateStrategyParameters csp2 = new CreateStrategyParameters(null, "mname", "JAVA", tmp, null, true); assertTrue(tmp.delete()); assertFalse(tmp.exists()); new ExpectedFailure<FileNotFoundException>() { @Override protected void run() throws Exception { csp2.getStrategySource(); } }; }
@Test public void createStrategy() throws Exception { File f = File.createTempFile("strat", ".tst"); f.deleteOnExit(); CopyCharsUtils.copy("Test Strategy Contents".toCharArray(), f.getAbsolutePath()); final CreateStrategyParameters input = new CreateStrategyParameters("instance", "strategy", "java", f, "key=value", false); final ModuleURN output = new ModuleURN("test:prov:me:A"); testAPI( new WSTester<ModuleURN>() { @Override protected ModuleURN invokeApi(boolean isNullParams) throws Exception { return getClient().createStrategy(isNullParams ? null : input); } @Override protected ModuleURN setReturnValue(boolean isNullParams) { ModuleURN value = isNullParams ? null : output; getMockSAService().setURN(value); return value; } @Override protected void verifyInputParams(boolean isNullParams) throws Exception { verifyEquals( isNullParams ? null : input, getMockSAService().getCreateStrategyParameters()); } }); // Test non-existent file behavior resetServiceParameters(); // Create the parameter and then delete the file. CreateStrategyParameters parms = new CreateStrategyParameters("instance", "strategy", "java", f, "key=value", false); assertTrue(f.delete()); assertFalse(f.exists()); getClient().createStrategy(parms); InputStream file = getMockSAService().getCreateStrategyParameters().getStrategySource(); assertNotNull(file); // If the file doesn't exist at the time it's being sent, it comes out // as empty at the other end. assertEquals(0, IOUtils.toByteArray(file).length); }