mod common;
use crate::common::{Device, Reader};
#[test]
pub fn simulated_device_and_reader_interaction() {
let key: p256::ecdsa::SigningKey =
p256::SecretKey::from_sec1_pem(include_str!("data/sec1.pem"))
.unwrap()
.into();
let (engaged_state, qr_code_uri) = Device::initialise_session().unwrap();
let (mut reader_session_manager, request) =
Device::establish_reader_session(qr_code_uri).unwrap();
let (device_session_manager, validated_request) =
Device::handle_request(engaged_state, request, Default::default()).unwrap();
let response = Device::create_response(
device_session_manager,
&validated_request.items_request,
&key,
)
.unwrap();
Reader::reader_handle_device_response(&mut reader_session_manager, response).unwrap();
}