def testDemo(self): with captured_output() as (out, err): install_demo(self.home, 'anydbm', 'classic') output = out.getvalue().strip() print(output) # 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 run_install_demo(self, template, db="anydbm"): with captured_output() as (out, err): install_demo(self.home, db, template) 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 = %s\n" % db, 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 run(): home = DEFAULT_HOME template = DEFAULT_TEMPLATE nuke = sys.argv[-1] == 'nuke' # if there is no tracker in home, force nuke try: instance.open(home) except configuration.NoConfigError: nuke = 1 # if we are to create the tracker, prompt for home if nuke: if len(sys.argv) > 2: backend = sys.argv[-2] else: backend = 'anydbm' # FIXME: i'd like to have an option to abort the tracker creation # say, by entering a single dot. but i cannot think of # appropriate prompt for that. home = raw_input( _('Enter directory path to create demo tracker [%s]: ') % home) if not home: home = DEFAULT_HOME templates = admin.AdminTool().listTemplates().keys() template = raw_input( _('Enter tracker template to use (one of (%s)) [%s]: ') % (','.join(templates),template)) if not template: template = DEFAULT_TEMPLATE # install demo.install_demo(home, backend, admin.AdminTool().listTemplates()[template]['path']) # run demo.run_demo(home)
def run(): home = DEFAULT_HOME template = DEFAULT_TEMPLATE nuke = sys.argv[-1] == 'nuke' # if there is no tracker in home, force nuke try: instance.open(home) except configuration.NoConfigError: nuke = 1 # if we are to create the tracker, prompt for home if nuke: if len(sys.argv) > 2: backend = sys.argv[-2] else: backend = 'anydbm' # FIXME: i'd like to have an option to abort the tracker creation # say, by entering a single dot. but i cannot think of # appropriate prompt for that. home = my_input( _('Enter directory path to create demo tracker [%s]: ') % home) if not home: home = DEFAULT_HOME templates = admin.AdminTool().listTemplates().keys() template = my_input( _('Enter tracker template to use (one of (%s)) [%s]: ') % (','.join(templates),template)) if not template: template = DEFAULT_TEMPLATE # install demo.install_demo(home, backend, admin.AdminTool().listTemplates()[template]['path']) # run demo.run_demo(home)