def update_symlinks(config, unused_plugins): """Update the certificate file family symlinks Use the information in the config file to make symlinks point to the correct archive directory. """ cert_manager.update_live_symlinks(config)
def test_update_live_symlinks(self): """Test update_live_symlinks""" # pylint: disable=too-many-statements # create files with incorrect symlinks from certbot import cert_manager archive_paths = {} for domain in self.domains: custom_archive = self.domains[domain] if custom_archive is not None: archive_dir_path = custom_archive else: archive_dir_path = os.path.join(self.config.default_archive_dir, domain) archive_paths[domain] = dict((kind, os.path.join(archive_dir_path, kind + "1.pem")) for kind in ALL_FOUR) for kind in ALL_FOUR: live_path = self.config_files[domain][kind] archive_path = archive_paths[domain][kind] open(archive_path, 'a').close() # path is incorrect but base must be correct os.symlink(os.path.join(self.config.config_dir, kind + "1.pem"), live_path) # run update symlinks cert_manager.update_live_symlinks(self.config) # check that symlinks go where they should prev_dir = os.getcwd() try: for domain in self.domains: for kind in ALL_FOUR: os.chdir(os.path.dirname(self.config_files[domain][kind])) self.assertEqual( os.path.realpath(os.readlink(self.config_files[domain][kind])), os.path.realpath(archive_paths[domain][kind])) finally: os.chdir(prev_dir)
def test_update_live_symlinks(self): """Test update_live_symlinks""" # pylint: disable=too-many-statements # create files with incorrect symlinks from certbot import cert_manager archive_paths = {} for domain in self.domains: custom_archive = self.domains[domain] if custom_archive is not None: archive_dir_path = custom_archive else: archive_dir_path = os.path.join(self.tempdir, "archive", domain) archive_paths[domain] = dict( (kind, os.path.join(archive_dir_path, kind + "1.pem")) for kind in ALL_FOUR) for kind in ALL_FOUR: live_path = self.configs[domain][kind] archive_path = archive_paths[domain][kind] open(archive_path, 'a').close() # path is incorrect but base must be correct os.symlink(os.path.join(self.tempdir, kind + "1.pem"), live_path) # run update symlinks cert_manager.update_live_symlinks(self.cli_config) # check that symlinks go where they should for domain in self.domains: for kind in ALL_FOUR: self.assertEqual(os.readlink(self.configs[domain][kind]), archive_paths[domain][kind])
def test_update_live_symlinks(self): """Test update_live_symlinks""" # pylint: disable=too-many-statements # create files with incorrect symlinks from certbot import cert_manager archive_paths = {} for domain in self.domains: custom_archive = self.domains[domain] if custom_archive is not None: archive_dir_path = custom_archive else: archive_dir_path = os.path.join(self.tempdir, "archive", domain) archive_paths[domain] = dict((kind, os.path.join(archive_dir_path, kind + "1.pem")) for kind in ALL_FOUR) for kind in ALL_FOUR: live_path = self.configs[domain][kind] archive_path = archive_paths[domain][kind] open(archive_path, 'a').close() # path is incorrect but base must be correct os.symlink(os.path.join(self.tempdir, kind + "1.pem"), live_path) # run update symlinks cert_manager.update_live_symlinks(self.cli_config) # check that symlinks go where they should for domain in self.domains: for kind in ALL_FOUR: self.assertEqual(os.readlink(self.configs[domain][kind]), archive_paths[domain][kind])
def update_symlinks(config, unused_plugins): """Update the certificate file family symlinks Use the information in the config file to make symlinks point to the correct archive directory. :param config: Configuration object :type config: interfaces.IConfig :param unused_plugins: List of plugins (deprecated) :type unused_plugins: `list` of `str` :returns: `None` :rtype: None """ cert_manager.update_live_symlinks(config)