# imports import contextlib import io import json import unittest # objects to test from bsfs.apps import main ## code ## class TestMain(unittest.TestCase): def test_main(self): # must at least pass an app with contextlib.redirect_stderr(io.StringIO()): self.assertRaises(SystemExit, main, []) # app takes over with contextlib.redirect_stderr(io.StringIO()): self.assertRaises(SystemExit, main, ['init']) outbuf = io.StringIO() with contextlib.redirect_stdout(outbuf): main(['init', 'sparql']) self.assertEqual(json.loads(outbuf.getvalue()), { 'Graph': { 'user': 'http://example.com/me', 'backend': { 'SparqlStore': {}}}}) ## main ## if __name__ == '__main__': unittest.main() ## EOF ##