def test_keyring_lookup_encrypted_fallback_exists_no_password(fs, mocker, monkeypatch): monkeypatch.delenv("PYTHON_KEYRING_BACKEND", raising=False) get_keyring = mocker.patch("dandi.girder.get_keyring", return_value=fail.Keyring()) fs.create_file(keyfile.EncryptedKeyring().file_path) kb, password = girder.keyring_lookup("testservice", "testusername") assert isinstance(kb, keyfile.EncryptedKeyring) assert password is None get_keyring.assert_called_once_with()
def test_keyring_lookup_encrypted_fallback_exists_no_password( mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch) -> None: monkeypatch.delenv("PYTHON_KEYRING_BACKEND", raising=False) get_keyring = mocker.patch("dandi.keyring.get_keyring", return_value=fail.Keyring()) kf = Path(keyfile.EncryptedKeyring().file_path) kf.parent.mkdir(parents=True, exist_ok=True) kf.touch() kb, password = keyring_lookup("testservice", "testusername") assert isinstance(kb, keyfile.EncryptedKeyring) assert password is None get_keyring.assert_called_once_with()
def test_keyring_lookup_encrypted_fallback_exists_password(fs, mocker, monkeypatch): monkeypatch.delenv("PYTHON_KEYRING_BACKEND", raising=False) get_keyring = mocker.patch("dandi.girder.get_keyring", return_value=fail.Keyring()) kb0 = keyfile.EncryptedKeyring() getpass = mocker.patch("getpass.getpass", return_value="file-password") kb0.set_password("testservice", "testusername", "testpassword") assert getpass.call_count == 2 getpass.reset_mock() kb, password = girder.keyring_lookup("testservice", "testusername") assert getpass.call_count == 1 assert isinstance(kb, keyfile.EncryptedKeyring) assert password == "testpassword" get_keyring.assert_called_once_with()
def init_keyring(self): return file.EncryptedKeyring()