diff options
Diffstat (limited to 'test/apps/test_info.py')
-rw-r--r-- | test/apps/test_info.py | 81 |
1 files changed, 56 insertions, 25 deletions
diff --git a/test/apps/test_info.py b/test/apps/test_info.py index 725fb65..ffcaecf 100644 --- a/test/apps/test_info.py +++ b/test/apps/test_info.py @@ -1,15 +1,15 @@ -""" -Part of the bsie test suite. -A copy of the license is provided with the project. -Author: Matthias Baumgartner, 2022 -""" # standard imports import argparse import contextlib import io +import os +import tempfile import unittest +# external imports +import yaml + # bsie imports from bsie.utils import bsfs @@ -20,41 +20,72 @@ from bsie.apps.info import main ## code ## class TestIndex(unittest.TestCase): + def setUp(self): + config = { + 'ReaderBuilder': {}, + 'ExtractorBuilder': [ + {'bsie.extractor.preview.Preview': { + 'max_sides': [50], + }}, + {'bsie.extractor.generic.path.Path': {}}, + {'bsie.extractor.generic.constant.Constant': { + 'schema': ''' + bse:author rdfs:subClassOf bsfs:Predicate ; + rdfs:domain bsn:Entity ; + rdfs:range xsd:string ; + bsfs:unique "true"^^xsd:boolean . + ''', + 'tuples': [['https://schema.bsfs.io/ie/Node/Entity#author', 'Me, myself, and I']], + }}, + {'bsie.extractor.image.colors_spatial.ColorsSpatial': { + 'width': 2, + 'height': 2, + 'exp': 2, + }}, + ] + } + # create config file + _, self.config_path = tempfile.mkstemp(prefix='bsie-test-', suffix='.yaml') + with open(self.config_path, 'wt') as cfile: + yaml.dump(config, cfile) + + def tearDown(self): + if os.path.exists(self.config_path): + os.unlink(self.config_path) + def test_predicates(self): outbuf = io.StringIO() with contextlib.redirect_stdout(outbuf): # show predicates infos - main(['predicates']) + main(['--config', self.config_path, 'predicates']) # verify output self.assertSetEqual({pred for pred in outbuf.getvalue().split('\n') if pred != ''}, { - 'http://bsfs.ai/schema/Entity#author', - 'http://bsfs.ai/schema/Predicate', - 'http://bsfs.ai/schema/Entity#filename', - 'http://bsfs.ai/schema/Entity#filesize', - 'http://bsfs.ai/schema/Entity/colors_spatial#0658f2234a054e1dd59a14462c89f7733e019160419c796356aa831498bd0a04', - 'http://bsfs.ai/schema/Entity#preview', - 'http://bsfs.ai/schema/Preview#width', - 'http://bsfs.ai/schema/Preview#height', - 'http://bsfs.ai/schema/Preview#asset', + 'https://schema.bsfs.io/ie/Node/Entity#author', + 'https://schema.bsfs.io/core/Predicate', + 'https://schema.bsfs.io/ie/Node/Entity#filename', + 'https://schema.bsfs.io/ie/Node/Entity#colors_spatial_0658f2234a054e1dd59a14462c89f7733e019160419c796356aa831498bd0a04', + 'https://schema.bsfs.io/ie/Node/Entity#preview', + 'https://schema.bsfs.io/ie/Node/Preview#width', + 'https://schema.bsfs.io/ie/Node/Preview#height', + 'https://schema.bsfs.io/ie/Node/Preview#asset', }) def test_schema(self): outbuf = io.StringIO() with contextlib.redirect_stdout(outbuf): # show schema infos - main(['schema']) + main(['--config', self.config_path, 'schema']) # verify output schema = bsfs.schema.from_string(outbuf.getvalue()) self.assertSetEqual({pred.uri for pred in schema.predicates()}, { - 'http://bsfs.ai/schema/Entity#author', - 'http://bsfs.ai/schema/Predicate', - 'http://bsfs.ai/schema/Entity#filename', - 'http://bsfs.ai/schema/Entity#filesize', - 'http://bsfs.ai/schema/Entity/colors_spatial#0658f2234a054e1dd59a14462c89f7733e019160419c796356aa831498bd0a04', - 'http://bsfs.ai/schema/Entity#preview', - 'http://bsfs.ai/schema/Preview#width', - 'http://bsfs.ai/schema/Preview#height', - 'http://bsfs.ai/schema/Preview#asset', + 'https://schema.bsfs.io/ie/Node/Entity#author', + 'https://schema.bsfs.io/core/Predicate', + 'https://schema.bsfs.io/ie/Node/Entity#filename', + 'https://schema.bsfs.io/ie/Node/Entity#colors_spatial_0658f2234a054e1dd59a14462c89f7733e019160419c796356aa831498bd0a04', + 'https://schema.bsfs.io/ie/Node/Entity#preview', + 'https://schema.bsfs.io/ie/Node/Preview#width', + 'https://schema.bsfs.io/ie/Node/Preview#height', + 'https://schema.bsfs.io/ie/Node/Preview#asset', }) def test_invalid(self): |