You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by wi...@apache.org on 2014/03/06 18:48:09 UTC
[5/6] git commit: MARMOTTA-449: added some LDP-NR testing
MARMOTTA-449: added some LDP-NR testing
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/83209635
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/83209635
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/83209635
Branch: refs/heads/ldp
Commit: 83209635c184ceec2003efed230cb5a0ecd48ccd
Parents: 2f3fbdd
Author: Sergio Fernández <wi...@apache.org>
Authored: Thu Mar 6 16:47:00 2014 +0100
Committer: Sergio Fernández <wi...@apache.org>
Committed: Thu Mar 6 16:47:00 2014 +0100
----------------------------------------------------------------------
.../ldp/webservices/LdpWebServiceTest.java | 77 +++++++++++++++++++-
1 file changed, 74 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/83209635/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/webservices/LdpWebServiceTest.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/webservices/LdpWebServiceTest.java b/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/webservices/LdpWebServiceTest.java
index 4883e8b..f1e6751 100644
--- a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/webservices/LdpWebServiceTest.java
+++ b/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/webservices/LdpWebServiceTest.java
@@ -76,7 +76,7 @@ public class LdpWebServiceTest {
@Test
public void testCRUD() {
- final String testBase = "test1";
+ final String testBase = "test";
final String containerName = "container1";
final String resourceName = "resource1";
@@ -115,7 +115,7 @@ public class LdpWebServiceTest {
SesameMatchers.hasStatement(new URIImpl(baseUrl + container), DCTERMS.MODIFIED, null),
SesameMatchers.hasStatement(new URIImpl(baseUrl + container), RDF.TYPE, LDP.BasicContainer)
))
- .get(container);
+ .get(container);
// also the new resource exists
RestAssured
@@ -154,7 +154,78 @@ public class LdpWebServiceTest {
}
- @AfterClass
+ @Test
+ public void testNR() throws IOException {
+ final String testBase = "test";
+ final String containerName = "container2";
+ final String resourceName = "resource1";
+
+ // The container
+ final String container = UriBuilder.fromPath(LdpWebService.PATH).path(testBase).path(containerName).build().toString();
+ final String newResource = UriBuilder.fromUri(container).path(resourceName).build().toString();
+ final String mimeType = "image/png";
+
+ RestAssured.expect().statusCode(404).get(container);
+
+ // Create
+ RestAssured
+ .given()
+ .header("Slug", resourceName)
+ .body(IOUtils.toByteArray(LdpWebServiceTest.class.getResourceAsStream("/test.png")))
+ .contentType(mimeType)
+ .expect()
+ .statusCode(201)
+ .header("Location", baseUrl + newResource + ".png")
+ .header("Link", CoreMatchers.anyOf( //TODO: RestAssured only checks the FIST header...
+ HeaderMatchers.isLink(baseUrl + newResource, "describedby"),
+ HeaderMatchers.isLink("http://wiki.apache.org/marmotta/LDPImplementationReport", "describedby"),
+ HeaderMatchers.isLink(LDP.BasicContainer.stringValue(), "type"))
+ )
+ .post(container);
+
+ // now the container exists
+ RestAssured
+ .given()
+ .header("Accept", RDFFormat.TURTLE.getDefaultMIMEType())
+ .expect()
+ .statusCode(200)
+ .header("Link", CoreMatchers.anyOf( //TODO: RestAssured only checks the FIST header...
+ HeaderMatchers.isLink("http://wiki.apache.org/marmotta/LDPImplementationReport", "describedby"),
+ HeaderMatchers.isLink(LDP.BasicContainer.stringValue(), "type"))
+ )
+ .header("ETag", HeaderMatchers.hasEntityTag(true)) // FIXME: be more specific here
+ .contentType(RDFFormat.TURTLE.getDefaultMIMEType())
+ .body(SesameMatchers.rdfStringMatches(RDFFormat.TURTLE.getDefaultMIMEType(), baseUrl + container,
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + container), RDF.TYPE, LDP.BasicContainer),
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + container), DCTERMS.MODIFIED, null),
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + container), LDP.contains, new URIImpl(baseUrl + newResource))
+ ))
+ .get(container);
+
+
+ // now the resource exists
+ RestAssured
+ .given()
+ .header("Accept", RDFFormat.TURTLE.getDefaultMIMEType())
+ .expect()
+ .statusCode(200)
+ .header("Link", CoreMatchers.anyOf( //TODO: RestAssured only checks the FIST header...
+ HeaderMatchers.isLink("http://wiki.apache.org/marmotta/LDPImplementationReport", "describedby"),
+ HeaderMatchers.isLink(LDP.Resource.stringValue(), "type"),
+ HeaderMatchers.isLink(LDP.NonRdfResource.stringValue(), "type"))
+ )
+ .header("ETag", HeaderMatchers.hasEntityTag(true)) // FIXME: be more specific here
+ .contentType(RDFFormat.TURTLE.getDefaultMIMEType())
+ .body(SesameMatchers.rdfStringMatches(RDFFormat.TURTLE.getDefaultMIMEType(), baseUrl + newResource,
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + newResource), RDF.TYPE, LDP.Resource),
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + newResource), RDF.TYPE, LDP.NonRdfResource),
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + newResource), DCTERMS.MODIFIED, null),
+ SesameMatchers.hasStatement(new URIImpl(baseUrl + newResource), DCTERMS.HAS_FORMAT, new URIImpl(baseUrl + newResource + ".png"))
+ ))
+ .get(newResource);
+ }
+
+ @AfterClass
public static void tearDown() {
marmotta.shutdown();
}