| | |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.ConfigParser = makeDummyConfigParser({}) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | |
| | | pushed = app.threadlocal_manager.pushed[0] |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(interact.local, {'root':dummy_root, |
| | | 'registry':dummy_registry}) |
| | | self.assertEqual(interact.local, {'app':app, |
| | | 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | | |
| | |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.ConfigParser = makeDummyConfigParser({}) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = True |
| | |
| | | pushed = app.threadlocal_manager.pushed[0] |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(interact.local, {'root':dummy_root, |
| | | 'registry':dummy_registry}) |
| | | self.assertEqual(interact.local, {'app':app, |
| | | 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | | |
| | |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.ConfigParser = makeDummyConfigParser({}) |
| | | dummy_shell_factory = DummyIPShellFactory() |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(dummy_shell_factory.shell.local_ns, |
| | | {'root':dummy_root, 'registry':dummy_registry}) |
| | | {'app':app, 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertEqual(dummy_shell_factory.shell.global_ns, {}) |
| | | self.assertTrue('\n\n' in dummy_shell_factory.shell.IP.BANNER) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | |
| | | interact = DummyInteractor() |
| | | app = DummyApp() |
| | | command.interact = (interact,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.ConfigParser = makeDummyConfigParser({}) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython =True |
| | |
| | | pushed = app.threadlocal_manager.pushed[0] |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(interact.local, {'root':dummy_root, |
| | | 'registry':dummy_registry}) |
| | | self.assertEqual(interact.local, {'app': app, |
| | | 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | | self.assertEqual(apped, [(('/foo/bar/myapp.ini', 'myapp'), |
| | | self.assertEqual(apped, [(('/foo/bar/myapp.ini#myapp',), |
| | | {'loadapp': loadapp})]) |
| | | |
| | | def test_command_get_root_hookable(self): |
| | |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | command.ConfigParser = makeDummyConfigParser({}) |
| | | root = Dummy() |
| | | apps = [] |
| | | def get_root(app): |
| | | apps.append(app) |
| | | return root, lambda *arg: None |
| | | command.get_root =get_root |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython =True |
| | |
| | | self.assertEqual(loadapp.section_name, 'myapp') |
| | | self.assertTrue(loadapp.relative_to) |
| | | self.assertEqual(len(app.threadlocal_manager.pushed), 0) |
| | | self.assertEqual(interact.local, {'root':root, |
| | | 'registry':dummy_registry}) |
| | | self.assertEqual(interact.local, {'app':app, |
| | | 'root':root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(apps, [app]) |
| | | |
| | | def test_command_loads_custom_items(self): |
| | | command = self._makeOne() |
| | | interact = DummyInteractor() |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | model = Dummy() |
| | | command.ConfigParser = makeDummyConfigParser([('m', model)]) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | | command.command(IPShell=None) |
| | | self.assertEqual(loadapp.config_name, 'config:/foo/bar/myapp.ini') |
| | | self.assertEqual(loadapp.section_name, 'myapp') |
| | | self.assertTrue(loadapp.relative_to) |
| | | self.assertEqual(len(app.threadlocal_manager.pushed), 1) |
| | | pushed = app.threadlocal_manager.pushed[0] |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(interact.local, {'app':app, |
| | | 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings, |
| | | 'm': model}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | | |
| | | def test_command_no_custom_section(self): |
| | | command = self._makeOne() |
| | | interact = DummyInteractor() |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | command.ConfigParser = makeDummyConfigParser(None) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | | command.command(IPShell=None) |
| | | self.assertEqual(loadapp.config_name, 'config:/foo/bar/myapp.ini') |
| | | self.assertEqual(loadapp.section_name, 'myapp') |
| | | self.assertTrue(loadapp.relative_to) |
| | | self.assertEqual(len(app.threadlocal_manager.pushed), 1) |
| | | pushed = app.threadlocal_manager.pushed[0] |
| | | self.assertEqual(pushed['registry'], dummy_registry) |
| | | self.assertEqual(pushed['request'].registry, dummy_registry) |
| | | self.assertEqual(interact.local, {'app':app, |
| | | 'root':dummy_root, |
| | | 'registry':dummy_registry, |
| | | 'settings':dummy_registry.settings}) |
| | | self.assertTrue(interact.banner) |
| | | self.assertEqual(len(app.threadlocal_manager.popped), 1) |
| | | |
| | | def test_command_custom_section_override(self): |
| | | command = self._makeOne() |
| | | interact = DummyInteractor() |
| | | app = Dummy() |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | model = Dummy() |
| | | command.ConfigParser = makeDummyConfigParser([('app', model)]) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | | command.command(IPShell=None) |
| | | self.assertEqual(loadapp.config_name, 'config:/foo/bar/myapp.ini') |
| | | self.assertEqual(loadapp.section_name, 'myapp') |
| | | self.assertTrue(loadapp.relative_to) |
| | | self.assertEqual(interact.local, {'app':model}) |
| | | self.assertTrue(interact.banner) |
| | | |
| | | def test_command_generic_wsgi_app(self): |
| | | command = self._makeOne() |
| | | interact = DummyInteractor() |
| | | app = Dummy() |
| | | loadapp = DummyLoadApp(app) |
| | | command.interact = (interact,) |
| | | command.loadapp = (loadapp,) |
| | | command.ConfigParser = makeDummyConfigParser(None) |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | class Options(object): pass |
| | | command.options = Options() |
| | | command.options.disable_ipython = False |
| | | command.command(IPShell=None) |
| | | self.assertEqual(loadapp.config_name, 'config:/foo/bar/myapp.ini') |
| | | self.assertEqual(loadapp.section_name, 'myapp') |
| | | self.assertTrue(loadapp.relative_to) |
| | | self.assertEqual(interact.local, {'app':app}) |
| | | self.assertTrue(interact.banner) |
| | | |
| | | class TestPRoutesCommand(unittest.TestCase): |
| | | def _getTargetClass(self): |
| | |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(L, []) |
| | |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(L, []) |
| | |
| | | app = DummyApp() |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(len(L), 3) |
| | |
| | | app.registry = registry |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(len(L), 3) |
| | |
| | | app.registry = registry |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(len(L), 3) |
| | |
| | | app.registry = registry |
| | | loadapp = DummyLoadApp(app) |
| | | command.loadapp = (loadapp,) |
| | | command.args = ('/foo/bar/myapp.ini#myapp') |
| | | command.args = ('/foo/bar/myapp.ini#myapp',) |
| | | result = command.command() |
| | | self.assertEqual(result, None) |
| | | self.assertEqual(len(L), 3) |
| | |
| | | dummy_root = Dummy() |
| | | |
| | | class DummyRegistry(object): |
| | | settings = {} |
| | | def queryUtility(self, iface, default=None, name=''): |
| | | return default |
| | | |
| | |
| | | self.views = [(None, view, None) for view in views] |
| | | self.__request_attrs__ = attrs |
| | | |
| | | def makeDummyConfigParser(items): |
| | | class DummyConfigParser(object): |
| | | def read(self, filename): |
| | | self.filename = filename |
| | | |
| | | def items(self, section): |
| | | self.section = section |
| | | if items is None: |
| | | from ConfigParser import NoSectionError |
| | | raise NoSectionError, section |
| | | return items |
| | | return DummyConfigParser |