xref: /aosp_15_r20/system/authgraph/wire/src/tests.rs (revision 4185b0660fbe514985fdcf75410317caad8afad1)
1*4185b066SAndroid Build Coastguard Worker // Copyright 2023 Google LLC
2*4185b066SAndroid Build Coastguard Worker //
3*4185b066SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
4*4185b066SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
5*4185b066SAndroid Build Coastguard Worker // You may obtain a copy of the License at
6*4185b066SAndroid Build Coastguard Worker //
7*4185b066SAndroid Build Coastguard Worker //      http://www.apache.org/licenses/LICENSE-2.0
8*4185b066SAndroid Build Coastguard Worker //
9*4185b066SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*4185b066SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
11*4185b066SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*4185b066SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
13*4185b066SAndroid Build Coastguard Worker // limitations under the License.
14*4185b066SAndroid Build Coastguard Worker 
15*4185b066SAndroid Build Coastguard Worker //! Unit tests
16*4185b066SAndroid Build Coastguard Worker 
17*4185b066SAndroid Build Coastguard Worker use crate::cbor::AsCborValue;
18*4185b066SAndroid Build Coastguard Worker use alloc::vec;
19*4185b066SAndroid Build Coastguard Worker 
20*4185b066SAndroid Build Coastguard Worker #[test]
test_init_req_round_trip()21*4185b066SAndroid Build Coastguard Worker fn test_init_req_round_trip() {
22*4185b066SAndroid Build Coastguard Worker     let want = crate::InitRequest {
23*4185b066SAndroid Build Coastguard Worker         peer_pub_key: vec![1, 2, 3],
24*4185b066SAndroid Build Coastguard Worker         peer_id: vec![2, 3, 4],
25*4185b066SAndroid Build Coastguard Worker         peer_nonce: vec![4, 5, 6],
26*4185b066SAndroid Build Coastguard Worker         peer_version: 1,
27*4185b066SAndroid Build Coastguard Worker     };
28*4185b066SAndroid Build Coastguard Worker     let data = want.clone().into_vec().unwrap();
29*4185b066SAndroid Build Coastguard Worker     let got = crate::InitRequest::from_slice(&data).unwrap();
30*4185b066SAndroid Build Coastguard Worker     assert_eq!(got, want);
31*4185b066SAndroid Build Coastguard Worker }
32*4185b066SAndroid Build Coastguard Worker 
33*4185b066SAndroid Build Coastguard Worker #[test]
test_init_rsp_round_trip()34*4185b066SAndroid Build Coastguard Worker fn test_init_rsp_round_trip() {
35*4185b066SAndroid Build Coastguard Worker     let want = crate::PerformOpResponse {
36*4185b066SAndroid Build Coastguard Worker         error_code: crate::ErrorCode::Ok,
37*4185b066SAndroid Build Coastguard Worker         rsp: Some(crate::PerformOpRsp::Init(crate::InitResponse {
38*4185b066SAndroid Build Coastguard Worker             ret: crate::KeInitResult {
39*4185b066SAndroid Build Coastguard Worker                 session_init_info: crate::SessionInitiationInfo {
40*4185b066SAndroid Build Coastguard Worker                     ke_key: crate::Key {
41*4185b066SAndroid Build Coastguard Worker                         pub_key: Some(vec![10, 11]),
42*4185b066SAndroid Build Coastguard Worker                         arc_from_pbk: Some(vec![12, 13]),
43*4185b066SAndroid Build Coastguard Worker                     },
44*4185b066SAndroid Build Coastguard Worker                     identity: vec![9],
45*4185b066SAndroid Build Coastguard Worker                     nonce: vec![8, 7, 6],
46*4185b066SAndroid Build Coastguard Worker                     version: 1,
47*4185b066SAndroid Build Coastguard Worker                 },
48*4185b066SAndroid Build Coastguard Worker                 session_info: crate::SessionInfo {
49*4185b066SAndroid Build Coastguard Worker                     shared_keys: [vec![1], vec![2]],
50*4185b066SAndroid Build Coastguard Worker                     session_id: vec![3, 4, 5],
51*4185b066SAndroid Build Coastguard Worker                     session_id_signature: vec![5, 6, 7],
52*4185b066SAndroid Build Coastguard Worker                 },
53*4185b066SAndroid Build Coastguard Worker             },
54*4185b066SAndroid Build Coastguard Worker         })),
55*4185b066SAndroid Build Coastguard Worker     };
56*4185b066SAndroid Build Coastguard Worker     let data = want.clone().into_vec().unwrap();
57*4185b066SAndroid Build Coastguard Worker     let got = crate::PerformOpResponse::from_slice(&data).unwrap();
58*4185b066SAndroid Build Coastguard Worker     assert_eq!(got, want);
59*4185b066SAndroid Build Coastguard Worker }
60