diff options
| author | Steven Fackler <[email protected]> | 2013-10-20 21:32:19 -0700 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2013-10-20 21:32:19 -0700 |
| commit | 4e54c159b69c3007ed83d9d44e68d8c83e61b504 (patch) | |
| tree | bd4adb1eda0faff7f929b3d5c5ac67b2e2674760 /test.rs | |
| parent | Support for loading a trusted CA file (diff) | |
| download | rust-openssl-4e54c159b69c3007ed83d9d44e68d8c83e61b504.tar.xz rust-openssl-4e54c159b69c3007ed83d9d44e68d8c83e61b504.zip | |
Remove folder indirection
Diffstat (limited to 'test.rs')
| -rw-r--r-- | test.rs | 63 |
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)); +} |