aboutsummaryrefslogtreecommitdiffstats
path: root/test/lib
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/test_bsie.py45
-rw-r--r--test/lib/test_builder.py9
-rw-r--r--test/lib/test_naming_policy.py45
-rw-r--r--test/lib/test_pipeline.py17
4 files changed, 48 insertions, 68 deletions
diff --git a/test/lib/test_bsie.py b/test/lib/test_bsie.py
index ae23c4b..0c393cc 100644
--- a/test/lib/test_bsie.py
+++ b/test/lib/test_bsie.py
@@ -1,9 +1,4 @@
-"""
-Part of the bsie test suite.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
# standard imports
import os
import unittest
@@ -30,17 +25,17 @@ class TestBSIE(unittest.TestCase):
{'bsie.extractor.generic.path.Path': {}},
{'bsie.extractor.generic.stat.Stat': {}},
{'bsie.extractor.generic.constant.Constant': dict(
- tuples=[('http://bsfs.ai/schema/Entity#author', 'Me, myself, and I')],
+ tuples=[('https://schema.bsfs.io/ie/Node/Entity#author', 'Me, myself, and I')],
schema='''
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
''',
)},
])
# build pipeline
- self.naming_policy = DefaultNamingPolicy(host='http://example.com/local', user='')
+ self.naming_policy = DefaultNamingPolicy(host='http://example.com/local', user='me')
pbuild = PipelineBuilder(rbuild, ebuild)
self.pipeline = pbuild.build()
@@ -54,17 +49,17 @@ class TestBSIE(unittest.TestCase):
})
self.assertEqual(lib.schema, bsfs.schema.from_string(SCHEMA_PREAMBLE + '''
bse:filename rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
bse:filesize rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:integer;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
'''))
@@ -81,12 +76,12 @@ class TestBSIE(unittest.TestCase):
})
self.assertEqual(lib.schema, bsfs.schema.from_string(SCHEMA_PREAMBLE + '''
bse:filesize rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:integer;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
'''))
@@ -99,17 +94,17 @@ class TestBSIE(unittest.TestCase):
})
self.assertEqual(lib.schema, bsfs.schema.from_string(SCHEMA_PREAMBLE + '''
bse:filename rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
bse:filesize rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:integer;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
@@ -126,7 +121,7 @@ class TestBSIE(unittest.TestCase):
})
self.assertEqual(lib.schema, bsfs.schema.from_string(SCHEMA_PREAMBLE + '''
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
'''))
@@ -141,9 +136,9 @@ class TestBSIE(unittest.TestCase):
})
self.assertEqual(lib.schema, bsfs.schema.from_string(SCHEMA_PREAMBLE + '''
bse:filesize rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:integer;
- bsfs:unique "false"^^xsd:boolean .
+ bsfs:unique "true"^^xsd:boolean .
'''))
@@ -157,7 +152,7 @@ class TestBSIE(unittest.TestCase):
ns.bse.author,
})
content_hash = 'a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447'
- subject = node.Node(ns.bsfs.File, uri=f'http://example.com/local/file#{content_hash}')
+ subject = node.Node(ns.bsn.Entity, uri=f'http://example.com/local/me/file#{content_hash}')
testfile = os.path.join(os.path.dirname(__file__), 'testfile.t')
# from_file extracts all available triples
diff --git a/test/lib/test_builder.py b/test/lib/test_builder.py
index 48e932b..3ecb3d3 100644
--- a/test/lib/test_builder.py
+++ b/test/lib/test_builder.py
@@ -1,9 +1,4 @@
-"""
-Part of the bsie test suite.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
# standard imports
import logging
import unittest
@@ -23,11 +18,11 @@ class TestPipelineBuilder(unittest.TestCase):
def test_build(self):
c_schema = '''
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
'''
- c_tuples = [('http://bsfs.ai/schema/Entity#author', 'Me, myself, and I')]
+ c_tuples = [('https://schema.bsfs.io/ie/Node/Entity#author', 'Me, myself, and I')]
# prepare builders
rbuild = ReaderBuilder({})
ebuild = ExtractorBuilder([
diff --git a/test/lib/test_naming_policy.py b/test/lib/test_naming_policy.py
index 4861c84..c9b0cd2 100644
--- a/test/lib/test_naming_policy.py
+++ b/test/lib/test_naming_policy.py
@@ -1,9 +1,4 @@
-"""
-Part of the bsie test suite.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
# standard imports
import unittest
@@ -26,55 +21,55 @@ class TestDefaultNamingPolicy(unittest.TestCase):
policy = DefaultNamingPolicy('http://example.com', 'me')
# handle_node doesn't modify existing uris
self.assertEqual(policy.handle_node(
- Node(ns.bsfs.Entity, uri='http://example.com/you/foo#bar')).uri,
+ Node(ns.bsn.Invalid, uri='http://example.com/you/foo#bar')).uri,
URI('http://example.com/you/foo#bar'))
# processes bsfs:File
self.assertEqual(policy.handle_node(
- Node(ns.bsfs.File, ucid='abc123cba')).uri,
+ Node(ns.bsn.Entity, ucid='abc123cba')).uri,
URI('http://example.com/me/file#abc123cba'))
# processes bsfs:Preview
self.assertEqual(policy.handle_node(
- Node(ns.bsfs.Preview, ucid='abc123cba', size=123)).uri,
+ Node(ns.bsn.Preview, ucid='abc123cba', size=123)).uri,
URI('http://example.com/me/preview#abc123cba_s123'))
# raises an exception on unknown types
self.assertRaises(errors.ProgrammingError, policy.handle_node,
- Node(ns.bsfs.Entity, ucid='abc123cba', size=123))
+ Node(ns.bsn.Invalid, ucid='abc123cba', size=123))
def test_name_file(self):
# setup
policy = DefaultNamingPolicy('http://example.com', 'me')
# name_file uses ucid
self.assertEqual(policy.name_file(
- Node(ns.bsfs.File, ucid='123abc321')).uri,
+ Node(ns.bsn.Entity, ucid='123abc321')).uri,
URI('http://example.com/me/file#123abc321'))
# name_file falls back to a random guid
self.assertTrue(policy.name_file(
- Node(ns.bsfs.File)).uri.startswith('http://example.com/me/file#'))
+ Node(ns.bsn.Entity)).uri.startswith('http://example.com/me/file#'))
def test_name_preview(self):
# setup
policy = DefaultNamingPolicy('http://example.com', 'me')
# name_preview uses ucid
self.assertEqual(policy.name_preview(
- Node(ns.bsfs.Preview, ucid='123abc321')).uri,
+ Node(ns.bsn.Preview, ucid='123abc321')).uri,
URI('http://example.com/me/preview#123abc321'))
self.assertEqual(policy.name_preview(
- Node(ns.bsfs.Preview, ucid='123abc321', size=400)).uri,
+ Node(ns.bsn.Preview, ucid='123abc321', size=400)).uri,
URI('http://example.com/me/preview#123abc321_s400'))
# name_preview uses source
self.assertEqual(policy.name_preview(
- Node(ns.bsfs.Preview, source=Node(ns.bsfs.File, ucid='123file321'))).uri,
+ Node(ns.bsn.Preview, source=Node(ns.bsn.Entity, ucid='123file321'))).uri,
URI('http://example.com/me/preview#123file321'))
self.assertEqual(policy.name_preview(
- Node(ns.bsfs.Preview, source=Node(ns.bsfs.File, ucid='123file321'), size=300)).uri,
+ Node(ns.bsn.Preview, source=Node(ns.bsn.Entity, ucid='123file321'), size=300)).uri,
URI('http://example.com/me/preview#123file321_s300'))
# name_preview falls back to a random guid
self.assertTrue(policy.name_preview(
- Node(ns.bsfs.Preview)).uri.startswith('http://example.com/me/preview#'))
+ Node(ns.bsn.Preview)).uri.startswith('http://example.com/me/preview#'))
self.assertTrue(policy.name_preview(
- Node(ns.bsfs.Preview, size=200)).uri.startswith('http://example.com/me/preview#'))
+ Node(ns.bsn.Preview, size=200)).uri.startswith('http://example.com/me/preview#'))
self.assertTrue(policy.name_preview(
- Node(ns.bsfs.Preview, size=200)).uri.endswith('_s200'))
+ Node(ns.bsn.Preview, size=200)).uri.endswith('_s200'))
class TestNamingPolicyIterator(unittest.TestCase):
@@ -99,16 +94,16 @@ class TestNamingPolicyIterator(unittest.TestCase):
# setup
policy = DefaultNamingPolicy('http://example.com', 'me')
triples = [
- (Node(ns.bsfs.File, ucid='foo'), 'predA', 'hello'),
- (Node(ns.bsfs.Preview, ucid='bar'), 'predB', 1234),
- (Node(ns.bsfs.Preview, ucid='hello'), 'predC', Node(ns.bsfs.File, ucid='world'))
+ (Node(ns.bsn.Entity, ucid='foo'), 'predA', 'hello'),
+ (Node(ns.bsn.Preview, ucid='bar'), 'predB', 1234),
+ (Node(ns.bsn.Preview, ucid='hello'), 'predC', Node(ns.bsn.Entity, ucid='world'))
]
# handles nodes, handles values, ignores predicate
self.assertListEqual(list(policy(triples)), [
- (Node(ns.bsfs.File, uri='http://example.com/me/file#foo'), 'predA', 'hello'),
- (Node(ns.bsfs.Preview, uri='http://example.com/me/preview#bar'), 'predB', 1234),
- (Node(ns.bsfs.Preview, uri='http://example.com/me/preview#hello'), 'predC',
- Node(ns.bsfs.File, uri='http://example.com/me/file#world')),
+ (Node(ns.bsn.Entity, uri='http://example.com/me/file#foo'), 'predA', 'hello'),
+ (Node(ns.bsn.Preview, uri='http://example.com/me/preview#bar'), 'predB', 1234),
+ (Node(ns.bsn.Preview, uri='http://example.com/me/preview#hello'), 'predC',
+ Node(ns.bsn.Entity, uri='http://example.com/me/file#world')),
])
diff --git a/test/lib/test_pipeline.py b/test/lib/test_pipeline.py
index 61fddd7..eb088a9 100644
--- a/test/lib/test_pipeline.py
+++ b/test/lib/test_pipeline.py
@@ -1,9 +1,4 @@
-"""
-Part of the bsie test suite.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
# standard imports
import logging
import os
@@ -28,19 +23,19 @@ class TestPipeline(unittest.TestCase):
# constant A
csA = '''
bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
'''
- tupA = [('http://bsfs.ai/schema/Entity#author', 'Me, myself, and I')]
+ tupA = [('https://schema.bsfs.io/ie/Node/Entity#author', 'Me, myself, and I')]
# constant B
csB = '''
bse:rating rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:File ;
+ rdfs:domain bsn:Entity ;
rdfs:range xsd:integer ;
bsfs:unique "true"^^xsd:boolean .
'''
- tupB = [('http://bsfs.ai/schema/Entity#rating', 123)]
+ tupB = [('https://schema.bsfs.io/ie/Node/Entity#rating', 123)]
# extractors/readers
self.ext2rdr = {
bsie.extractor.generic.path.Path(): bsie.reader.path.Path(),
@@ -89,13 +84,13 @@ class TestPipeline(unittest.TestCase):
pipeline = Pipeline(self.ext2rdr)
# build objects for tests
content_hash = 'a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447'
- subject = node.Node(ns.bsfs.File, ucid=content_hash)
+ subject = node.Node(ns.bsn.Entity, ucid=content_hash)
testfile = os.path.join(os.path.dirname(__file__), 'testfile.t')
p_filename = pipeline.schema.predicate(ns.bse.filename)
p_filesize = pipeline.schema.predicate(ns.bse.filesize)
p_author = pipeline.schema.predicate(ns.bse.author)
p_rating = pipeline.schema.predicate(ns.bse.rating)
- entity = pipeline.schema.node(ns.bsfs.File)
+ entity = pipeline.schema.node(ns.bsn.Entity)
p_invalid = pipeline.schema.predicate(ns.bsfs.Predicate).child(ns.bse.foo, range=entity)
# extract given predicates