diff options
Diffstat (limited to 'src/rust/event_manager/mod.rs')
-rw-r--r-- | src/rust/event_manager/mod.rs | 202 |
1 files changed, 2 insertions, 200 deletions
diff --git a/src/rust/event_manager/mod.rs b/src/rust/event_manager/mod.rs index c8e5f65..90aaf67 100644 --- a/src/rust/event_manager/mod.rs +++ b/src/rust/event_manager/mod.rs @@ -712,203 +712,5 @@ impl EventManagerImpl { } } -use log::warn; -use std::collections::VecDeque; -use std::sync::Mutex; - -enum ExpectedCall { - DeviceStatus { out: Result<()> }, - CoreGenericError { out: Result<()> }, - SessionStatus { out: Result<()> }, - ShortRangeData { out: Result<()> }, - ExtendedRangeData { out: Result<()> }, - SessionUpdateControllerMulticastList { out: Result<()> }, - VendorUci { out: Result<()> }, -} - -#[derive(Default)] -pub struct MockEventManager { - expected_calls: Mutex<VecDeque<ExpectedCall>>, -} - -impl MockEventManager { - pub fn new() -> Self { - Default::default() - } - - #[allow(dead_code)] - pub fn expect_device_status_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::DeviceStatus { out }); - } - - #[allow(dead_code)] - pub fn expect_core_generic_error_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::CoreGenericError { out }); - } - - #[allow(dead_code)] - pub fn expect_session_status_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::SessionStatus { out }); - } - - #[allow(dead_code)] - pub fn expect_short_range_data_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::ShortRangeData { out }); - } - - #[allow(dead_code)] - pub fn expect_extended_range_data_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::ExtendedRangeData { out }); - } - - #[allow(dead_code)] - pub fn expect_session_update_controller_multicast_list_notification_received( - &mut self, - out: Result<()>, - ) { - self.add_expected_call(ExpectedCall::SessionUpdateControllerMulticastList { out }); - } - - #[allow(dead_code)] - pub fn expect_vendor_uci_notification_received(&mut self, out: Result<()>) { - self.add_expected_call(ExpectedCall::VendorUci { out }); - } - - fn add_expected_call(&mut self, call: ExpectedCall) { - self.expected_calls.lock().unwrap().push_back(call); - } - - fn unwrap_out(&self, out: Option<Result<()>>, method_name: &str) -> Result<()> { - out.unwrap_or_else(move || { - warn!("unpected {:?}() called", method_name); - Err(Error::JniCall(JniError::Unknown)) - }) - } -} - -impl Drop for MockEventManager { - fn drop(&mut self) { - assert!(self.expected_calls.lock().unwrap().is_empty()); - } -} -impl EventManager for MockEventManager { - fn device_status_notification_received(&self, _data: DeviceStatusNtfPacket) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::DeviceStatus { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "device_status_notification_received") - } - - fn core_generic_error_notification_received(&self, _data: GenericErrorPacket) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::CoreGenericError { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "core_generic_error_notification_received") - } - - fn session_status_notification_received(&self, _data: SessionStatusNtfPacket) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::SessionStatus { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "session_status_notification_received") - } - - fn short_range_data_notification_received( - &self, - _data: ShortMacTwoWayRangeDataNtfPacket, - ) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::ShortRangeData { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "short_range_data_notification_received") - } - fn extended_range_data_notification_received( - &self, - _data: ExtendedMacTwoWayRangeDataNtfPacket, - ) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::ExtendedRangeData { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "extended_range_data_notification_received") - } - - fn session_update_controller_multicast_list_notification_received( - &self, - _data: SessionUpdateControllerMulticastListNtfPacket, - ) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::SessionUpdateControllerMulticastList { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "session_update_controller_multicast_list_notification_received") - } - - fn vendor_uci_notification_received(&self, _data: UciNotificationPacket) -> Result<()> { - let out = { - let mut expected_calls = self.expected_calls.lock().unwrap(); - match expected_calls.pop_front() { - Some(ExpectedCall::VendorUci { out }) => Some(out), - Some(call) => { - expected_calls.push_front(call); - None - } - None => None, - } - }; - - self.unwrap_out(out, "vendor_uci_notification_received") - } -} +#[cfg(any(test, fuzzing))] +pub mod mock_event_manager; |