aboutsummaryrefslogtreecommitdiffstats
path: root/test/apps/test_info.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/apps/test_info.py')
-rw-r--r--test/apps/test_info.py42
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 ##