From b6df8c623046e6bd9d9d8d6b4a84acb858c13fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20VERET?= Date: Wed, 23 Nov 2022 12:06:37 +0100 Subject: [PATCH] test: add tests for scootaloo alt services + regexp --- src/config.rs | 2 ++ tests/config.rs | 29 +++++++++++++++++++++++ tests/no_show_url_as_display_url_for.toml | 19 +++++++++++++++ tests/no_test_alt_services.toml | 19 +++++++++++++++ tests/show_url_as_display_url_for.toml | 20 ++++++++++++++++ tests/test_alt_services.toml | 22 +++++++++++++++++ 6 files changed, 111 insertions(+) create mode 100644 tests/no_show_url_as_display_url_for.toml create mode 100644 tests/no_test_alt_services.toml create mode 100644 tests/show_url_as_display_url_for.toml create mode 100644 tests/test_alt_services.toml diff --git a/src/config.rs b/src/config.rs index b8aaaa0..ba62d91 100644 --- a/src/config.rs +++ b/src/config.rs @@ -36,6 +36,8 @@ pub struct ScootalooConfig { pub db_path: String, pub cache_path: String, pub rate_limit: Option, + pub show_url_as_display_url_for: Option, + pub alternative_services_for: Option>, } /// Parses the TOML file into a Config Struct diff --git a/tests/config.rs b/tests/config.rs index 81a63d9..e24323b 100644 --- a/tests/config.rs +++ b/tests/config.rs @@ -1,4 +1,33 @@ use scootaloo::parse_toml; +use std::collections::HashMap; + +#[test] +fn test_alt_services() { + let toml = parse_toml("tests/no_test_alt_services.toml"); + assert_eq!(toml.scootaloo.alternative_services_for, None); + + let toml = parse_toml("tests/test_alt_services.toml"); + assert_eq!( + toml.scootaloo.alternative_services_for, + Some(HashMap::from([ + ("tamere.lol".to_string(), "tonpere.mdr".to_string()), + ("you.pi".to_string(), "you.pla".to_string()) + ])) + ); +} + +#[test] +fn test_re_display() { + let toml = parse_toml("tests/no_show_url_as_display_url_for.toml"); + assert_eq!(toml.scootaloo.show_url_as_display_url_for, None); + + let toml = parse_toml("tests/show_url_as_display_url_for.toml"); + + assert_eq!( + toml.scootaloo.show_url_as_display_url_for, + Some("^(.+)\\.es$".to_string()) + ); +} #[test] fn test_page_size() { diff --git a/tests/no_show_url_as_display_url_for.toml b/tests/no_show_url_as_display_url_for.toml new file mode 100644 index 0000000..443dac7 --- /dev/null +++ b/tests/no_show_url_as_display_url_for.toml @@ -0,0 +1,19 @@ +[scootaloo] + +db_path="/var/random/scootaloo.sqlite" +cache_path="/tmp/scootaloo" + +[twitter] +consumer_key="rand consumer key" +consumer_secret="secret" +access_key="rand access key" +access_secret="super secret" + +[mastodon] +[mastodon.tamerelol] +twitter_screen_name="tamerelol" +base = "https://m.nintendojo.fr" +client_id = "rand client id" +client_secret = "secret" +redirect = "urn:ietf:wg:oauth:2.0:oob" +token = "super secret" diff --git a/tests/no_test_alt_services.toml b/tests/no_test_alt_services.toml new file mode 100644 index 0000000..443dac7 --- /dev/null +++ b/tests/no_test_alt_services.toml @@ -0,0 +1,19 @@ +[scootaloo] + +db_path="/var/random/scootaloo.sqlite" +cache_path="/tmp/scootaloo" + +[twitter] +consumer_key="rand consumer key" +consumer_secret="secret" +access_key="rand access key" +access_secret="super secret" + +[mastodon] +[mastodon.tamerelol] +twitter_screen_name="tamerelol" +base = "https://m.nintendojo.fr" +client_id = "rand client id" +client_secret = "secret" +redirect = "urn:ietf:wg:oauth:2.0:oob" +token = "super secret" diff --git a/tests/show_url_as_display_url_for.toml b/tests/show_url_as_display_url_for.toml new file mode 100644 index 0000000..32f742c --- /dev/null +++ b/tests/show_url_as_display_url_for.toml @@ -0,0 +1,20 @@ +[scootaloo] + +db_path="/var/random/scootaloo.sqlite" +cache_path="/tmp/scootaloo" +show_url_as_display_url_for = "^(.+)\\.es$" + +[twitter] +consumer_key="rand consumer key" +consumer_secret="secret" +access_key="rand access key" +access_secret="super secret" + +[mastodon] +[mastodon.tamerelol] +twitter_screen_name="tamerelol" +base = "https://m.nintendojo.fr" +client_id = "rand client id" +client_secret = "secret" +redirect = "urn:ietf:wg:oauth:2.0:oob" +token = "super secret" diff --git a/tests/test_alt_services.toml b/tests/test_alt_services.toml new file mode 100644 index 0000000..d782d89 --- /dev/null +++ b/tests/test_alt_services.toml @@ -0,0 +1,22 @@ +[scootaloo] + +db_path="/var/random/scootaloo.sqlite" +cache_path="/tmp/scootaloo" +[scootaloo.alternative_services_for] +"tamere.lol" = "tonpere.mdr" +"you.pi" = "you.pla" + +[twitter] +consumer_key="rand consumer key" +consumer_secret="secret" +access_key="rand access key" +access_secret="super secret" + +[mastodon] +[mastodon.tamerelol] +twitter_screen_name="tamerelol" +base = "https://m.nintendojo.fr" +client_id = "rand client id" +client_secret = "secret" +redirect = "urn:ietf:wg:oauth:2.0:oob" +token = "super secret"