aboutsummaryrefslogtreecommitdiff
path: root/test.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2013-10-20 21:32:19 -0700
committerSteven Fackler <[email protected]>2013-10-20 21:32:19 -0700
commit4e54c159b69c3007ed83d9d44e68d8c83e61b504 (patch)
treebd4adb1eda0faff7f929b3d5c5ac67b2e2674760 /test.rs
parentSupport for loading a trusted CA file (diff)
downloadrust-openssl-4e54c159b69c3007ed83d9d44e68d8c83e61b504.tar.xz
rust-openssl-4e54c159b69c3007ed83d9d44e68d8c83e61b504.zip
Remove folder indirection
Diffstat (limited to 'test.rs')
-rw-r--r--test.rs63
1 files changed, 63 insertions, 0 deletions
diff --git a/test.rs b/test.rs
new file mode 100644
index 00000000..557f6dec
--- /dev/null
+++ b/test.rs
@@ -0,0 +1,63 @@
+extern mod ssl;
+
+use std::rt::io::Writer;
+use std::rt::io::extensions::ReaderUtil;
+use std::rt::io::net::tcp::TcpStream;
+use std::str;
+
+use ssl::{Sslv23, SslCtx, SslStream, SslVerifyPeer};
+
+#[test]
+fn test_new_ctx() {
+ SslCtx::new(Sslv23);
+}
+
+#[test]
+fn test_new_sslstream() {
+ let stream = TcpStream::connect(FromStr::from_str("127.0.0.1:15418").unwrap()).unwrap();
+ SslStream::new(SslCtx::new(Sslv23), stream).unwrap();
+}
+
+#[test]
+fn test_verify_untrusted() {
+ let stream = TcpStream::connect(FromStr::from_str("127.0.0.1:15418").unwrap()).unwrap();
+ let mut ctx = SslCtx::new(Sslv23);
+ ctx.set_verify(SslVerifyPeer);
+ match SslStream::new(ctx, stream) {
+ Ok(_) => fail2!("expected failure"),
+ Err(err) => println!("error {}", err)
+ }
+}
+
+#[test]
+fn test_verify_trusted() {
+ let stream = TcpStream::connect(FromStr::from_str("127.0.0.1:15418").unwrap()).unwrap();
+ let mut ctx = SslCtx::new(Sslv23);
+ ctx.set_verify(SslVerifyPeer);
+ ctx.set_verify_locations("cert.pem");
+ match SslStream::new(ctx, stream) {
+ Ok(_) => (),
+ Err(err) => fail2!("Expected success, got {:?}", err)
+ }
+}
+
+#[test]
+fn test_write() {
+ let stream = TcpStream::connect(FromStr::from_str("127.0.0.1:15418").unwrap()).unwrap();
+ let mut stream = SslStream::new(SslCtx::new(Sslv23), stream).unwrap();
+ stream.write("hello".as_bytes());
+ stream.flush();
+ stream.write(" there".as_bytes());
+ stream.flush();
+ stream.shutdown();
+}
+
+#[test]
+fn test_read() {
+ let stream = TcpStream::connect(FromStr::from_str("127.0.0.1:15418").unwrap()).unwrap();
+ let mut stream = SslStream::new(SslCtx::new(Sslv23), stream).unwrap();
+ stream.write("GET /\r\n\r\n".as_bytes());
+ stream.flush();
+ let buf = stream.read_to_end();
+ print!("{}", str::from_utf8(buf));
+}