@Test(expected = IllegalStateException.class) public void clearNotSupported() throws Exception { dataset.clear(); }
/** * Test replacing a resource. * @throws Exception if the operation failed */ @Test @DisplayName("Test replacing resource") default void testReplaceResource() throws Exception { final RDF rdf = getInstance(); final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset = buildDataset(identifier, "Replacement Test", SUBJECT2); assertEquals(MISSING_RESOURCE, getResourceService().get(identifier).toCompletableFuture().join(), "Check for no pre-existing LDP-RS"); assertDoesNotThrow(() -> getResourceService().create(Metadata.builder(identifier) .interactionModel(LDP.RDFSource).container(ROOT_CONTAINER).build(), dataset) .toCompletableFuture().join(), "Check that the LDP-RS was successfully created"); dataset.clear(); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.prefLabel, rdf.createLiteral("preferred label")); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.altLabel, rdf.createLiteral("alternate label")); dataset.add(Trellis.PreferUserManaged, identifier, type, SKOS.Concept); assertDoesNotThrow(() -> getResourceService().replace(Metadata.builder(identifier) .interactionModel(LDP.RDFSource).container(ROOT_CONTAINER).build(), dataset) .toCompletableFuture().join(), "Check that the LDP-RS was successfully replaced"); final Resource res = getResourceService().get(identifier).toCompletableFuture().join(); assertAll("Check the replaced LDP-RS stream", res.stream(Trellis.PreferUserManaged) .map(toQuad(Trellis.PreferUserManaged)) .map(q -> () -> assertTrue(dataset.contains(q), "Check that the quad comes from the dataset: " + q))); assertEquals(3L, res.stream(Trellis.PreferUserManaged).count(), "Check the total user-managed triple count"); }
/** * Test replacing a resource. * @throws Exception if the operation failed */ @Test @DisplayName("Test replacing resource") default void testReplaceResource() throws Exception { final RDF rdf = getInstance(); final IRI identifier = rdf.createIRI(TRELLIS_DATA_PREFIX + getResourceService().generateIdentifier()); final Dataset dataset = buildDataset(identifier, "Replacement Test", SUBJECT2); assertEquals(MISSING_RESOURCE, getResourceService().get(identifier).toCompletableFuture().join(), "Check for no pre-existing LDP-RS"); assertDoesNotThrow(() -> getResourceService().create(Metadata.builder(identifier) .interactionModel(LDP.RDFSource).container(ROOT_CONTAINER).build(), dataset) .toCompletableFuture().join(), "Check that the LDP-RS was successfully created"); dataset.clear(); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.prefLabel, rdf.createLiteral("preferred label")); dataset.add(Trellis.PreferUserManaged, identifier, SKOS.altLabel, rdf.createLiteral("alternate label")); dataset.add(Trellis.PreferUserManaged, identifier, type, SKOS.Concept); assertDoesNotThrow(() -> getResourceService().replace(Metadata.builder(identifier) .interactionModel(LDP.RDFSource).container(ROOT_CONTAINER).build(), dataset) .toCompletableFuture().join(), "Check that the LDP-RS was successfully replaced"); final Resource res = getResourceService().get(identifier).toCompletableFuture().join(); assertAll("Check the replaced LDP-RS stream", res.stream(Trellis.PreferUserManaged) .map(toQuad(Trellis.PreferUserManaged)) .map(q -> () -> assertTrue(dataset.contains(q), "Check that the quad comes from the dataset: " + q))); assertEquals(3L, res.stream(Trellis.PreferUserManaged).count(), "Check the total user-managed triple count"); }
dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("child")); dataset.clear(); dataset.add(Trellis.PreferAudit, bnode, RDF.type, AS.Delete); dataset.add(Trellis.PreferAudit, bnode, RDF.type, PROV.Activity);
dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("title")); dataset.add(Trellis.PreferUserManaged, child, RDFS.label, rdf.createLiteral("label")); dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Update); dataset.add(Trellis.PreferUserManaged, child, RDFS.seeAlso, rdf.createIRI("http://www.example.com/"));
dataset.clear(); dataset.add(Trellis.PreferUserManaged, resource3, DC.title, rdf.createLiteral("title")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create);
dataset.clear(); dataset.add(Trellis.PreferAudit, bnode, RDF.type, AS.Create); dataset.add(Trellis.PreferAudit, bnode, RDF.type, PROV.Activity); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, SKOS.prefLabel, label); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create);
dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("ldp-dc (self) child resource"));
dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("child")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.description, rdf.createLiteral("a description")); dataset.add(Trellis.PreferUserManaged, child, RDFS.label, rdf.createLiteral("other title"));
dataset.clear(); dataset.add(Trellis.PreferUserManaged, members, DC.title, rdf.createLiteral("Membership resource")); dataset.add(Trellis.PreferAudit, members, PROV.wasGeneratedBy, bnode1); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, SKOS.prefLabel, label); dataset.add(Trellis.PreferAudit, child, PROV.wasGeneratedBy, bnode2);
svc.get(root).thenAccept(checkRoot(later, 1L)).toCompletableFuture()).join(); dataset.clear(); dataset.add(Trellis.PreferUserManaged, resource2, DC.title, rdf.createLiteral("Second LDP-DC")); dataset.add(Trellis.PreferUserManaged, resource2, LDP.membershipResource, members); dataset.clear(); dataset.add(Trellis.PreferUserManaged, members, DC.title, rdf.createLiteral("Membership resource")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("Child resource")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.add(Trellis.PreferUserManaged, child2, DC.title, rdf.createLiteral("Second child resource"));
svc.get(root).thenAccept(checkRoot(later, 1L)).toCompletableFuture()).join(); dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.add(Trellis.PreferUserManaged, resource2, DC.title, rdf.createLiteral("second LDP-DC")); dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.add(Trellis.PreferUserManaged, members, DC.title, rdf.createLiteral("member resource")); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, DC.title, rdf.createLiteral("ldp-dc (1) child resource")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.add(Trellis.PreferUserManaged, child2, DC.title, rdf.createLiteral("ldp-dc (2) child resource"));
svc.get(root).thenAccept(checkRoot(later, 1L)).toCompletableFuture()).join(); dataset.clear(); dataset.add(Trellis.PreferUserManaged, resource2, DC.title, rdf.createLiteral("Second LDP-IC")); dataset.add(Trellis.PreferUserManaged, resource2, LDP.membershipResource, members); dataset.clear(); dataset.add(Trellis.PreferUserManaged, members, DC.title, rdf.createLiteral("Shared member resource")); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child, SKOS.prefLabel, label); dataset.add(Trellis.PreferAudit, rdf.createBlankNode(), RDF.type, AS.Create); dataset.clear(); dataset.add(Trellis.PreferUserManaged, child2, SKOS.prefLabel, label2); dataset.add(Trellis.PreferAudit, child2, PROV.wasGeneratedBy, bnode2);