algorand / algorand/py-algorand-sdk

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

Offen
#472 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug good first issue
Vorherrschende Sprache
Python
Sterne
274
Forks
145
Ø Merge
3 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

### 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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.