async-stream-tls-upgrader 0.1.10

Asynchronous stream tls upgrader.
Documentation
#[cfg(feature = "unionable_client")]
#[cfg(test)]
mod unionable_client_tests {
    #[allow(unused_imports)]
    use async_stream_tls_upgrader::UnionableTlsClientUpgrader;
}

#[cfg(feature = "async_tls_client")]
#[cfg(test)]
mod unionable_client_with_async_tls_client_tests {
    use std::io;

    use async_stream_packed::Upgrader;
    use futures_lite::future::block_on;
    use futures_lite::io::Cursor;

    use async_stream_tls_upgrader::{AsyncTlsClientTlsUpgrader, UnionableTlsClientUpgrader};

    #[test]
    fn upgrade() -> io::Result<()> {
        block_on(async {
            let cursor = Cursor::new(b"".to_vec());

            let mut upgrader = UnionableTlsClientUpgrader::AsyncTls(
                AsyncTlsClientTlsUpgrader::new(Default::default(), "foo.example.com".to_owned()),
            );

            let err = upgrader.upgrade(cursor).await.err().unwrap();

            assert_eq!(err.kind(), io::ErrorKind::UnexpectedEof);
            assert_eq!(err.to_string(), "tls handshake eof");

            Ok(())
        })
    }
}

#[cfg(feature = "async_native_tls_client")]
#[cfg(test)]
mod unionable_client_with_async_native_tls_client_tests {
    use std::io;

    use async_stream_packed::Upgrader;
    use futures_lite::future::block_on;
    use futures_lite::io::Cursor;

    use async_stream_tls_upgrader::{AsyncNativeTlsClientTlsUpgrader, UnionableTlsClientUpgrader};

    #[test]
    fn upgrade() -> io::Result<()> {
        block_on(async {
            let cursor = Cursor::new(b"".to_vec());

            let mut upgrader =
                UnionableTlsClientUpgrader::AsyncNativeTls(AsyncNativeTlsClientTlsUpgrader::new(
                    Default::default(),
                    "foo.example.com".to_owned(),
                ));

            let err = upgrader.upgrade(cursor).await.err().unwrap();

            assert_eq!(err.kind(), io::ErrorKind::Other);
            assert_eq!(err.to_string(), "unexpected EOF");

            Ok(())
        })
    }
}