@Test public void getIntermediate() throws Exception { UUID uuid = UUID.randomUUID(); Path inter = DataBundles.getIntermediate(dataBundle, uuid); assertFalse(Files.exists(inter)); DataBundles.setStringValue(inter, "intermediate"); Path parent = inter.getParent(); assertEquals(dataBundle.getRoot().resolve("intermediates"), parent.getParent()); String parentName = parent.getFileName().toString(); assertEquals(2, parentName.length()); assertTrue(uuid.toString().startsWith(parentName)); // Filename is a valid string String interFileName = inter.getFileName().toString(); assertTrue(interFileName.startsWith(parentName)); assertEquals(uuid, UUID.fromString(interFileName)); }
@Test public void getWorkflowReportAsJson() throws Exception { Path runReport = DataBundles.getWorkflowRunReport(dataBundle); DataBundles.setStringValue(runReport, "{ \"valid\": \"not really\", \"number\": 1337 }"); JsonNode json = DataBundles.getWorkflowRunReportAsJson(dataBundle); assertEquals("not really", json.path("valid").asText()); assertEquals(1337, json.path("number").asInt()); }
@Test public void setStringExistsAsString() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); DataBundles.setStringValue(in1, "A"); assertTrue(Files.isRegularFile(in1)); DataBundles.setStringValue(in1, "B"); assertEquals("B", DataBundles.getStringValue(in1)); }
@Test(expected=FileAlreadyExistsException.class) public void setStringExistsAsReference() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); Path ref = DataBundles.setReference(in1, URI.create("http://example.com/")); assertFalse(Files.exists(in1)); assertTrue(Files.isRegularFile(ref)); DataBundles.setStringValue(in1, "Hello"); }
@Test(expected = FileAlreadyExistsException.class) public void setReferenceExistsAsValue() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); DataBundles.setStringValue(in1, "Hello"); assertTrue(Files.isRegularFile(in1)); DataBundles.setReference(in1, URI.create("http://example.com/")); }
@Test(expected=FileAlreadyExistsException.class) public void setErrorExistsAsValue() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); DataBundles.setStringValue(in1, "test"); assertTrue(Files.isRegularFile(in1)); DataBundles.setError(in1, "a", "b"); }
@Test(expected=FileAlreadyExistsException.class) public void setStringExistsAsError() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); Path err = DataBundles.setError(in1, "x", "X"); assertFalse(Files.exists(in1)); assertTrue(Files.isRegularFile(err)); DataBundles.setStringValue(in1, "Hello"); }
@Test(expected=FileAlreadyExistsException.class) public void newListAlreadyExistsAsFile() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path list = DataBundles.getPort(inputs, "in1"); DataBundles.setStringValue(list, "A string"); assertTrue(Files.isRegularFile(list)); assertFalse(Files.isDirectory(list)); DataBundles.createList(list); }
assertTrue(item0.getFileName().toString().contains("0")); assertFalse(Files.exists(item0)); DataBundles.setStringValue(item0, "test"); DataBundles.setStringValue(item1, "test");
@Test(expected=FileAlreadyExistsException.class) public void setStringExistsAsList() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path in1 = DataBundles.getPort(inputs, "in1"); DataBundles.createList(in1); assertTrue(Files.isDirectory(in1)); DataBundles.setStringValue(in1, "Hello"); }
@Test public void getListSize() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path list = DataBundles.getPort(inputs, "in1"); DataBundles.createList(list); for (int i = 0; i < 5; i++) { Path item = DataBundles.newListItem(list); DataBundles.setStringValue(item, "item " + i); } assertEquals(5, DataBundles.getListSize(list)); // set at next available position Path item5 = DataBundles.getListItem(list, 5); assertTrue(item5.getFileName().toString().contains("5")); DataBundles.setStringValue(item5, "item 5"); assertEquals(6, DataBundles.getListSize(list)); // set somewhere beyond the end Path item8 = DataBundles.getListItem(list, 8); assertTrue(item8.getFileName().toString().contains("8")); DataBundles.setStringValue(item8, "item 8"); assertEquals(9, DataBundles.getListSize(list)); // Evil test - very high number long highNumber = 3l * Integer.MAX_VALUE; Path itemHigh = DataBundles.getListItem(list, highNumber); assertTrue(itemHigh.getFileName().toString().contains(Long.toString(highNumber))); DataBundles.setStringValue(itemHigh, "item 6442450941"); assertEquals(highNumber+1l, DataBundles.getListSize(list)); }
@Test public void getPorts() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); DataBundles.createList(DataBundles.getPort(inputs, "in1")); DataBundles.createList(DataBundles.getPort(inputs, "in2")); DataBundles.setStringValue(DataBundles.getPort(inputs, "value"), "A value"); Map<String, Path> ports = DataBundles.getPorts(DataBundles .getInputs(dataBundle)); assertEquals(3, ports.size()); // System.out.println(ports); assertTrue(ports.containsKey("in1")); assertTrue(ports.containsKey("in2")); assertTrue(ports.containsKey("value")); assertEquals("A value", DataBundles.getStringValue(ports.get("value"))); }
for (int i = 0; i < 5; i++) { Path item = DataBundles.newListItem(list); DataBundles.setStringValue(item, "item " + i); DataBundles.setStringValue(item5, "item 5"); DataBundles.setStringValue(item8, "item 8"); DataBundles.setStringValue(item2, "replaced");
@Test public void getList() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path list = DataBundles.getPort(inputs, "in1"); DataBundles.createList(list); for (int i = 0; i < 5; i++) { Path item = DataBundles.newListItem(list); DataBundles.setStringValue(item, "test" + i); } List<Path> paths = DataBundles.getList(list); assertEquals(5, paths.size()); assertEquals("test0", DataBundles.getStringValue(paths.get(0))); assertEquals("test4", DataBundles.getStringValue(paths.get(4))); assertEquals(null, DataBundles.getList(null)); }
DataBundles.setStringValue(portIn1, "Hello"); DataBundles.setStringValue(item0, "item 0"); DataBundles.setStringValue(DataBundles.newListItem(port2), "item 1"); DataBundles.setStringValue(DataBundles.newListItem(port2), "item 2"); DataBundles.setStringValue(DataBundles.getListItem(port2, 12), "item 12"); System.out.println(DataBundles.getStringValue(DataBundles.getListItem(port2, 2)));
@Test public void listOfLists() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path list = DataBundles.getPort(inputs, "in1"); DataBundles.createList(list); Path sublist0 = DataBundles.newListItem(list); DataBundles.createList(sublist0); Path sublist1 = DataBundles.newListItem(list); DataBundles.createList(sublist1); assertEquals(Arrays.asList("0/", "1/"), ls(list)); DataBundles.setStringValue(DataBundles.newListItem(sublist1), "Hello"); assertEquals(Arrays.asList("0"), ls(sublist1)); assertEquals("Hello",DataBundles.getStringValue( DataBundles.getListItem(DataBundles.getListItem(list, 1), 0))); }
DataBundles.setStringValue(name, "John Doe"); wfInvocation.getInputs().put("name", name); DataBundles.setStringValue(greeting, "Hello, John Doe"); wfInvocation.getOutputs().put("greeting", greeting); DataBundles.setStringValue(helloValue, "Hello, "); } else if (p.getName().equals("Concatenate_two_strings")) { pInvocation.getInputs().put("string1", helloValue); pInvocation.getInputs().put("string2", name); pInvocation.getOutputs().put("output", concatenateOutput); DataBundles.setStringValue(concatenateOutput, "Hello, John Doe"); } else { throw new Exception("Unexpected processor " + p);