GODT-1986: Handle case where an address has no decryption entities

It's possible (but very rare, I don't think proton still allows it)
for an address to have no keys. If we try to load the address keyring
for such an address, this change logs a warning that no decryption
entities were found in the unlocked keyring.

It bumps liteapi to a version that does not return an error when no
keys could be unlocked.
This commit is contained in:
James Houlahan
2022-10-27 05:12:13 +02:00
parent 7f6094750e
commit d066e32719
9 changed files with 97 additions and 8 deletions

View File

@ -200,6 +200,24 @@ func (s *scenario) theAddressOfAccountHasMessagesInMailbox(address, username str
})))
}
func (s *scenario) theAddressOfAccountHasNoKeys(address, username string) error {
userID := s.t.getUserID(username)
addrID := s.t.getUserAddrID(userID, address)
keyIDs, err := s.t.api.GetAddressKeyIDs(userID, addrID)
if err != nil {
return err
}
for _, keyID := range keyIDs {
if err := s.t.api.RemoveAddressKey(userID, addrID, keyID); err != nil {
return err
}
}
return nil
}
func (s *scenario) userLogsInWithUsernameAndPassword(username, password string) error {
userID, err := s.t.bridge.LoginFull(context.Background(), username, []byte(password), nil, nil)
if err != nil {