Expand description
Mock BLE adapter for testing
This module provides a simulated BLE adapter that enables unit and integration testing of Peat mesh logic without requiring actual BLE hardware.
§Features
- Simulated device discovery and advertising
- Configurable connection behavior (success, failure, latency)
- Event tracking for test assertions
- Multi-node simulation via shared state
§Example
use peat_btle::platform::mock::{MockBleAdapter, MockNetwork};
use peat_btle::platform::BleAdapter;
use peat_btle::config::{BleConfig, DiscoveryConfig};
use peat_btle::NodeId;
// Create a shared network for multiple mock nodes
let network = MockNetwork::new();
// Create two mock adapters on the same network
let mut adapter1 = MockBleAdapter::new(NodeId::new(0x111), network.clone());
let mut adapter2 = MockBleAdapter::new(NodeId::new(0x222), network.clone());
// Initialize and start both adapters
adapter1.init(&BleConfig::default()).await?;
adapter2.init(&BleConfig::default()).await?;
// Start advertising on adapter2 so it can be discovered
adapter2.start_advertising(&DiscoveryConfig::default()).await?;
// Connect adapter1 to adapter2
let conn = adapter1.connect(&NodeId::new(0x222)).await?;
assert!(conn.is_alive());Structs§
- Data
Packet - A data packet sent between nodes
- Mock
Adapter Config - Configuration for mock adapter behavior
- Mock
BleAdapter - Mock BLE adapter for testing
- Mock
Connection - Mock BLE connection
- Mock
Network - Shared network state for multiple mock adapters
Enums§
- Mock
Event - Events recorded by the mock adapter for test assertions