From 67989dba630f4d71a38cb03249ac1a9200233607 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 25 Jan 2025 21:27:42 +0200 Subject: [PATCH] implement local tests --- src/client/connection/request/gemini.rs | 15 +++++++++ src/client/connection/request/titan.rs | 28 +++++++++++++++++ tests/integration.rs | 42 ------------------------- 3 files changed, 43 insertions(+), 42 deletions(-) delete mode 100644 tests/integration.rs diff --git a/src/client/connection/request/gemini.rs b/src/client/connection/request/gemini.rs index 322d58b..0961713 100644 --- a/src/client/connection/request/gemini.rs +++ b/src/client/connection/request/gemini.rs @@ -13,3 +13,18 @@ impl Gemini { format!("{}\r\n", self.uri) } } + +#[test] +fn header() { + use super::{super::Request, Gemini}; + use glib::UriFlags; + + const REQUEST: &str = "gemini://geminiprotocol.net/"; + assert_eq!( + Request::Gemini(Gemini { + uri: Uri::parse(REQUEST, UriFlags::NONE).unwrap() + }) + .header(), + format!("{REQUEST}\r\n") + ); +} diff --git a/src/client/connection/request/titan.rs b/src/client/connection/request/titan.rs index c44b5f4..70b9376 100644 --- a/src/client/connection/request/titan.rs +++ b/src/client/connection/request/titan.rs @@ -31,3 +31,31 @@ impl Titan { header } } + +#[test] +fn header() { + use super::{super::Request, Titan}; + use glib::UriFlags; + + const DATA: &[u8] = &[1, 2, 3]; + const MIME: &str = "plain/text"; + const TOKEN: &str = "token"; + + assert_eq!( + Request::Titan(Titan { + uri: Uri::parse( + "titan://geminiprotocol.net/raw/path?key=value", + UriFlags::NONE + ) + .unwrap(), + data: Bytes::from(DATA), + mime: Some(MIME.to_string()), + token: Some(TOKEN.to_string()) + }) + .header(), + format!( + "titan://geminiprotocol.net/raw/path;size={};mime={MIME};token={TOKEN}?key=value\r\n", + DATA.len(), + ) + ); +} diff --git a/tests/integration.rs b/tests/integration.rs deleted file mode 100644 index 8205495..0000000 --- a/tests/integration.rs +++ /dev/null @@ -1,42 +0,0 @@ -use gio::*; -use glib::*; - -use ggemini::client::connection::Request; - -#[test] -fn client_connection_request_gemini() { - const REQUEST: &str = "gemini://geminiprotocol.net/"; - assert_eq!( - Request::Gemini(ggemini::client::connection::Gemini { - uri: Uri::parse(REQUEST, UriFlags::NONE).unwrap() - }) - .header(), - format!("{REQUEST}\r\n") - ); -} - -#[test] -fn client_connection_request_titan() { - const DATA: &[u8] = &[1, 2, 3]; - const MIME: &str = "plain/text"; - const TOKEN: &str = "token"; - assert_eq!( - Request::Titan(ggemini::client::connection::Titan { - uri: Uri::parse( - "titan://geminiprotocol.net/raw/Test?key=value", - UriFlags::NONE - ) - .unwrap(), - data: Bytes::from(DATA), - mime: Some(MIME.to_string()), - token: Some(TOKEN.to_string()) - }) - .header(), - format!( - "titan://geminiprotocol.net/raw/Test;size={};mime={MIME};token={TOKEN}?key=value\r\n", - DATA.len(), - ) - ); -} - -// @TODO