| | |
| | | class TestPServeCommand(unittest.TestCase): |
| | | def setUp(self): |
| | | from pyramid.compat import NativeIO |
| | | |
| | | self.out_ = NativeIO() |
| | | |
| | | def out(self, msg): |
| | |
| | | |
| | | def _getTargetClass(self): |
| | | from pyramid.scripts.pserve import PServeCommand |
| | | |
| | | return PServeCommand |
| | | |
| | | def _makeOne(self, *args): |
| | |
| | | app.name = name |
| | | app.global_conf = global_conf |
| | | return app |
| | | |
| | | self.loader.get_wsgi_app = get_app |
| | | self.loader.server = lambda x: x |
| | | |
| | |
| | | def test_config_file_finds_watch_files(self): |
| | | inst = self._makeOne('development.ini') |
| | | loader = self.loader('/base/path.ini') |
| | | loader.settings = {'pserve': { |
| | | 'watch_files': 'foo\n/baz\ntests.test_scripts:*.py', |
| | | }} |
| | | loader.settings = { |
| | | 'pserve': {'watch_files': 'foo\n/baz\ntests.test_scripts:*.py'} |
| | | } |
| | | inst.pserve_file_config(loader, global_conf={'a': '1'}) |
| | | self.assertEqual(loader.calls[0]['defaults'], { |
| | | 'a': '1', |
| | | }) |
| | | self.assertEqual(inst.watch_files, set([ |
| | | os.path.abspath('/base/foo'), |
| | | os.path.abspath('/baz'), |
| | | os.path.abspath(os.path.join(here, '*.py')), |
| | | ])) |
| | | self.assertEqual(loader.calls[0]['defaults'], {'a': '1'}) |
| | | self.assertEqual( |
| | | inst.watch_files, |
| | | set( |
| | | [ |
| | | os.path.abspath('/base/foo'), |
| | | os.path.abspath('/baz'), |
| | | os.path.abspath(os.path.join(here, '*.py')), |
| | | ] |
| | | ), |
| | | ) |
| | | |
| | | def test_config_file_finds_open_url(self): |
| | | inst = self._makeOne('development.ini') |
| | | loader = self.loader('/base/path.ini') |
| | | loader.settings = {'pserve': { |
| | | 'open_url': 'http://127.0.0.1:8080/', |
| | | }} |
| | | loader.settings = {'pserve': {'open_url': 'http://127.0.0.1:8080/'}} |
| | | inst.pserve_file_config(loader, global_conf={'a': '1'}) |
| | | self.assertEqual(loader.calls[0]['defaults'], { |
| | | 'a': '1', |
| | | }) |
| | | self.assertEqual(loader.calls[0]['defaults'], {'a': '1'}) |
| | | self.assertEqual(inst.open_url, 'http://127.0.0.1:8080/') |
| | | |
| | | def test_guess_server_url(self): |
| | | inst = self._makeOne('development.ini') |
| | | loader = self.loader('/base/path.ini') |
| | | loader.settings = {'server:foo': { |
| | | 'port': '8080', |
| | | }} |
| | | loader.settings = {'server:foo': {'port': '8080'}} |
| | | url = inst.guess_server_url(loader, 'foo', global_conf={'a': '1'}) |
| | | self.assertEqual(loader.calls[0]['defaults'], { |
| | | 'a': '1', |
| | | }) |
| | | self.assertEqual(loader.calls[0]['defaults'], {'a': '1'}) |
| | | self.assertEqual(url, 'http://127.0.0.1:8080') |
| | | |
| | | def test_reload_call_hupper_with_correct_args(self): |
| | |
| | | |
| | | orig_hupper = pserve.hupper |
| | | try: |
| | | pserve.hupper = AttrDict(is_active=lambda: False, |
| | | start_reloader=dummy_start_reloader) |
| | | pserve.hupper = AttrDict( |
| | | is_active=lambda: False, start_reloader=dummy_start_reloader |
| | | ) |
| | | |
| | | inst = self._makeOne('--reload', 'development.ini') |
| | | inst.run() |
| | | finally: |
| | | pserve.hupper = orig_hupper |
| | | |
| | | self.assertEquals(dummy_start_reloader.args, ('pyramid.scripts.pserve.main',)) |
| | | self.assertEquals(dummy_start_reloader.kwargs, { |
| | | 'reload_interval': 1, |
| | | 'verbose': 1, |
| | | 'worker_kwargs': {'argv': ['pserve', '--reload', 'development.ini'], |
| | | 'quiet': False}}) |
| | | self.assertEquals( |
| | | dummy_start_reloader.args, ('pyramid.scripts.pserve.main',) |
| | | ) |
| | | self.assertEquals( |
| | | dummy_start_reloader.kwargs, |
| | | { |
| | | 'reload_interval': 1, |
| | | 'verbose': 1, |
| | | 'worker_kwargs': { |
| | | 'argv': ['pserve', '--reload', 'development.ini'], |
| | | 'quiet': False, |
| | | }, |
| | | }, |
| | | ) |
| | | |
| | | |
| | | class Test_main(unittest.TestCase): |
| | | def _callFUT(self, argv): |
| | | from pyramid.scripts.pserve import main |
| | | |
| | | return main(argv, quiet=True) |
| | | |
| | | def test_it(self): |