Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_encryption.py
Show All 33 Lines | def run_test(self): | ||||
self.start_node(0) | self.start_node(0) | ||||
# 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) | ||||
# 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(2) | time.sleep(2) | ||||
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) | ||||
# Test wrong passphrase | # Test wrong passphrase | ||||
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", | assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", | ||||
self.nodes[0].walletpassphrase, passphrase + "wrong", 10) | self.nodes[0].walletpassphrase, passphrase + "wrong", 10) | ||||
# Test walletlock and unlocked_until values | # Test walletlock and unlocked_until values | ||||
self.nodes[0].setmocktime(1) | self.nodes[0].setmocktime(1) | ||||
self.nodes[0].walletpassphrase(passphrase, 84600) | self.nodes[0].walletpassphrase(passphrase, 84600) | ||||
assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | ||||
assert_equal( | assert_equal( | ||||
self.nodes[0].getwalletinfo()['unlocked_until'], 1 + 84600) | self.nodes[0].getwalletinfo()['unlocked_until'], 1 + 84600) | ||||
self.nodes[0].walletlock() | self.nodes[0].walletlock() | ||||
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_equal(self.nodes[0].getwalletinfo()['unlocked_until'], 0) | assert_equal(self.nodes[0].getwalletinfo()['unlocked_until'], 0) | ||||
# Test passphrase changes | # Test passphrase changes | ||||
self.nodes[0].walletpassphrasechange(passphrase, passphrase2) | self.nodes[0].walletpassphrasechange(passphrase, passphrase2) | ||||
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", | assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", | ||||
self.nodes[0].walletpassphrase, passphrase, 10) | self.nodes[0].walletpassphrase, passphrase, 10) | ||||
self.nodes[0].walletpassphrase(passphrase2, 10) | self.nodes[0].walletpassphrase(passphrase2, 10) | ||||
assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | assert_equal(privkey, self.nodes[0].dumpprivkey(address)) | ||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
WalletEncryptionTest().main() | WalletEncryptionTest().main() |