diff options
| author | jakka <jakka@jakka.su> | 2025-09-03 18:39:49 +0300 |
|---|---|---|
| committer | jakka <jakka@jakka.su> | 2025-09-03 18:39:49 +0300 |
| commit | 15ce5bcc920c9d38bf11f881044f39a16c7827d7 (patch) | |
| tree | 0c211638cda23c3bf81bdfe15fdf78ac9af74e4e /src/lib.rs | |
| parent | 4fea2cd5da7eb7e710ad960d51b4d26d1e49f6e3 (diff) | |
started working on api impl
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..50e4c25 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,41 @@ +pub mod client; + +#[cfg(test)] +mod tests { + use serde_json::json; + + use crate::client::HydrusPermissions; + + use super::*; + + #[test] + fn correct_permissions_number() { + assert_eq!(HydrusPermissions::ImportAndEditURLs as u8, 0); + assert_eq!(HydrusPermissions::ImportAndEditFiles as u8, 1); + assert_eq!(HydrusPermissions::EditFileTags as u8, 2); + assert_eq!(HydrusPermissions::SearchAndFetchFiles as u8, 3); + assert_eq!(HydrusPermissions::ManagePages as u8, 4); + assert_eq!(HydrusPermissions::ManageCookiesAndHeaders as u8, 5); + assert_eq!(HydrusPermissions::ManageDatabase as u8, 6); + assert_eq!(HydrusPermissions::EditFileNotes as u8, 7); + assert_eq!(HydrusPermissions::EditFileRelationships as u8, 8); + assert_eq!(HydrusPermissions::EditFileRatings as u8, 9); + assert_eq!(HydrusPermissions::ManagePopups as u8, 10); + assert_eq!(HydrusPermissions::EditFileTimes as u8, 11); + assert_eq!(HydrusPermissions::CommitPending as u8, 12); + assert_eq!(HydrusPermissions::SeeLocalPaths as u8, 13); + } + + #[test] + fn correct_url_encode() { + let perms: [HydrusPermissions; 3] = [ + HydrusPermissions::ImportAndEditURLs, + HydrusPermissions::ImportAndEditFiles, + HydrusPermissions::SeeLocalPaths, + ]; + let json_string = serde_json::to_string(&json!(perms)).unwrap(); + let encoded = urlencoding::encode(&json_string); + + assert_eq!(encoded, "%5B0%2C1%2C13%5D") + } +} |
