Merge bitcoin/bitcoin#31768: test: check scanning field from getwalletinfo

bb0879ddab test: check `scanning` field from `getwalletinfo` (brunoerg)

Pull request description:

  During a rescan, check that `getwalletinfo` returns properly information (the scanning field) about it.

ACKs for top commit:
  maflcko:
    lgtm ACK bb0879ddab
  arejula27:
    ACK [`bb0879d`](bb0879ddab)
  achow101:
    ACK bb0879ddab
  BrandonOdiwuor:
    Code Review ACK bb0879ddab
  Prabhat1308:
    re-ACK [`bb0879d`](bb0879ddab)

Tree-SHA512: 9bca1c1e813bf4f61a5621bdc0a5f5c2bcfb388ffe9dfacb821bf6954f6e0880140d72258dc93ab6b84efb54f55c682a17aebd42f6559d6cfac9998e6bc4e5b9
This commit is contained in:
Ava Chow 2025-02-13 16:25:01 -08:00
commit 2549fc6fd1
No known key found for this signature in database
GPG key ID: 17565732E08E5E41

View file

@ -24,6 +24,7 @@ from test_framework.test_framework import BitcoinTestFramework
from test_framework.descriptors import descsum_create
from test_framework.util import (
assert_equal,
assert_greater_than,
assert_raises_rpc_error,
)
from test_framework.wallet_util import (
@ -705,6 +706,13 @@ class ImportDescriptorsTest(BitcoinTestFramework):
except JSONRPCException as e:
assert e.error["code"] == -4 and "Error: the wallet is currently being used to rescan the blockchain for related transactions. Please call `abortrescan` before changing the passphrase." in e.error["message"]
wallet_info = self.nodes[0].cli("-rpcwallet=encrypted_wallet").getwalletinfo()
try:
duration = wallet_info["scanning"]["duration"]
assert_greater_than(duration, 0)
except Exception:
assert "scanning" not in wallet_info
assert_equal(importing.result(), [{"success": True}])
assert_equal(temp_wallet.getbalance(), encrypted_wallet.getbalance())