Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_encryption.py
Show All 27 Lines | def run_test(self): | ||||
passphrase = "WalletPassphrase" | passphrase = "WalletPassphrase" | ||||
passphrase2 = "SecondWalletPassphrase" | passphrase2 = "SecondWalletPassphrase" | ||||
# Make sure the wallet isn't encrypted first | # Make sure the wallet isn't encrypted first | ||||
address = self.nodes[0].getnewaddress() | address = self.nodes[0].getnewaddress() | ||||
privkey = self.nodes[0].dumpprivkey(address) | privkey = self.nodes[0].dumpprivkey(address) | ||||
assert_equal(privkey[:1], "c") | assert_equal(privkey[:1], "c") | ||||
assert_equal(len(privkey), 52) | assert_equal(len(privkey), 52) | ||||
assert_raises_rpc_error( | |||||
-15, "Error: running with an unencrypted wallet, but walletpassphrase was called", | |||||
self.nodes[0].walletpassphrase, 'ff', 1) | |||||
assert_raises_rpc_error( | |||||
-15, | |||||
"Error: running with an unencrypted wallet, but walletpassphrasechange was called.", | |||||
self.nodes[0].walletpassphrasechange, 'ff', 'ff') | |||||
# Encrypt the wallet | # Encrypt the wallet | ||||
assert_raises_rpc_error( | |||||
-8, "passphrase can not be empty", | |||||
self.nodes[0].encryptwallet, '') | |||||
self.nodes[0].encryptwallet(passphrase) | self.nodes[0].encryptwallet(passphrase) | ||||
# Check the encrypted wallet is marked as locked on initialization | # Check the encrypted wallet is marked as locked on initialization | ||||
assert_equal(self.nodes[0].getwalletinfo()['unlocked_until'], 0) | assert_equal(self.nodes[0].getwalletinfo()['unlocked_until'], 0) | ||||
# Test that the wallet is encrypted | # Test that the wallet is encrypted | ||||
assert_raises_rpc_error( | assert_raises_rpc_error( | ||||
-13, "Please enter the wallet passphrase with walletpassphrase first", | -13, "Please enter the wallet passphrase with walletpassphrase first", | ||||
self.nodes[0].dumpprivkey, address) | self.nodes[0].dumpprivkey, address) | ||||
assert_raises_rpc_error( | |||||
-15, "Error: running with an encrypted wallet, but encryptwallet was called.", | |||||
self.nodes[0].encryptwallet, 'ff') | |||||
assert_raises_rpc_error( | |||||
-8, "passphrase can not be empty", | |||||
self.nodes[0].walletpassphrase, '', 1) | |||||
assert_raises_rpc_error( | |||||
-8, "passphrase can not be empty", | |||||
self.nodes[0].walletpassphrasechange, '', 'ff') | |||||
# Check that walletpassphrase works | # Check that walletpassphrase works | ||||
self.nodes[0].walletpassphrase(passphrase, 2) | self.nodes[0].walletpassphrase(passphrase, 2) | ||||
assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | ||||
# Check that the timeout is right | # Check that the timeout is right | ||||
time.sleep(3) | time.sleep(3) | ||||
assert_raises_rpc_error( | assert_raises_rpc_error( | ||||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |