@Override public String construct() { try { return fc.uploadFile(file); } catch (IOException e) { thrownException = e; return ""; } } };
return fc.uploadFile(file); } else {
try { temp = File.createTempFile("foo", "bar"); String contentLocation = getFedoraClient().uploadFile(temp); String checksum = computeChecksum(checksumType, new FileInputStream(temp)); String dsId = addDatastream(pid, contentLocation, checksumType, checksum); os.write("testModifyDatastreamByReferenceWithChecksum".getBytes()); os.close(); contentLocation = getFedoraClient().uploadFile(temp); checksum = computeChecksum(checksumType, new FileInputStream(temp)); modifyDatastreamByReference(pid, contentLocation, checksumType, checksum);
@Test public void testAddDatastreamWithChecksum() throws Exception { String pid = "demo:m_ds_test_add"; String checksumType = "MD5"; apim.ingest(TypeUtility.convertBytesToDataHandler(getAtomObject(pid, null)), ATOM1_1.uri, null); File temp = null; try { temp = File.createTempFile("foo", "bar"); String contentLocation = getFedoraClient().uploadFile(temp); String checksum = computeChecksum(checksumType, new FileInputStream(temp)); String dsId = addDatastream(pid, contentLocation, checksumType, checksum); assertEquals("DS", dsId); // Now ensure that bogus checksums do indeed fail apim.purgeDatastream(pid, dsId, null, null, null, false); checksum = "bogus"; try { addDatastream(pid, contentLocation, checksumType, checksum); fail("Adding datastream with bogus checksum should have failed."); } catch (SOAPFaultException e) { assertTrue(e.getMessage(), e.getMessage().contains("Checksum Mismatch")); } } finally { apim.purgeObject(pid, "test", false); if (temp != null) { temp.delete(); } } }
tempURI = fedora.uploadFile(tempFile); tempURI = fedora.uploadFile(tempFile);