aboutsummaryrefslogtreecommitdiff
path: root/test/functional/wallet_encryption.py
diff options
context:
space:
mode:
authorBrandon Odiwuor <brandon.odiwuor@gmail.com>2023-10-09 15:30:40 +0300
committerBrandon Odiwuor <brandon.odiwuor@gmail.com>2023-10-10 18:12:31 +0300
commit004903ebade38ba47c5ddc17b756d605b963528e (patch)
tree1dd71fdea15ecce01ccc4be4ff324d9c7243271f /test/functional/wallet_encryption.py
parentdb283a6b6f1419291bcd15d74d51c8598aefe06a (diff)
downloadbitcoin-004903ebade38ba47c5ddc17b756d605b963528e.tar.xz
test: Add Wallet Unlock Context Manager
Add Context Manager to manage wallet locking/unlocking with passphrase
Diffstat (limited to 'test/functional/wallet_encryption.py')
-rwxr-xr-xtest/functional/wallet_encryption.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/test/functional/wallet_encryption.py b/test/functional/wallet_encryption.py
index e8381ba8f2..b30634010d 100755
--- a/test/functional/wallet_encryption.py
+++ b/test/functional/wallet_encryption.py
@@ -11,6 +11,7 @@ from test_framework.util import (
assert_raises_rpc_error,
assert_equal,
)
+from test_framework.wallet_util import WalletUnlock
class WalletEncryptionTest(BitcoinTestFramework):
@@ -59,19 +60,17 @@ class WalletEncryptionTest(BitcoinTestFramework):
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase + "wrong", 10)
# Test walletlock
- self.nodes[0].walletpassphrase(passphrase, 999000)
- sig = self.nodes[0].signmessage(address, msg)
- assert self.nodes[0].verifymessage(address, sig, msg)
- self.nodes[0].walletlock()
+ with WalletUnlock(self.nodes[0], passphrase):
+ sig = self.nodes[0].signmessage(address, msg)
+ assert self.nodes[0].verifymessage(address, sig, msg)
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].signmessage, address, msg)
# Test passphrase changes
self.nodes[0].walletpassphrasechange(passphrase, passphrase2)
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase, 10)
- self.nodes[0].walletpassphrase(passphrase2, 999000)
- sig = self.nodes[0].signmessage(address, msg)
- assert self.nodes[0].verifymessage(address, sig, msg)
- self.nodes[0].walletlock()
+ with WalletUnlock(self.nodes[0], passphrase2):
+ sig = self.nodes[0].signmessage(address, msg)
+ assert self.nodes[0].verifymessage(address, sig, msg)
# Test timeout bounds
assert_raises_rpc_error(-8, "Timeout cannot be negative.", self.nodes[0].walletpassphrase, passphrase2, -10)
@@ -97,10 +96,9 @@ class WalletEncryptionTest(BitcoinTestFramework):
self.nodes[0].walletpassphrasechange(passphrase2, passphrase_with_nulls)
# walletpassphrasechange should not stop at null characters
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase_with_nulls.partition("\0")[0], 10)
- self.nodes[0].walletpassphrase(passphrase_with_nulls, 999000)
- sig = self.nodes[0].signmessage(address, msg)
- assert self.nodes[0].verifymessage(address, sig, msg)
- self.nodes[0].walletlock()
+ with WalletUnlock(self.nodes[0], passphrase_with_nulls):
+ sig = self.nodes[0].signmessage(address, msg)
+ assert self.nodes[0].verifymessage(address, sig, msg)
if __name__ == '__main__':