/** * Create a simple direct container. * @param memberResource the member resource to use * @return the location of the new LDP-DC */ default String createSimpleDirectContainer(final String memberResource) { final String content = getResourceAsString(DIRECT_CONTAINER_IS_PART_OF) + membershipResource(getContainerLocation() + memberResource); // POST an LDP-DC try (final Response res = target(getContainerLocation()).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check POSTing an LDP-DC", checkRdfResponse(res, LDP.DirectContainer, null)); return res.getLocation().toString(); } } }
/** * Create a simple direct container. * @param memberResource the member resource to use * @return the location of the new LDP-DC */ default String createSimpleDirectContainer(final String memberResource) { final String content = getResourceAsString(DIRECT_CONTAINER_IS_PART_OF) + membershipResource(getContainerLocation() + memberResource); // POST an LDP-DC try (final Response res = target(getContainerLocation()).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .post(entity(content, TEXT_TURTLE))) { assertAll("Check POSTing an LDP-DC", checkRdfResponse(res, LDP.DirectContainer, null)); return res.getLocation().toString(); } } }
/** * Test updating a direct container with too many membership resources. */ @Test @DisplayName("Test updating a direct container with too many membership resources") default void testUpdateDirectContainerMultipleMemberResources() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/directContainer.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + membershipResource(getContainerLocation() + "/member3"); // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Confirm that a 4xx error is thrown"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Confirm the correct constraint IRI is referenced"); } }
/** * Test updating a direct container with too many membership resources. */ @Test @DisplayName("Test updating a direct container with too many membership resources") default void testUpdateDirectContainerMultipleMemberResources() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/directContainer.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + membershipResource(getContainerLocation() + "/member3"); // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Confirm that a 4xx error is thrown"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Confirm the correct constraint IRI is referenced"); } }
/** * Test updating a direct container with too many member-related properties. */ @Test @DisplayName("Test updating a direct container with too many member-related properties") default void testUpdateDirectContainerTooManyMemberProps() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + "<> ldp:isMemberOfRelation dc:isPartOf ."; // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Confirm that a 4xx error is thrown"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Confirm the correct constraint IRI is referenced"); } }
/** * Test updating a direct container with too many member-related properties. */ @Test @DisplayName("Test updating a direct container with too many member-related properties") default void testUpdateDirectContainerTooManyMemberProps() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2) + "<> ldp:isMemberOfRelation dc:isPartOf ."; // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertEquals(CLIENT_ERROR, res.getStatusInfo().getFamily(), "Confirm that a 4xx error is thrown"); assertTrue(getLinks(res).stream().anyMatch(hasConstrainedBy(Trellis.InvalidCardinality)), "Confirm the correct constraint IRI is referenced"); } }
final String rsLocation; final String directContainerInverse = getResourceAsString(DIRECT_CONTAINER_INVERSE) + membershipResource(getMemberLocation());
+ membershipResource(MEMBER_RESOURCE_HASH);
final String rsLocation; final String directContainerInverse = getResourceAsString(DIRECT_CONTAINER_INVERSE) + membershipResource(getMemberLocation());
+ membershipResource(MEMBER_RESOURCE_HASH);
/** * Test creating a direct container via PUT. */ @Test @DisplayName("Test creating a direct container via PUT") default void testCreateDirectContainerViaPut() { final String other2 = getContainerLocation() + "/other2"; final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-DC try (final Response res = target(other2).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting a container resource", checkRdfResponse(res, LDP.DirectContainer, null)); } }
/** * Test creating a direct container via PUT. */ @Test @DisplayName("Test creating a direct container via PUT") default void testCreateDirectContainerViaPut() { final String other2 = getContainerLocation() + "/other2"; final String content = getResourceAsString(DIRECT_CONTAINER) + membershipResource(getContainerLocation() + MEMBER_RESOURCE2); // PUT an LDP-DC try (final Response res = target(other2).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting a container resource", checkRdfResponse(res, LDP.DirectContainer, null)); } }
/** * Test updating a direct container via PUT. */ @Test @DisplayName("Test updating a direct container via PUT") default void testUpdateDirectContainerViaPut() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/directContainerIsPartOf.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE1); // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting a container resource", checkRdfResponse(res, LDP.DirectContainer, null)); } }
/** * Test updating a direct container via PUT. */ @Test @DisplayName("Test updating a direct container via PUT") default void testUpdateDirectContainerViaPut() { final String dcLocation = createSimpleDirectContainer(MEMBER_RESOURCE2); final String content = getResourceAsString("/directContainerIsPartOf.ttl") + membershipResource(getContainerLocation() + MEMBER_RESOURCE1); // PUT an LDP-DC try (final Response res = target(dcLocation).request() .header(LINK, fromUri(LDP.DirectContainer.getIRIString()).rel(TYPE).build()) .put(entity(content, TEXT_TURTLE))) { assertAll("Check PUTting a container resource", checkRdfResponse(res, LDP.DirectContainer, null)); } }
+ membershipResource(getMemberLocation());
+ membershipResource(getMemberLocation());