1 use super::*;
2 
3 use std::io::{BufReader, BufWriter};
4 
5 #[test]
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 {:?}, want {:?}",
19         cnew, c
20     );
21 
22     Ok(())
23 }
24 
25 #[test]
26 fn test_change_cipher_spec_invalid() -> Result<()> {
27     let data = vec![0x00];
28 
29     let mut reader = BufReader::new(data.as_slice());
30     let result = ChangeCipherSpec::unmarshal(&mut reader);
31 
32     match result {
33         Ok(_) => panic!("must be error"),
34         Err(err) => assert_eq!(err.to_string(), Error::ErrInvalidCipherSpec.to_string()),
35     };
36 
37     Ok(())
38 }
39