1mod client;
2mod page;
3mod error;
4
5pub use client::TxtsClient;
6pub use page::Page;
7pub use error::Error;
8
9#[cfg(test)]
10mod tests {
11 use url::Url;
12 use uuid::Uuid;
13
14 use super::*;
15 const HOST: &'static str = "http://localhost:8001/";
16
17 #[tokio::test]
18 async fn test_page_verified() -> Result<(), Error> {
19 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
20 let page = client.get("verifiedtest").await?;
21 assert_eq!(page.verified, true);
22 Ok(())
23 }
24
25 #[tokio::test]
26 async fn test_page_unverified() -> Result<(), Error> {
27 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
28 let page = client.get("test").await?;
29 assert_eq!(page.verified, false);
30 Ok(())
31 }
32
33 #[tokio::test]
34 async fn test_markdown_get() -> Result<(), Error> {
35 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
36 client.get_markdown("test").await?;
37 Ok(())
38 }
39
40 #[tokio::test]
41 async fn test_create_ok() -> Result<(), Error> {
42 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
43 client.create("test", "content").await?;
44 Ok(())
45 }
46
47 #[tokio::test]
48 async fn test_create_err() -> Result<(), Error> {
49 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
50 let resp = client.create("test", "content").await;
51 match resp {
52 Ok(_) => panic!(),
53 Err(e) => match e {
54 Error::TxtsError { .. } => Ok(()),
55 _ => panic!(),
56 },
57 }
58 }
59
60 #[tokio::test]
61 async fn test_edit_ok() -> Result<(), Error> {
62 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
63 let secret = Uuid::parse_str("35934ccc-d791-4c05-befd-5e92e91c9339").unwrap();
64 client.edit("test", &secret, "epic content").await?;
65 Ok(())
66 }
67
68 #[tokio::test]
69 async fn test_edit_err() -> Result<(), Error> {
70 let client = TxtsClient::new(Url::parse(HOST).unwrap())?;
71 let wrong_secret = Uuid::parse_str("ab6f8341-080f-4ef3-82b7-ec6a3c37a0f2").unwrap();
72 let resp = client.edit("test", &wrong_secret, "epic content").await;
73 match resp {
74 Ok(_) => panic!(),
75 Err(e) => match e {
76 Error::TxtsError { .. } => Ok(()),
77 _ => panic!(),
78 },
79 }
80 }
81}