use crate::{client::Client, errors::Error, request::*, task_info::TaskInfo};
impl Client {
pub async fn create_dump(&self) -> Result<TaskInfo, Error> {
request::<(), (), TaskInfo>(
&format!("{}/dumps", self.host),
&self.api_key,
Method::Post {
query: (),
body: (),
},
202,
)
.await
}
}
pub async fn create_dump(client: &Client) -> Result<TaskInfo, Error> {
client.create_dump().await
}
#[cfg(test)]
mod tests {
use super::*;
use crate::{client::*, tasks::*};
use meilisearch_test_macro::meilisearch_test;
use std::time::Duration;
#[meilisearch_test]
async fn test_dumps_success_creation(client: Client) -> Result<(), Error> {
let task = client
.create_dump()
.await?
.wait_for_completion(
&client,
Some(Duration::from_millis(1)),
Some(Duration::from_millis(6000)),
)
.await?;
assert!(matches!(task, Task::Succeeded { .. }));
Ok(())
}
#[meilisearch_test]
async fn test_dumps_correct_update_type(client: Client) -> Result<(), Error> {
let task_info = client.create_dump().await.unwrap();
assert!(matches!(
task_info,
TaskInfo {
update_type: TaskType::DumpCreation { .. },
..
}
));
Ok(())
}
}