rustls 0.15.0

Rustls is a modern TLS library written in Rust.
Documentation
use super::persist::*;
use super::handshake::*;
use super::enums::*;
use super::codec::{Reader, Codec};
use webpki::DNSNameRef;

#[test]
fn clientsessionkey_is_debug() {
    let name = DNSNameRef::try_from_ascii_str("hello").unwrap();
    let csk = ClientSessionKey::session_for_dns_name(name);
    println!("{:?}", csk);
}

#[test]
fn clientsessionkey_cannot_be_read() {
    let bytes = [0; 1];
    let mut rd = Reader::init(&bytes);
    assert!(ClientSessionKey::read(&mut rd).is_none());
}

#[test]
fn clientsessionvalue_is_debug() {
    let csv = ClientSessionValue::new(ProtocolVersion::TLSv1_2,
                                      CipherSuite::TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                                      &SessionID::new(&[1u8]),
                                      vec![],
                                      vec![1, 2, 3]);
    println!("{:?}", csv);
}

#[test]
fn serversessionvalue_is_debug() {
    let ssv = ServerSessionValue::new(None,
                                      ProtocolVersion::TLSv1_2,
                                      CipherSuite::TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                                      vec![1, 2, 3],
                                      &None,
                                      None);
    println!("{:?}", ssv);
}

#[test]
fn serversessionvalue_no_sni() {
    let bytes = [
        0x00,
        0x03, 0x03,
        0xc0, 0x23,
        0x03, 0x01, 0x02, 0x03,
        0x00, 0x00, 0x00,
    ];
    let mut rd = Reader::init(&bytes);
    let ssv = ServerSessionValue::read(&mut rd).unwrap();
    assert_eq!(ssv.get_encoding(), bytes);
}

#[test]
fn serversessionvalue_with_cert() {
    let bytes = [
        0x00,
        0x03, 0x03,
        0xc0, 0x23,
        0x03, 0x01, 0x02, 0x03,
        0x00,
        0x00, 0x00,
    ];
    let mut rd = Reader::init(&bytes);
    let ssv = ServerSessionValue::read(&mut rd).unwrap();
    assert_eq!(ssv.get_encoding(), bytes);
}