algorand / algorand/py-algorand-sdk

Python algosdk wallet.Wallet.delete_key() always returns True

Ouverte
#472 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug good first issue
Langage dominant
Python
Étoiles
274
Forks
145
Merge moyen
3 h 1 min
PR mergées (30 j)
2

Description

### wallet.Wallet.delete_key() always return True

Per the docs, `Wallet.delete_key()`, should return True if the account has been deleted.
Thus, if the wallet does not contain the account, then False is the expected return result.
However, `Walletdelete_key()` always returns True.

### Your environment

py-algorand-sdk 2.1.2
algokit 1.0.1

### Steps to reproduce

```python
import unittest

from algosdk.wallet import Wallet
from beaker import sandbox

class KmdWalletDeleteKeyTestCase(unittest.TestCase):
def test_delete_key(self):
kmd_client = sandbox.kmd.get_client()

# create new wallet
name = "foo"
password = "bar"
kmd_client.create_wallet(name, password)
wallet = Wallet(name, password, kmd_client)

# generate new wallet account
address = wallet.generate_key()
self.assertTrue(address in wallet.list_keys())

# delete wallet account
self.assertTrue(wallet.delete_key(address))
self.assertFalse(address in wallet.list_keys())

# delete wallet account again
self.assertFalse(
wallet.delete_key(address),
"should return False because the wallet does not contain the account",
) # this assertion fails

if __name__ == "__main__":
unittest.main()

```

### Expected behaviour
`Wallet.delete_key(address)` should return False if the wallet does not contain the specified address

### Actual behaviour
`Wallet.delete_key(address)` always returns True, even if the wallet does not contain the specified address

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.