/** * Create a simple indirect container. * @param memberLocation the member resource to use * @return the location of the new LDP-IC */ default String createSimpleIndirectContainer(final String memberLocation) { final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + memberLocation); // POST an LDP-DC try (final Response res = target(getContainerLocation()).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check POSTing an LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); return res.getLocation().toString(); } } }
/** * Create a simple indirect container. * @param memberLocation the member resource to use * @return the location of the new LDP-IC */ default String createSimpleIndirectContainer(final String memberLocation) { final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + memberLocation); // POST an LDP-DC try (final Response res = target(getContainerLocation()).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check POSTing an LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); return res.getLocation().toString(); } } }
.header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check the LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); location = res.getLocation().toString(); assertAll("Check the LDP-RS", checkRdfResponse(res, LDP.RDFSource, null)); child = res.getLocation().toString(); assertAll("Check the member resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertTrue(g.contains(rdf.createIRI(location), LDP.contains,
.header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check the LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); location = res.getLocation().toString(); assertAll("Check the LDP-RS", checkRdfResponse(res, LDP.RDFSource, null)); child = res.getLocation().toString(); assertAll("Check the member resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertTrue(g.contains(rdf.createIRI(location), LDP.contains,
/** * Test creating an indirect container via PUT. */ @Test @DisplayName("Test creating an indirect container via PUT") default void testCreateIndirectContainerViaPut() { final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-IC try (final Response res = target(getContainerLocation() + "/indirectcontainer-put").request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting an LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); } }
/** * Test creating an indirect container via PUT. */ @Test @DisplayName("Test creating an indirect container via PUT") default void testCreateIndirectContainerViaPut() { final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-IC try (final Response res = target(getContainerLocation() + "/indirectcontainer-put").request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting an LDP-IC", checkRdfResponse(res, LDP.IndirectContainer, null)); } }
/** * Test updating an indirect container via PUT. */ @Test @DisplayName("Test updating an indirect container via PUT") default void testUpdateIndirectContainerViaPut() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/indirectContainerInverse.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-IC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check replacing an LDP-IC via PUT", checkRdfResponse(res, LDP.IndirectContainer, null)); } }
/** * Test with ldp:PreferMinimalContainer Prefer header. */ @Test @DisplayName("Test with ldp:PreferMinimalContainer Prefer header") default void testGetInverseEmptyMember() { final RDF rdf = getInstance(); try (final Response res = target(getMemberLocation()).request().header(PREFER, "return=representation; omit=\"" + LDP.PreferMinimalContainer.getIRIString() + "\"").get()) { assertAll("Check a member resource with Prefer", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertFalse(g.contains(identifier, SKOS.prefLabel, null), "Check for no skos:prefLabel triple"); assertTrue(g.contains(identifier, LDP.member, null) || g.contains(identifier, DC.relation, null), "Check for either an ldp:member or dc:relation triple"); } }
/** * Test updating an indirect container via PUT. */ @Test @DisplayName("Test updating an indirect container via PUT") default void testUpdateIndirectContainerViaPut() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/indirectContainerInverse.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-IC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check replacing an LDP-IC via PUT", checkRdfResponse(res, LDP.IndirectContainer, null)); } }
/** * Test with ldp:PreferMinimalContainer Prefer header. */ @Test @DisplayName("Test with ldp:PreferMinimalContainer Prefer header") default void testGetInverseEmptyMember() { final RDF rdf = getInstance(); try (final Response res = target(getMemberLocation()).request().header(PREFER, "return=representation; omit=\"" + LDP.PreferMinimalContainer.getIRIString() + "\"").get()) { assertAll("Check a member resource with Prefer", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertFalse(g.contains(identifier, SKOS.prefLabel, null), "Check for no skos:prefLabel triple"); assertTrue(g.contains(identifier, LDP.member, null) || g.contains(identifier, DC.relation, null), "Check for either an ldp:member or dc:relation triple"); } }
/** * Test with ldp:PreferMinimalContainer Prefer header. */ @Test @DisplayName("Test with ldp:PreferMinimalContainer Prefer header") default void testGetEmptyMember() { final RDF rdf = getInstance(); try (final Response res = target(getMemberLocation()).request().header(PREFER, "return=representation; include=\"" + LDP.PreferMinimalContainer.getIRIString() + "\"").get()) { assertAll("Check a member resource with Prefer", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertTrue(g.contains(identifier, SKOS.prefLabel, null), "Check for a skos:prefLabel triple"); assertFalse(g.contains(identifier, LDP.member, null), "Check for no ldp:member triple"); assertFalse(g.contains(identifier, DC.relation, null), "Check for no dc:relation triple"); } }
/** * Test with ldp:PreferMinimalContainer Prefer header. */ @Test @DisplayName("Test with ldp:PreferMinimalContainer Prefer header") default void testGetEmptyMember() { final RDF rdf = getInstance(); try (final Response res = target(getMemberLocation()).request().header(PREFER, "return=representation; include=\"" + LDP.PreferMinimalContainer.getIRIString() + "\"").get()) { assertAll("Check a member resource with Prefer", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertTrue(g.contains(identifier, SKOS.prefLabel, null), "Check for a skos:prefLabel triple"); assertFalse(g.contains(identifier, LDP.member, null), "Check for no ldp:member triple"); assertFalse(g.contains(identifier, DC.relation, null), "Check for no dc:relation triple"); } }
assertAll("Check the member LDP-RS", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertFalse(g.contains(rdf.createIRI(getMemberLocation()), LDP.member, null), "Check for no ldp:member"); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertFalse(g.contains(rdf.createIRI(getIndirectContainerLocation()), LDP.contains, null), assertAll("Check POSTing a child resource", checkRdfResponse(res, LDP.RDFSource, null)); child1 = res.getLocation().toString(); assertTrue(child1.startsWith(getIndirectContainerLocation()), "Check the Location header"); assertAll("Check POSTing a child resource", checkRdfResponse(res, LDP.RDFSource, null)); child2 = res.getLocation().toString(); assertTrue(child2.startsWith(getIndirectContainerLocation()), "Check the Location header"); assertAll("Check the member LDP-RS", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getIndirectContainerLocation()); assertAll("Check the member resource", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE));
assertAll("Check the member LDP-RS", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertFalse(g.contains(rdf.createIRI(getMemberLocation()), LDP.member, null), "Check for no ldp:member"); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); assertFalse(g.contains(rdf.createIRI(getIndirectContainerLocation()), LDP.contains, null), assertAll("Check POSTing a child resource", checkRdfResponse(res, LDP.RDFSource, null)); child1 = res.getLocation().toString(); assertTrue(child1.startsWith(getIndirectContainerLocation()), "Check the Location header"); assertAll("Check POSTing a child resource", checkRdfResponse(res, LDP.RDFSource, null)); child2 = res.getLocation().toString(); assertTrue(child2.startsWith(getIndirectContainerLocation()), "Check the Location header"); assertAll("Check the member LDP-RS", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getIndirectContainerLocation()); assertAll("Check the member resource", checkRdfResponse(res, LDP.RDFSource, TEXT_TURTLE_TYPE)); final Graph g = readEntityAsGraph(res.getEntity(), getBaseURL(), TURTLE); final IRI identifier = rdf.createIRI(getMemberLocation()); assertAll("Check the container resource", checkRdfResponse(res, LDP.IndirectContainer, TEXT_TURTLE_TYPE));