|
1 | 1 | //! Unit tests for network module |
2 | 2 |
|
3 | | -#[cfg(test)] |
4 | | -mod peer_network_manager_tests { |
5 | | - use crate::client::ClientConfig; |
6 | | - use crate::network::manager::PeerNetworkManager; |
7 | | - use crate::network::NetworkManager; |
8 | | - use dashcore::Network; |
9 | | - use std::time::Duration; |
10 | | - use tempfile::TempDir; |
11 | | - |
12 | | - fn create_test_config() -> ClientConfig { |
13 | | - let temp_dir = TempDir::new().unwrap(); |
14 | | - ClientConfig { |
15 | | - network: Network::Regtest, |
16 | | - peers: vec!["127.0.0.1:19899".parse().unwrap()], |
17 | | - restrict_to_configured_peers: false, |
18 | | - storage_path: Some(temp_dir.path().to_path_buf()), |
19 | | - validation_mode: crate::types::ValidationMode::Basic, |
20 | | - filter_checkpoint_interval: 1000, |
21 | | - max_headers_per_message: 2000, |
22 | | - connection_timeout: Duration::from_secs(5), |
23 | | - message_timeout: Duration::from_secs(30), |
24 | | - sync_timeout: Duration::from_secs(60), |
25 | | - enable_filters: false, |
26 | | - enable_masternodes: false, |
27 | | - max_peers: 3, |
28 | | - enable_persistence: false, |
29 | | - log_level: "info".to_string(), |
30 | | - filter_request_delay_ms: 0, |
31 | | - max_concurrent_filter_requests: 50, |
32 | | - max_concurrent_cfheaders_requests_parallel: 50, |
33 | | - cfheaders_request_timeout_secs: 30, |
34 | | - max_cfheaders_retries: 3, |
35 | | - // Mempool fields |
36 | | - enable_mempool_tracking: false, |
37 | | - mempool_strategy: crate::client::config::MempoolStrategy::BloomFilter, |
38 | | - max_mempool_transactions: 1000, |
39 | | - mempool_timeout_secs: 3600, |
40 | | - fetch_mempool_transactions: true, |
41 | | - persist_mempool: false, |
42 | | - // Request control fields |
43 | | - max_concurrent_headers_requests: None, |
44 | | - max_concurrent_mnlist_requests: None, |
45 | | - max_concurrent_cfheaders_requests: None, |
46 | | - max_concurrent_block_requests: None, |
47 | | - headers_request_rate_limit: None, |
48 | | - mnlist_request_rate_limit: None, |
49 | | - cfheaders_request_rate_limit: None, |
50 | | - filters_request_rate_limit: None, |
51 | | - blocks_request_rate_limit: None, |
52 | | - start_from_height: None, |
53 | | - wallet_creation_time: None, |
54 | | - // QRInfo fields |
55 | | - qr_info_extra_share: true, |
56 | | - qr_info_timeout: Duration::from_secs(30), |
57 | | - user_agent: None, |
58 | | - } |
59 | | - } |
60 | | - |
61 | | - #[tokio::test] |
62 | | - async fn test_as_any_downcast() { |
63 | | - let config = create_test_config(); |
64 | | - let manager = PeerNetworkManager::new(&config).await.unwrap(); |
65 | | - |
66 | | - // Test that we can downcast through the trait |
67 | | - let network_manager: &dyn NetworkManager = &manager; |
68 | | - let downcasted = network_manager.as_any().downcast_ref::<PeerNetworkManager>(); |
69 | | - |
70 | | - assert!(downcasted.is_some()); |
71 | | - } |
72 | | -} |
73 | | - |
74 | 3 | #[cfg(test)] |
75 | 4 | mod peer_tests { |
76 | 5 | use crate::network::peer::Peer; |
|
0 commit comments