/** * 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(); } } }
/** * Test updating an indirect container with too many membership resources. */ @Test @DisplayName("Test updating an indirect container with too many membership resources") default void testUpdateIndirectContainerMultipleMemberResources() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + membershipResource(getContainerLocation() + "/member3"); // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality contraint IRI"); } }
/** * Test updating an indirect container with too many membership resources. */ @Test @DisplayName("Test updating an indirect container with too many membership resources") default void testUpdateIndirectContainerMultipleMemberResources() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + membershipResource(getContainerLocation() + "/member3"); // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality contraint IRI"); } }
/** * 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(); } } }
/** * Test updating an indirect container with no ldp:insertedContentRelation property. */ @Test @DisplayName("Test updating an indirect container with no ldp:insertedContentRelation property") default void testUpdateIndirectContainerNoICRProp() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality constraint IRI"); } }
/** * Test updating an indirect container with no ldp:insertedContentRelation property. */ @Test @DisplayName("Test updating an indirect container with no ldp:insertedContentRelation property") default void testUpdateIndirectContainerNoICRProp() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality constraint IRI"); } }
/** * Test updating an indirect container with too many member-related properties. */ @Test @DisplayName("Test updating an indirect container with too many member-related properties") default void testUpdateIndirectContainerTooManyMemberProps() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + "<> ldp:isMemberOfRelation dc:isPartOf ."; // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality constraint IRI"); } }
/** * Test updating an indirect container with too many member-related properties. */ @Test @DisplayName("Test updating an indirect container with too many member-related properties") default void testUpdateIndirectContainerTooManyMemberProps() { final String location = createSimpleIndirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(INDIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + "<> ldp:isMemberOfRelation dc:isPartOf ."; // PUT an LDP-DC try (final Response res = target(location).request() .header(LINK, fromUri(LDP.IndirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Check for a 4xx response"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Check for an InvalidCardinality constraint IRI"); } }
/** * 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)); } }
+ membershipResource(getMemberLocation());
final RDF rdf = getInstance(); final String content = getResourceAsString(INDIRECT_CONTAINER_MEMBER_SUBJECT) + membershipResource(MEMBER_RESOURCE_HASH); final String memberContent = getResourceAsString(SIMPLE_RESOURCE) + "<> foaf:primaryTopic <#it> ."; final String location;
/** * 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)); } }
+ membershipResource(getMemberLocation());
/** * 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)); } }
final RDF rdf = getInstance(); final String content = getResourceAsString(INDIRECT_CONTAINER_MEMBER_SUBJECT) + membershipResource(MEMBER_RESOURCE_HASH); final String memberContent = getResourceAsString(SIMPLE_RESOURCE) + "<> foaf:primaryTopic <#it> ."; final String location;