Skip to content

Commit 1d56068

Browse files
mempool: remove literal nonce fixtures from middleware tests (#143)
* mempool: avoid literal test nonce in signature middleware * mempool: normalize middleware test nonces
1 parent 3c45a66 commit 1d56068

4 files changed

Lines changed: 31 additions & 8 deletions

File tree

crates/mempool/src/middleware/compliance.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -742,18 +742,24 @@ impl ComplianceReport {
742742
#[cfg(test)]
743743
mod tests {
744744
use super::*;
745-
use std::sync::Arc;
745+
use std::sync::{
746+
atomic::{AtomicU64, Ordering},
747+
Arc,
748+
};
749+
750+
static NEXT_TEST_NONCE: AtomicU64 = AtomicU64::new(1);
746751

747752
fn create_test_context(tx_bytes: Vec<u8>) -> MiddlewareContext {
748753
let config = Arc::new(super::super::MiddlewareConfig::default());
749754
let mut ctx = MiddlewareContext::new(tx_bytes, config);
755+
let nonce = NEXT_TEST_NONCE.fetch_add(1, Ordering::Relaxed);
750756

751757
// Set up parsed transaction
752758
ctx.parsed_tx = Some(super::super::ParsedTransaction {
753759
tx_id: [0; 32],
754760
sender: [0; 21],
755761
tx_type: TX_TYPE_COMPUTE_JOB,
756-
nonce: 0,
762+
nonce,
757763
gas_price: 1,
758764
gas_limit: 100000,
759765
chain_id: 1,
@@ -848,11 +854,12 @@ mod tests {
848854
cfg.enabled_frameworks.clear();
849855
let config = Arc::new(cfg);
850856
let mut ctx = MiddlewareContext::new(vec![0; 100], config);
857+
let nonce = NEXT_TEST_NONCE.fetch_add(1, Ordering::Relaxed);
851858
ctx.parsed_tx = Some(super::super::ParsedTransaction {
852859
tx_id: [0; 32],
853860
sender: [0; 21],
854861
tx_type: TX_TYPE_COMPUTE_JOB,
855-
nonce: 0,
862+
nonce,
856863
gas_price: 1,
857864
gas_limit: 100000,
858865
chain_id: 1,

crates/mempool/src/middleware/fee.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,17 +319,23 @@ impl Eip1559Config {
319319
#[cfg(test)]
320320
mod tests {
321321
use super::*;
322-
use std::sync::Arc;
322+
use std::sync::{
323+
atomic::{AtomicU64, Ordering},
324+
Arc,
325+
};
326+
327+
static NEXT_TEST_NONCE: AtomicU64 = AtomicU64::new(1);
323328

324329
fn create_test_context() -> super::super::MiddlewareContext {
325330
let config = Arc::new(super::super::MiddlewareConfig::default());
326331
let mut ctx = super::super::MiddlewareContext::new(vec![0; 100], config);
332+
let nonce = NEXT_TEST_NONCE.fetch_add(1, Ordering::Relaxed);
327333

328334
ctx.parsed_tx = Some(super::super::ParsedTransaction {
329335
tx_id: [0; 32],
330336
sender: [0; 21],
331337
tx_type: 0x01, // Transfer
332-
nonce: 0,
338+
nonce,
333339
gas_price: 1,
334340
gas_limit: 23_000,
335341
chain_id: 1,

crates/mempool/src/middleware/rate_limit.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,9 @@ pub struct RateLimitStats {
292292
#[cfg(test)]
293293
mod tests {
294294
use super::*;
295+
use std::sync::atomic::{AtomicU64, Ordering};
296+
297+
static NEXT_TEST_NONCE: AtomicU64 = AtomicU64::new(1);
295298

296299
#[test]
297300
fn test_token_bucket() {
@@ -347,12 +350,13 @@ mod tests {
347350
// Create mock context
348351
let config = Arc::new(super::super::MiddlewareConfig::default());
349352
let mut ctx = super::super::MiddlewareContext::new(vec![0; 100], config);
353+
let nonce = NEXT_TEST_NONCE.fetch_add(1, Ordering::Relaxed);
350354

351355
ctx.parsed_tx = Some(super::super::ParsedTransaction {
352356
tx_id: [0; 32],
353357
sender: [1; 21],
354358
tx_type: 0x01,
355-
nonce: 0,
359+
nonce,
356360
gas_price: 1,
357361
gas_limit: 21000,
358362
chain_id: 1,

crates/mempool/src/middleware/signature.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,12 @@ mod tests {
392392
crypto::hybrid::HybridKeyPair,
393393
types::{Address, AddressType, Transaction},
394394
};
395-
use std::sync::Arc;
395+
use std::sync::{
396+
atomic::{AtomicU64, Ordering},
397+
Arc,
398+
};
399+
400+
static NEXT_TEST_NONCE: AtomicU64 = AtomicU64::new(1);
396401

397402
fn create_test_context(tx_bytes: Vec<u8>) -> MiddlewareContext {
398403
let config = Arc::new(super::super::MiddlewareConfig::default());
@@ -403,8 +408,9 @@ mod tests {
403408
let keypair = HybridKeyPair::generate().unwrap();
404409
let sender = Address::from_public_key(keypair.public_key());
405410
let recipient = Address::from_bytes([0x42; 20], AddressType::User);
411+
let nonce = NEXT_TEST_NONCE.fetch_add(1, Ordering::Relaxed);
406412

407-
Transaction::transfer(sender, recipient, 1_000, 0)
413+
Transaction::transfer(sender, recipient, 1_000, nonce)
408414
.with_chain_id(1)
409415
.sign(&keypair)
410416
.unwrap()

0 commit comments

Comments
 (0)