1 use super::*;
2 
3 use std::io::{BufReader, BufWriter};
4 
5 #[test]
test_change_cipher_spec_round_trip() -> Result<()>6 fn test_change_cipher_spec_round_trip() -> Result<()> {
7     let c = ChangeCipherSpec {};
8     let mut raw = vec![];
9     {
10         let mut writer = BufWriter::<&mut Vec<u8>>::new(raw.as_mut());
11         c.marshal(&mut writer)?;
12     }
13 
14     let mut reader = BufReader::new(raw.as_slice());
15     let cnew = ChangeCipherSpec::unmarshal(&mut reader)?;
16     assert_eq!(
17         c, cnew,
18         "ChangeCipherSpec round trip: got {cnew:?}, want {c:?}"
19     );
20 
21     Ok(())
22 }
23 
24 #[test]
test_change_cipher_spec_invalid() -> Result<()>25 fn test_change_cipher_spec_invalid() -> Result<()> {
26     let data = vec![0x00];
27 
28     let mut reader = BufReader::new(data.as_slice());
29     let result = ChangeCipherSpec::unmarshal(&mut reader);
30 
31     match result {
32         Ok(_) => panic!("must be error"),
33         Err(err) => assert_eq!(err.to_string(), Error::ErrInvalidCipherSpec.to_string()),
34     };
35 
36     Ok(())
37 }
38