From 564c912fd9b4249ddad91a8efe6142518315dcdf Mon Sep 17 00:00:00 2001 From: lephyrius Date: Fri, 10 Nov 2023 08:56:25 +0100 Subject: [PATCH] Added some async tests. --- Cargo.toml | 1 + src/apicalypse_builder.rs | 2 +- src/client.rs | 39 +++++++++++++++++++++++++-------------- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 036653a..ecf018d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ heck = "0.5.0-rc.1" [dev-dependencies] mockito = "1" +tokio = {version = "1", features = ["full"]} [build-dependencies] prost-build = "0.12.1" diff --git a/src/apicalypse_builder.rs b/src/apicalypse_builder.rs index ad9d5d5..e859246 100644 --- a/src/apicalypse_builder.rs +++ b/src/apicalypse_builder.rs @@ -1,4 +1,4 @@ -#[derive(Default)] +#[derive(Default, Clone)] pub struct ApicalypseBuilder { filter: String, limit: usize, diff --git a/src/client.rs b/src/client.rs index fce7933..5aa186f 100644 --- a/src/client.rs +++ b/src/client.rs @@ -93,10 +93,13 @@ impl Client { /// This is the raw version of the request method. /// It allows you to pass a query string directly. /// ``` - /// use igdb_api_rust::client::Client; - /// let mut client = Client::new("test","test"); - /// let query = "fields name; limit 5;"; - /// let response = client.request_raw::(query); + /// #[tokio::main] + /// async fn main() { + /// use igdb_api_rust::client::Client; + /// let mut client = Client::new("test","test"); + /// let query = "fields name; limit 5;"; + /// let response = client.request_raw::(query).await; + /// } /// ``` pub async fn request_raw( &mut self, @@ -107,15 +110,20 @@ impl Client { /// Request the IGDB API for a protobuf response for the count endpoint. /// ``` - /// use igdb_api_rust::apicalypse_builder::ApicalypseBuilder; - /// use igdb_api_rust::client::Client; - /// let mut client = Client::new("test","test"); - /// let query = ApicalypseBuilder::default().filter("id > 1337"); - /// let response = client.request_count::(query); + ///#[tokio::main] + /// async fn main() { + /// use igdb_api_rust::apicalypse_builder::ApicalypseBuilder; + /// use igdb_api_rust::client::Client; + /// let mut client = Client::new("test","test"); + /// let query = ApicalypseBuilder::default().filter("id > 1337").clone(); + /// let response = client.request_count::(&query).await; + /// println!("{:?}", response); + /// + /// } /// ``` pub async fn request_count( &mut self, - query: &'static ApicalypseBuilder, + query: & ApicalypseBuilder, ) -> Result { let query_string = query.to_query(); self.request_count_raw::(query_string.as_str()).await @@ -125,10 +133,13 @@ impl Client { /// This is the raw version of the request_count method. /// It allows you to pass a query string directly. /// ``` - /// use igdb_api_rust::client::Client; - /// let mut client = Client::new("test","test"); - /// let query = "w id > 1337"; - /// let response = client.request_count_raw::(query); + /// #[tokio::main] + /// async fn main() { + /// use igdb_api_rust::client::Client; + /// let mut client = Client::new("test","test"); + /// let query = "w id > 1337"; + /// let response = client.request_count_raw::(query).await; + /// } /// ``` pub async fn request_count_raw( &mut self,