aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/ssl/tests/mod.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-01-05 12:56:14 -0800
committerGitHub <[email protected]>2017-01-05 12:56:14 -0800
commit58c468803160f6f0d78c80c846dbf4622bb43df9 (patch)
tree20205314f7c3ce878a76b41e794e818caaa5e5c2 /openssl/src/ssl/tests/mod.rs
parentRelease v0.9.5 (diff)
parentFix time type (diff)
downloadrust-openssl-58c468803160f6f0d78c80c846dbf4622bb43df9.tar.xz
rust-openssl-58c468803160f6f0d78c80c846dbf4622bb43df9.zip
Merge pull request #549 from sfackler/ssl-session
Ssl session
Diffstat (limited to 'openssl/src/ssl/tests/mod.rs')
-rw-r--r--openssl/src/ssl/tests/mod.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/openssl/src/ssl/tests/mod.rs b/openssl/src/ssl/tests/mod.rs
index e685d658..14bb2f71 100644
--- a/openssl/src/ssl/tests/mod.rs
+++ b/openssl/src/ssl/tests/mod.rs
@@ -1372,6 +1372,30 @@ fn tmp_ecdh_callback_ssl() {
assert!(CALLED_BACK.load(Ordering::SeqCst));
}
+#[test]
+fn idle_session() {
+ let ctx = SslContext::builder(SslMethod::tls()).unwrap().build();
+ let ssl = Ssl::new(&ctx).unwrap();
+ assert!(ssl.session().is_none());
+}
+
+#[test]
+fn active_session() {
+ let connector = SslConnectorBuilder::new(SslMethod::tls()).unwrap().build();
+
+ let s = TcpStream::connect("google.com:443").unwrap();
+ let socket = connector.connect("google.com", s).unwrap();
+ let session = socket.ssl().session().unwrap();
+ let len = session.master_key_len();
+ let mut buf = vec![0; len - 1];
+ let copied = session.master_key(&mut buf);
+ assert_eq!(copied, buf.len());
+ let mut buf = vec![0; len + 1];
+ let copied = session.master_key(&mut buf);
+ assert_eq!(copied, len);
+
+}
+
fn _check_kinds() {
fn is_send<T: Send>() {}
fn is_sync<T: Sync>() {}