blob: 1c73f466d7d3720b75de685d83e04ae739a49fcf [file] [log] [blame] [edit]
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! Unit tests
use crate::cbor::AsCborValue;
use alloc::vec;
#[test]
fn test_init_req_round_trip() {
let want = crate::InitRequest {
peer_pub_key: vec![1, 2, 3],
peer_id: vec![2, 3, 4],
peer_nonce: vec![4, 5, 6],
peer_version: 1,
};
let data = want.clone().into_vec().unwrap();
let got = crate::InitRequest::from_slice(&data).unwrap();
assert_eq!(got, want);
}
#[test]
fn test_init_rsp_round_trip() {
let want = crate::PerformOpResponse {
error_code: crate::ErrorCode::Ok,
rsp: Some(crate::PerformOpRsp::Init(crate::InitResponse {
ret: crate::KeInitResult {
session_init_info: crate::SessionInitiationInfo {
ke_key: crate::Key {
pub_key: Some(vec![10, 11]),
arc_from_pbk: Some(vec![12, 13]),
},
identity: vec![9],
nonce: vec![8, 7, 6],
version: 1,
},
session_info: crate::SessionInfo {
shared_keys: [vec![1], vec![2]],
session_id: vec![3, 4, 5],
session_id_signature: vec![5, 6, 7],
},
},
})),
};
let data = want.clone().into_vec().unwrap();
let got = crate::PerformOpResponse::from_slice(&data).unwrap();
assert_eq!(got, want);
}