Mercurial > p > roundup > code
diff test/test_demo.py @ 6638:e1588ae185dc issue2550923_computed_property
merge from default branch. Fix travis.ci so CI builds don't error out
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 21 Apr 2022 16:54:17 -0400 |
| parents | 5a3a386aa8e7 |
| children | 77eb1a41fc06 |
line wrap: on
line diff
--- a/test/test_demo.py Fri Oct 08 00:37:16 2021 -0400 +++ b/test/test_demo.py Thu Apr 21 16:54:17 2022 -0400 @@ -33,7 +33,7 @@ except FileNotFoundError: pass - def testDemo(self): + def testDemoClassic(self): with captured_output() as (out, err): install_demo(self.home, 'anydbm', 'classic') output = out.getvalue().strip() @@ -61,4 +61,71 @@ # last line in the output. self.assertIn("Keyboard Interrupt: exiting", output.split('\n')) + def testDemoMinimal(self): + with captured_output() as (out, err): + # use a modified path that resolves when + install_demo(self.home, 'sqlite', '../templates/minimal') + output = out.getvalue().strip() + print(output) + # verify that db was set properly by reading config + with open(self.home + "/config.ini", "r") as f: + config_lines = f.readlines() + + self.assertIn("backend = sqlite\n", config_lines) + + # dummy up the return of get_server so the serve_forever method + # raises keyboard interrupt exiting the server so the test exits. + gs = roundup.scripts.roundup_server.ServerConfig.get_server + def raise_KeyboardInterrupt(): + raise KeyboardInterrupt + + def test_get_server(self): + httpd = gs(self) + httpd.serve_forever = raise_KeyboardInterrupt + return httpd + + roundup.scripts.roundup_server.ServerConfig.get_server = test_get_server + + # Run under context manager to capture output of startup text. + with captured_output() as (out, err): + run_demo(self.home) + output = out.getvalue().strip() + print(output) + # if the server installed and started this will be the + # last line in the output. + self.assertIn("Keyboard Interrupt: exiting", output.split('\n')) + + def testDemoJinja(self): + with captured_output() as (out, err): + install_demo(self.home, 'anydbm', 'jinja2') + output = out.getvalue().strip() + print(output) + + # verify that template was set to jinja2 by reading config + with open(self.home + "/config.ini", "r") as f: + config_lines = f.readlines() + + self.assertIn("template_engine = jinja2\n", config_lines) + + # dummy up the return of get_server so the serve_forever method + # raises keyboard interrupt exiting the server so the test exits. + gs = roundup.scripts.roundup_server.ServerConfig.get_server + def raise_KeyboardInterrupt(): + raise KeyboardInterrupt + + def test_get_server(self): + httpd = gs(self) + httpd.serve_forever = raise_KeyboardInterrupt + return httpd + + roundup.scripts.roundup_server.ServerConfig.get_server = test_get_server + + # Run under context manager to capture output of startup text. + with captured_output() as (out, err): + run_demo(self.home) + output = out.getvalue().strip() + print(output) + # if the server installed and started this will be the + # last line in the output. + self.assertIn("Keyboard Interrupt: exiting", output.split('\n'))
