diff options
Diffstat (limited to 'test/apps/test_info.py')
-rw-r--r-- | test/apps/test_info.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/apps/test_info.py b/test/apps/test_info.py new file mode 100644 index 0000000..60a540e --- /dev/null +++ b/test/apps/test_info.py @@ -0,0 +1,42 @@ +""" + +Part of the bsie test suite. +A copy of the license is provided with the project. +Author: Matthias Baumgartner, 2022 +""" +# imports +import argparse +import io +import os +import sys +import unittest + +# objects to test +from bsie.apps.info import main + + +## code ## + +class TestIndex(unittest.TestCase): + def test_predicates(self): + stdout, sys.stdout = sys.stdout, io.StringIO() + # show predicates infos + main(['predicates']) + outbuf, sys.stdout = sys.stdout, stdout + # 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', + }) + + def test_invalid(self): + self.assertRaises(SystemExit, main, ['foobar']) + +## main ## + +if __name__ == '__main__': + unittest.main() + +## EOF ## |