def setUp(self): zope.component.provideUtility( display_util.FileDisplay(sys.stdout, False)) self.accounts_dir = tempfile.mkdtemp("accounts") self.account_keys_dir = os.path.join(self.accounts_dir, "keys") os.makedirs(self.account_keys_dir, 0o700) self.config = mock.MagicMock(accounts_dir=self.accounts_dir, account_keys_dir=self.account_keys_dir, server="certbot-demo.org") self.key = KEY self.acc1 = account.Account( messages.RegistrationResource( uri=None, new_authzr_uri=None, body=messages.Registration.from_data(email="*****@*****.**")), self.key) self.acc2 = account.Account( messages.RegistrationResource(uri=None, new_authzr_uri=None, body=messages.Registration.from_data( email="*****@*****.**", phone="phone")), self.key)
def set_displayer(config): """Set the displayer""" if config.quiet: config.noninteractive_mode = True displayer = display_util.NoninteractiveDisplay(open(os.devnull, "w")) elif config.noninteractive_mode: displayer = display_util.NoninteractiveDisplay(sys.stdout) else: displayer = display_util.FileDisplay(sys.stdout) zope.component.provideUtility(displayer)
def setUp(self): zope.component.provideUtility(display_util.FileDisplay(sys.stdout)) self.mock_apache = mock.Mock( description_with_name="a", misconfigured=True) self.mock_stand = mock.Mock( description_with_name="s", misconfigured=False) self.mock_stand.init().more_info.return_value = "standalone" self.plugins = [ self.mock_apache, self.mock_stand, ]
def main(cli_args=sys.argv[1:]): """Command line argument parsing and main script execution.""" sys.excepthook = functools.partial(_handle_exception, config=None) plugins = plugins_disco.PluginsRegistry.find_all() # note: arg parser internally handles --help (and exits afterwards) args = cli.prepare_and_parse_args(plugins, cli_args) config = configuration.NamespaceConfig(args) zope.component.provideUtility(config) # Setup logging ASAP, otherwise "No handlers could be found for # logger ..." TODO: this should be done before plugins discovery for directory in config.config_dir, config.work_dir: le_util.make_or_verify_dir( directory, constants.CONFIG_DIRS_MODE, os.geteuid(), "--strict-permissions" in cli_args) # TODO: logs might contain sensitive data such as contents of the # private key! #525 le_util.make_or_verify_dir( config.logs_dir, 0o700, os.geteuid(), "--strict-permissions" in cli_args) setup_logging(config, _cli_log_handler, logfile='letsencrypt.log') cli.possible_deprecation_warning(config) logger.debug("certbot version: %s", certbot.__version__) # do not log `config`, as it contains sensitive data (e.g. revoke --key)! logger.debug("Arguments: %r", cli_args) logger.debug("Discovered plugins: %r", plugins) sys.excepthook = functools.partial(_handle_exception, config=config) # Displayer if config.quiet: config.noninteractive_mode = True displayer = display_util.NoninteractiveDisplay(open(os.devnull, "w")) elif config.noninteractive_mode: displayer = display_util.NoninteractiveDisplay(sys.stdout) elif config.text_mode: displayer = display_util.FileDisplay(sys.stdout) elif config.verb == "renew": config.noninteractive_mode = True displayer = display_util.NoninteractiveDisplay(sys.stdout) else: displayer = display_util.NcursesDisplay() zope.component.provideUtility(displayer) # Reporter report = reporter.Reporter(config) zope.component.provideUtility(report) atexit.register(report.atexit_print_messages) return config.func(config, plugins)
def setUp(self, test_dir="debian_apache_2_4/multiple_vhosts", config_root="debian_apache_2_4/multiple_vhosts/apache2", vhost_root="debian_apache_2_4/multiple_vhosts/apache2/sites-available"): super(ParserTest, self).setUp(test_dir, config_root, vhost_root) zope.component.provideUtility(display_util.FileDisplay(sys.stdout)) from certbot_apache.parser import ApacheParser self.aug = augeas.Augeas( flags=augeas.Augeas.NONE | augeas.Augeas.NO_MODL_AUTOLOAD) with mock.patch("certbot_apache.parser.ApacheParser." "update_runtime_variables"): self.parser = ApacheParser( self.aug, self.config_path, self.vhost_path)
def prepare(self): # pylint: disable=missing-docstring,no-self-use # Re-register reporter - json only report self.orig_reporter = zope.component.getUtility(interfaces.IReporter) zope.component.provideUtility(self, provides=interfaces.IReporter) atexit.register(self.atexit_print_messages) # Re-register displayer - stderr only displayer #displayer = display_util.NoninteractiveDisplay(sys.stderr) displayer = display_util.FileDisplay(sys.stderr, False) zope.component.provideUtility(displayer) # Non-interactive not yet supported if self.config.noninteractive_mode and not self.conf("test-mode"): raise errors.PluginError( "Running manual mode non-interactively is not supported (yet)") if not self._is_handler_mode() and self._is_dehydrated_dns(): raise errors.PluginError( "dehydrated-dns switch is allowed only with handler specified")
def set_displayer(config): """Set the displayer :param config: Configuration object :type config: interfaces.IConfig :returns: `None` :rtype: None """ if config.quiet: config.noninteractive_mode = True displayer = display_util.NoninteractiveDisplay(open(os.devnull, "w")) elif config.noninteractive_mode: displayer = display_util.NoninteractiveDisplay(sys.stdout) else: displayer = display_util.FileDisplay(sys.stdout, config.force_interactive) zope.component.provideUtility(displayer)
def setUp(self): zope.component.provideUtility(display_util.FileDisplay(sys.stdout)) self.base_dir = "/example_path" self.vhosts = util.get_vh_truth(self.base_dir, "debian_apache_2_4/multiple_vhosts")
def setUp(self): zope.component.provideUtility(display_util.FileDisplay(sys.stdout, False)) self.mock_install = mock.MagicMock()
def setUp(self): zope.component.provideUtility(display_util.FileDisplay(sys.stdout, False))
def setUp(self): super(FileOutputDisplayTest, self).setUp() self.mock_stdout = mock.MagicMock() self.displayer = display_util.FileDisplay(self.mock_stdout, False)
"""Manual test of display functions.""" import sys from certbot.display import util from certbot.tests.display import util_test def test_visual(displayer, choices): """Visually test all of the display functions.""" displayer.notification("Random notification!") displayer.menu("Question?", choices, ok_label="O", cancel_label="Can", help_label="??") displayer.menu("Question?", [choice[1] for choice in choices], ok_label="O", cancel_label="Can", help_label="??") displayer.input("Input Message") displayer.yesno("YesNo Message", yes_label="Yessir", no_label="Nosir") displayer.checklist("Checklist Message", [choice[0] for choice in choices]) if __name__ == "__main__": displayer = util.FileDisplay(sys.stdout, False) test_visual(displayer, util_test.CHOICES)
"""Manual test of display functions.""" import sys from certbot.display import util from certbot.tests.display import util_test def test_visual(displayer, choices): """Visually test all of the display functions.""" displayer.notification("Random notification!") displayer.menu("Question?", choices, ok_label="O", cancel_label="Can", help_label="??") displayer.menu("Question?", [choice[1] for choice in choices], ok_label="O", cancel_label="Can", help_label="??") displayer.input("Input Message") displayer.yesno("YesNo Message", yes_label="Yessir", no_label="Nosir") displayer.checklist("Checklist Message", [choice[0] for choice in choices]) if __name__ == "__main__": displayer = util.FileDisplay(sys.stdout): test_visual(displayer, util_test.CHOICES)
"""Manual test of display functions.""" import sys from certbot.display import util from certbot.tests.display import util_test def test_visual(displayer, choices): """Visually test all of the display functions.""" displayer.notification("Random notification!") displayer.menu("Question?", choices, ok_label="O", cancel_label="Can", help_label="??") displayer.menu("Question?", [choice[1] for choice in choices], ok_label="O", cancel_label="Can", help_label="??") displayer.input("Input Message") displayer.yesno("YesNo Message", yes_label="Yessir", no_label="Nosir") displayer.checklist("Checklist Message", [choice[0] for choice in choices]) if __name__ == "__main__": for displayer in util.NcursesDisplay(), util.FileDisplay(sys.stdout): test_visual(displayer, util_test.CHOICES)