]> Untitled Git - bdk/commitdiff
chore(electrum,testenv): move `test_reorg_is_detected_in_electrsd`
author志宇 <hello@evanlinjin.me>
Sat, 23 Mar 2024 10:28:49 +0000 (18:28 +0800)
committer志宇 <hello@evanlinjin.me>
Sat, 23 Mar 2024 10:28:49 +0000 (18:28 +0800)
crates/electrum/tests/test_electrum.rs
crates/testenv/src/lib.rs

index 6d1c18966f7b138f12de44c09c70fc37a5e30d5f..0dc80ac619bc182645047592ef69426bdeddc211 100644 (file)
@@ -86,39 +86,6 @@ fn scan_detects_confirmed_tx() -> Result<()> {
     Ok(())
 }
 
-#[test]
-fn test_reorg_is_detected_in_electrsd() -> Result<()> {
-    let env = TestEnv::new()?;
-
-    // Mine some blocks.
-    env.mine_blocks(101, None)?;
-    env.wait_until_electrum_sees_block()?;
-    let height = env.bitcoind.client.get_block_count()?;
-    let blocks = (0..=height)
-        .map(|i| env.bitcoind.client.get_block_hash(i))
-        .collect::<Result<Vec<_>, _>>()?;
-
-    // Perform reorg on six blocks.
-    env.reorg(6)?;
-    env.wait_until_electrum_sees_block()?;
-    let reorged_height = env.bitcoind.client.get_block_count()?;
-    let reorged_blocks = (0..=height)
-        .map(|i| env.bitcoind.client.get_block_hash(i))
-        .collect::<Result<Vec<_>, _>>()?;
-
-    assert_eq!(height, reorged_height);
-
-    // Block hashes should not be equal on the six reorged blocks.
-    for (i, (block, reorged_block)) in blocks.iter().zip(reorged_blocks.iter()).enumerate() {
-        match i <= height as usize - 6 {
-            true => assert_eq!(block, reorged_block),
-            false => assert_ne!(block, reorged_block),
-        }
-    }
-
-    Ok(())
-}
-
 /// Ensure that confirmed txs that are reorged become unconfirmed.
 ///
 /// 1. Mine 101 blocks.
index fa940cd641593e4dca0d1f2bce2e79ff9325f48c..b836387c18937e5ffcf7b49b140c7e777f0ede6f 100644 (file)
@@ -235,3 +235,44 @@ impl TestEnv {
         Ok(txid)
     }
 }
+
+#[cfg(test)]
+mod test {
+    use crate::TestEnv;
+    use anyhow::Result;
+    use bitcoincore_rpc::RpcApi;
+
+    /// This checks that reorgs initiated by `bitcoind` is detected by our `electrsd` instance.
+    #[test]
+    fn test_reorg_is_detected_in_electrsd() -> Result<()> {
+        let env = TestEnv::new()?;
+
+        // Mine some blocks.
+        env.mine_blocks(101, None)?;
+        env.wait_until_electrum_sees_block()?;
+        let height = env.bitcoind.client.get_block_count()?;
+        let blocks = (0..=height)
+            .map(|i| env.bitcoind.client.get_block_hash(i))
+            .collect::<Result<Vec<_>, _>>()?;
+
+        // Perform reorg on six blocks.
+        env.reorg(6)?;
+        env.wait_until_electrum_sees_block()?;
+        let reorged_height = env.bitcoind.client.get_block_count()?;
+        let reorged_blocks = (0..=height)
+            .map(|i| env.bitcoind.client.get_block_hash(i))
+            .collect::<Result<Vec<_>, _>>()?;
+
+        assert_eq!(height, reorged_height);
+
+        // Block hashes should not be equal on the six reorged blocks.
+        for (i, (block, reorged_block)) in blocks.iter().zip(reorged_blocks.iter()).enumerate() {
+            match i <= height as usize - 6 {
+                true => assert_eq!(block, reorged_block),
+                false => assert_ne!(block, reorged_block),
+            }
+        }
+
+        Ok(())
+    }
+}