From 6f1c63e9b8b451993e7f2ca3498849b4f2c1aab6 Mon Sep 17 00:00:00 2001 From: Kamran Khan Date: Wed, 9 Dec 2020 21:06:49 -0800 Subject: [PATCH] Add test cases to cover different length scenarios --- src/ctap/ctap1.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/ctap/ctap1.rs b/src/ctap/ctap1.rs index 4d18846..ff07c0a 100644 --- a/src/ctap/ctap1.rs +++ b/src/ctap/ctap1.rs @@ -586,10 +586,25 @@ mod test { let key_handle = ctap_state .encrypt_key_handle(sk, &application, None) .unwrap(); - let mut message = - create_authenticate_message(&application, Ctap1Flags::CheckOnly, &key_handle); + let mut message = create_authenticate_message( + &application, + Ctap1Flags::DontEnforceUpAndSign, + &key_handle, + ); - message.extend_from_slice(&[0x00, 0x00, 0x00, 0x00]); + message.push(0x00); + let response = Ctap1Command::process_command(&message, &mut ctap_state, START_CLOCK_VALUE); + assert!(response.is_ok()); + + message.push(0x00); + let response = Ctap1Command::process_command(&message, &mut ctap_state, START_CLOCK_VALUE); + assert!(response.is_ok()); + + message.push(0x00); + let response = Ctap1Command::process_command(&message, &mut ctap_state, START_CLOCK_VALUE); + assert!(response.is_ok()); + + message.push(0x00); let response = Ctap1Command::process_command(&message, &mut ctap_state, START_CLOCK_VALUE); assert_eq!(response, Err(Ctap1StatusCode::SW_WRONG_LENGTH)); }