From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-03-16 15:57:49
|
Revision: 475 http://sword-app.svn.sourceforge.net/sword-app/?rev=475&view=rev Author: richard-jones Date: 2012-03-16 15:57:39 +0000 (Fri, 16 Mar 2012) Log Message: ----------- more tests around deposit, deposit receipt and binary deposit operations Modified Paths: -------------- JavaClient2.0/src/test/java/org/swordapp/client/test/ClientTests.java JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java JavaClient2.0/src/test/java/org/swordapp/client/test/SpecTests.java Modified: JavaClient2.0/src/test/java/org/swordapp/client/test/ClientTests.java =================================================================== --- JavaClient2.0/src/test/java/org/swordapp/client/test/ClientTests.java 2012-03-16 15:02:07 UTC (rev 474) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/ClientTests.java 2012-03-16 15:57:39 UTC (rev 475) @@ -1,9 +1,15 @@ package org.swordapp.client.test; import org.junit.*; +import static org.junit.Assert.*; import org.swordapp.client.ClientConfiguration; +import org.swordapp.client.Deposit; +import org.swordapp.client.EntryPart; import org.swordapp.client.SWORDClient; +import java.io.ByteArrayInputStream; +import java.io.InputStream; + public class ClientTests { @Test @@ -15,4 +21,35 @@ // construct with a default ClientConfiguration SWORDClient client2 = new SWORDClient(new ClientConfiguration()); } + + @Test + public void depositObject() + throws Exception + { + Deposit deposit = new Deposit(); + + deposit.setSlug("abcdef"); + deposit.setInProgress(true); + deposit.setFilename("example.zip"); + deposit.setMd5("3df4ed"); + deposit.setMetadataRelevant(true); + deposit.setMimeType("application/zip"); + deposit.setPackaging("http://package/"); + deposit.setEntryPart(new EntryPart()); + deposit.setFile(new ByteArrayInputStream("test".getBytes())); + + assertEquals(deposit.getSlug(), "abcdef"); + assertEquals(deposit.getSuggestedIdentifier(), "abcdef"); + assertTrue(deposit.isInProgress()); + assertEquals(deposit.getFilename(), "example.zip"); + assertEquals(deposit.getMd5(), "3df4ed"); + assertTrue(deposit.isMetadataRelevant()); + assertEquals(deposit.getPackaging(), "http://package/"); + assertTrue(deposit.getEntryPart() != null); + + byte[] bytes = new byte["test".getBytes().length]; + deposit.getFile().read(bytes); + String s = new String(bytes); + assertEquals(s, "test"); + } } Modified: JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java =================================================================== --- JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 2012-03-16 15:02:07 UTC (rev 474) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 2012-03-16 15:57:39 UTC (rev 475) @@ -1,14 +1,19 @@ package org.swordapp.client.test; +import org.apache.commons.codec.digest.DigestUtils; import org.junit.Before; import org.junit.Test; import org.swordapp.client.AuthCredentials; import org.swordapp.client.ClientConfiguration; +import org.swordapp.client.Deposit; +import org.swordapp.client.DepositReceipt; import org.swordapp.client.SWORDClient; import org.swordapp.client.SWORDCollection; import org.swordapp.client.SWORDWorkspace; import org.swordapp.client.ServiceDocument; +import org.swordapp.client.UriRegistry; +import java.io.FileInputStream; import java.util.List; import static org.junit.Assert.*; @@ -27,14 +32,19 @@ private String user = null; private String pass = null; private String obo = null; + private String file = null; + private String fileMd5 = null; @Before public void setUp() + throws Exception { this.sdIRI = "http://localhost:8080/sd-uri"; this.user = "sword"; this.pass = "sword"; this.obo = "obo"; + this.file = "/home/richard/Code/External/JavaClient2.0/src/test/resources/example.zip"; + this.fileMd5 = DigestUtils.md5Hex(new FileInputStream(this.file)); } @Test @@ -90,4 +100,40 @@ List<String> ss = collection.getSubServices(); assertTrue(ss.size() == 1); } + + @Test + public void depositReceipt() + throws Exception + { + SWORDClient client = new SWORDClient(new ClientConfiguration()); + ServiceDocument sd = client.getServiceDocument(this.sdIRI, new AuthCredentials(this.user, this.pass)); + SWORDCollection col = sd.getWorkspaces().get(0).getCollections().get(0); + + Deposit deposit = new Deposit(); + deposit.setFile(new FileInputStream(this.file)); + deposit.setMimeType("application/zip"); + deposit.setFilename("example.zip"); + deposit.setPackaging(UriRegistry.PACKAGE_SIMPLE_ZIP); + deposit.setMd5(this.fileMd5); + + DepositReceipt receipt = client.deposit(col, deposit, new AuthCredentials(this.user, this.pass)); + + // check all of the methods on the receipt + assertTrue(receipt.getEditMediaLink() != null); + assertTrue(receipt.getLocation() != null); + assertEquals(receipt.getStatusCode(), 201); + assertTrue(receipt.getAtomStatementLink() != null); + assertEquals(receipt.getContentMimeType().toString(), "application/zip"); + assertEquals(receipt.getDerivedResourceLinks().size(), 4); + assertTrue(receipt.getEditLink() != null); + assertTrue(receipt.getOREStatementLink() != null); + assertTrue(receipt.getOriginalDepositLink() != null); + assertEquals(receipt.getPackaging().size(), 1); + assertTrue(receipt.getSplashPageIRI() != null); + assertTrue(receipt.getStatementLink("application/rdf+xml") != null); + assertTrue(receipt.getStatementLink("application/atom+xml;type=feed") != null); + assertTrue(receipt.getSwordEditLink() != null); + assertTrue(receipt.getTreatment() != null); + assertTrue(receipt.getVerboseDescription() != null); + } } Modified: JavaClient2.0/src/test/java/org/swordapp/client/test/SpecTests.java =================================================================== --- JavaClient2.0/src/test/java/org/swordapp/client/test/SpecTests.java 2012-03-16 15:02:07 UTC (rev 474) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/SpecTests.java 2012-03-16 15:57:39 UTC (rev 475) @@ -35,7 +35,6 @@ this.pass = "sword"; this.obo = "obo"; this.file = "/home/richard/Code/External/JavaClient2.0/src/test/resources/example.zip"; - this.fileMd5 = DigestUtils.md5Hex(new FileInputStream(this.file)); } @@ -107,27 +106,6 @@ /* Python tests to mimic - def test_04_advanced_create_resource_with_package(self): - conn = Connection(SSS_URL, user_name=SSS_UN, user_pass=SSS_PW, on_behalf_of=SSS_OBO) - conn.get_service_document() - col = conn.sd.workspaces[0][1][0] - with open(PACKAGE) as pkg: - receipt = conn.create(col_iri = col.href, - payload=pkg, - mimetype=PACKAGE_MIME, - filename="example.zip", - packaging = 'http://purl.org/net/sword/package/SimpleZip', - in_progress = True, - suggested_identifier = "abcdefghijklmnop") - - assert receipt.code == 201 - assert receipt.location != None - - # these last two assertions are contingent on if we actually get a - # receipt back from the server (which we might not legitimately get) - assert receipt.dom is None or receipt.parsed == True - assert receipt.dom is None or receipt.valid == True - def test_05_basic_create_resource_with_multipart(self): conn = Connection(SSS_URL, user_name=SSS_UN, user_pass=SSS_PW) conn.get_service_document() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |