From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-03-16 13:26:58
|
Revision: 473 http://sword-app.svn.sourceforge.net/sword-app/?rev=473&view=rev Author: richard-jones Date: 2012-03-16 13:26:52 +0000 (Fri, 16 Mar 2012) Log Message: ----------- add some SSS specific tests which do their best to provide 'unit' tests for the client (which are not straightforward due to dependence on Abdera and lack of mocks for that library) Added Paths: ----------- JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java Added: JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java =================================================================== --- JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java (rev 0) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 2012-03-16 13:26:52 UTC (rev 473) @@ -0,0 +1,93 @@ +package org.swordapp.client.test; + +import org.junit.Before; +import org.junit.Test; +import org.swordapp.client.AuthCredentials; +import org.swordapp.client.ClientConfiguration; +import org.swordapp.client.SWORDClient; +import org.swordapp.client.SWORDCollection; +import org.swordapp.client.SWORDWorkspace; +import org.swordapp.client.ServiceDocument; + +import java.util.List; + +import static org.junit.Assert.*; + +/** + * This class uses explicit knowledge of the SSS test server configuration + * in order to test units of functionality in the client library. This is + * because the Abdera library around which this is based does not support + * mocking (at least not trivially), and it is therefore impossible to + * truly isolate application units for testing. Instead we do the best + * we can here + */ +public class SSSSemiUnits +{ + private String sdIRI = null; + private String user = null; + private String pass = null; + private String obo = null; + + @Before + public void setUp() + { + this.sdIRI = "http://localhost:8080/sd-uri"; + this.user = "sword"; + this.pass = "sword"; + this.obo = "obo"; + } + + @Test + public void serviceDocumentBasics() + throws Exception + { + SWORDClient client = new SWORDClient(new ClientConfiguration()); + ServiceDocument sd = client.getServiceDocument(this.sdIRI, new AuthCredentials(this.user, this.pass)); + + // verify that the service document contains the sorts of things we are expecting + assertTrue(sd.getService() != null); + assertEquals(sd.getVersion(), "2.0"); + assertTrue(sd.getMaxUploadSize() > 0); + } + + @Test + public void serviceDocumentWorkspaces() + throws Exception + { + SWORDClient client = new SWORDClient(new ClientConfiguration()); + ServiceDocument sd = client.getServiceDocument(this.sdIRI, new AuthCredentials(this.user, this.pass)); + + assertEquals(sd.getWorkspaces().size(), 1); + } + + @Test + public void serviceDocumentCollections() + throws Exception + { + SWORDClient client = new SWORDClient(new ClientConfiguration()); + ServiceDocument sd = client.getServiceDocument(this.sdIRI, new AuthCredentials(this.user, this.pass)); + + List<SWORDWorkspace> workspaces = sd.getWorkspaces(); + + assertEquals(workspaces.get(0).getCollections().size(), 10); + + SWORDCollection collection = workspaces.get(0).getCollections().get(0); + + List<String> ma = collection.getMultipartAccept(); + List<String> sa = collection.getSinglepartAccept(); + + assertEquals(ma.size(), 1); + assertEquals(sa.size(), 1); + assertEquals(ma.get(0), sa.get(0)); + + assertTrue(collection.getCollectionPolicy() != null); + assertTrue(collection.allowsMediation()); + assertTrue(collection.getTreatment() != null); + + List<String> ap = collection.getAcceptPackaging(); + assertTrue(ap.size() > 0); + + List<String> ss = collection.getSubServices(); + assertTrue(ss.size() == 1); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-03-24 12:50:40
|
Revision: 484 http://sword-app.svn.sourceforge.net/sword-app/?rev=484&view=rev Author: richard-jones Date: 2012-03-24 12:50:34 +0000 (Sat, 24 Mar 2012) Log Message: ----------- add enhanced authentication and mediated deposit testing Modified Paths: -------------- JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 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-24 11:56:14 UTC (rev 483) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 2012-03-24 12:50:34 UTC (rev 484) @@ -12,6 +12,7 @@ import org.swordapp.client.SWORDClient; import org.swordapp.client.SWORDCollection; import org.swordapp.client.SWORDWorkspace; +import org.swordapp.client.ServerResource; import org.swordapp.client.ServiceDocument; import org.swordapp.client.Statement; import org.swordapp.client.UriRegistry; @@ -179,6 +180,16 @@ assertEquals(statement.getOriginalDeposits().size(), 1); assertEquals(statement.getParts().size(), 5); assertEquals(statement.getState().size(), 1); + + List<ServerResource> ods = statement.getOriginalDeposits(); + boolean checked = false; + for (ServerResource od : ods) + { + assertEquals(od.getDepositedBy(), this.user); + assertEquals(od.getDepositedOnBehalfOf(), this.obo); + checked = true; + } + assertTrue(checked); } @Test @@ -209,5 +220,15 @@ assertEquals(statement.getOriginalDeposits().size(), 1); assertEquals(statement.getParts().size(), 5); assertEquals(statement.getState().size(), 1); + + List<ServerResource> ods = statement.getOriginalDeposits(); + boolean checked = false; + for (ServerResource od : ods) + { + assertEquals(od.getDepositedBy(), this.user); + assertEquals(od.getDepositedOnBehalfOf(), this.obo); + checked = true; + } + assertTrue(checked); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-03-25 15:57:54
|
Revision: 487 http://sword-app.svn.sourceforge.net/sword-app/?rev=487&view=rev Author: richard-jones Date: 2012-03-25 15:57:48 +0000 (Sun, 25 Mar 2012) Log Message: ----------- add enhancements to statement tests Modified Paths: -------------- JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 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-25 15:48:21 UTC (rev 486) +++ JavaClient2.0/src/test/java/org/swordapp/client/test/SSSSemiUnits.java 2012-03-25 15:57:48 UTC (rev 487) @@ -11,6 +11,7 @@ import org.swordapp.client.DepositReceipt; import org.swordapp.client.EntryPart; import org.swordapp.client.OreStatement; +import org.swordapp.client.ResourceState; import org.swordapp.client.SWORDClient; import org.swordapp.client.SWORDCollection; import org.swordapp.client.SWORDWorkspace; @@ -237,11 +238,23 @@ boolean checked = false; for (ServerResource od : ods) { + assertTrue(od.getDepositedOn() != null); assertEquals(od.getDepositedBy(), this.user); assertEquals(od.getDepositedOnBehalfOf(), this.obo); + assertEquals(od.getPackaging().size(), 1); + assertTrue(od.getPackaging().contains(UriRegistry.PACKAGE_SIMPLE_ZIP)); checked = true; } assertTrue(checked); + + checked = false; + List<ResourceState> states = statement.getState(); + for (ResourceState state : states) + { + assertNotNull(state.getDescription()); + checked = true; + } + assertTrue(checked); } @Test @@ -277,10 +290,22 @@ boolean checked = false; for (ServerResource od : ods) { + assertTrue(od.getDepositedOn() != null); assertEquals(od.getDepositedBy(), this.user); assertEquals(od.getDepositedOnBehalfOf(), this.obo); + assertEquals(od.getPackaging().size(), 1); + assertTrue(od.getPackaging().contains(UriRegistry.PACKAGE_SIMPLE_ZIP)); checked = true; } assertTrue(checked); + + checked = false; + List<ResourceState> states = statement.getState(); + for (ResourceState state : states) + { + assertNotNull(state.getDescription()); + checked = true; + } + assertTrue(checked); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |