Michael Merickel
2018-10-15 0c29cf2df41600d3906d521c72991c7686018b71
tests/test_scripts/test_pserve.py
@@ -9,6 +9,7 @@
class TestPServeCommand(unittest.TestCase):
    def setUp(self):
        from pyramid.compat import NativeIO
        self.out_ = NativeIO()
    def out(self, msg):
@@ -16,6 +17,7 @@
    def _getTargetClass(self):
        from pyramid.scripts.pserve import PServeCommand
        return PServeCommand
    def _makeOne(self, *args):
@@ -41,6 +43,7 @@
            app.name = name
            app.global_conf = global_conf
            return app
        self.loader.get_wsgi_app = get_app
        self.loader.server = lambda x: x
@@ -54,41 +57,36 @@
    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):
@@ -105,25 +103,35 @@
        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):