Select Git revision
-
Steffen Vogel authoredSteffen Vogel authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
GenericTests.cs 3.86 KiB
using Coscine.Configuration;
using NUnit.Framework;
using System;
using VDS.RDF.Parsing;
namespace Coscine.Metadata.Tests
{
[TestFixture]
public class GenericTests
{
private readonly IConfiguration _configuration = new ConsulConfiguration();
private RdfStoreConnector _rdfStoreConnector;
[OneTimeSetUp]
public void Init()
{
_rdfStoreConnector = new RdfStoreConnector(_configuration.GetStringAndWait("coscine/local/virtuoso/additional/url"));
}
[Test]
public void HasGraphTest()
{
Assert.IsTrue(_rdfStoreConnector.HasGraph("http://www.openlinksw.com/schemas/virtrdf#"));
Assert.IsTrue(_rdfStoreConnector.HasGraph("http://localhost:8890/DAV/"));
Assert.IsFalse(_rdfStoreConnector.HasGraph("https://test.de/fdgdhjklö/"));
}
[Test]
public void GetGraphTest()
{
Assert.IsFalse(_rdfStoreConnector.GetGraph("http://www.openlinksw.com/schemas/virtrdf#").IsEmpty);
Assert.IsFalse(_rdfStoreConnector.GetGraph("http://localhost:8890/DAV/").IsEmpty);
// Returns an empty graph, if the graph does not exists
Assert.IsTrue(_rdfStoreConnector.GetGraph("https://test.de/fdgdhjklö/").IsEmpty);
}
[Test]
public void GetOrganizations()
{
Assert.NotNull(_rdfStoreConnector.GetTriplesByObject(null, null, new Uri("http://www.w3.org/ns/org#FormalOrganization")));
}
[Test]
public void TestValidation()
{
string metadata = "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\r\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\r\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\r\n\r\n<https://hdl.handle.net/11148/865c34ff-0b34-49ce-a3cb-9e63026e540d@path=%2Findex.ttl> <http://purl.obolibrary.org/obo/NCIT_C12801> \"Heart\";\r\n <http://purl.obolibrary.org/obo/NCIT_C25219> \"wer\";\r\n <http://purl.obolibrary.org/obo/NCIT_C42790> \"awt\";\r\n <http://purl.obolibrary.org/obo/NCIT_C45293> \"Human\";\r\n <http://purl.obolibrary.org/obo/NCIT_C48163> \"FFPE\";\r\n <http://purl.obolibrary.org/obo/NCIT_C80225> \"eweraerawrawerawerwearawerwaerawerawerer\";\r\n <http://purl.obolibrary.org/obo/SCDO_0002829> \"awt\";\r\n <http://purl.org/dc/terms/created> \"2023-01-18\"^^xsd:date;\r\n <http://purl.org/dc/terms/creator> \"Benedikt Heinrichs\";\r\n a <https://purl.org/coscine/ap/kuppelab/merfish/>;\r\n <https://purl.org/coscine/terms/4978e908-8918-4022-aed6-f295a5d6a2d8/> \"wer\".\r\n";
Uri graphNameUri = new("https://hdl.handle.net/11148/865c34ff-0b34-49ce-a3cb-9e63026e540d@path=%2Findex.ttl");
var graph = _rdfStoreConnector.ParseGraph(metadata, new TurtleParser());
graph.BaseUri = new Uri("https://hdl.handle.net/11148/865c34ff-0b34-49ce-a3cb-9e63026e540d@path=%2Findex.ttl");
Assert.IsTrue(_rdfStoreConnector.ValidateShacl(graph, graphNameUri, new Uri("https://purl.org/coscine/ap/kuppelab/merfish/1669378490042/")));
}
}
}