def test_xkcd2(): try: pw = PasswordGenerator() password = pw.get_value('xkcd', stealth_name='chaos') except PasswordError as err: password = err assert str(password) == 'tauten polymer rudder lively'
def test_alertscc2(): try: pw = PasswordGenerator() password = pw.get_value('alertscc:password') except PasswordError as err: password = err assert str(password) == 'R7ibHyPjWtG2'
def publish_passcode(self): for v in ['BORG_PASSPHRASE', 'BORG_PASSCOMMAND', 'BORG_PASSPHRASE_FD']: if v in os.environ: narrate(f"Using existing {v}.") return passcommand = self.value('passcommand') passcode = self.passphrase # process passcomand if passcommand: if passcode: warn("passphrase unneeded.", culprit="passcommand") narrate(f"Setting BORG_PASSCOMMAND.") os.environ['BORG_PASSCOMMAND'] = passcommand self.borg_passcode_env_var_set_by_emborg = 'BORG_PASSCOMMAND' return # get passphrase from avendesora if not passcode and self.avendesora_account: narrate("running avendesora to access passphrase.") try: from avendesora import PasswordGenerator pw = PasswordGenerator() account_spec = self.value("avendesora_account") if ':' in account_spec: passcode = str(pw.get_value(account_spec)) else: account = pw.get_account(self.value("avendesora_account")) field = self.value("avendesora_field", None) passcode = str(account.get_value(field)) except ImportError: raise Error( "Avendesora is not available", "you must specify passphrase in settings.", sep=", ", ) if passcode: os.environ['BORG_PASSPHRASE'] = passcode narrate(f"Setting BORG_PASSPHRASE.") self.borg_passcode_env_var_set_by_emborg = 'BORG_PASSPHRASE' return if self.encryption is None: self.encryption = "none" if self.encryption == "none" or self.encryption.startswith( 'authenticated'): comment("Encryption is disabled.") return raise Error("Cannot determine the encryption passphrase.")