mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-09-06 04:36:32 +00:00
Add test for patch endpoint
This commit is contained in:
@ -457,7 +457,11 @@ async fn patch_webhook(
|
|||||||
|
|
||||||
analytics.publish(PatchWebhooksAnalytics::patch_webhook(), &req);
|
analytics.publish(PatchWebhooksAnalytics::patch_webhook(), &req);
|
||||||
|
|
||||||
Ok(HttpResponse::Ok().json(WebhookWithMetadata { uuid, is_editable: uuid != Uuid::nil(), webhook }))
|
Ok(HttpResponse::Ok().json(WebhookWithMetadata {
|
||||||
|
uuid,
|
||||||
|
is_editable: uuid != Uuid::nil(),
|
||||||
|
webhook,
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[utoipa::path(
|
#[utoipa::path(
|
||||||
|
@ -200,6 +200,11 @@ impl Server<Owned> {
|
|||||||
self.service.delete(url).await
|
self.service.delete(url).await
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn patch_webhook(&self, uuid: impl AsRef<str>, value: Value) -> (Value, StatusCode) {
|
||||||
|
let url = format!("/webhooks/{}", uuid.as_ref());
|
||||||
|
self.service.patch(url, value).await
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn get_metrics(&self) -> (Value, StatusCode) {
|
pub async fn get_metrics(&self) -> (Value, StatusCode) {
|
||||||
self.service.get("/metrics").await
|
self.service.get("/metrics").await
|
||||||
}
|
}
|
||||||
|
@ -329,3 +329,87 @@ async fn post_get_delete() {
|
|||||||
let (_value, code) = server.get_webhook(uuid).await;
|
let (_value, code) = server.get_webhook(uuid).await;
|
||||||
snapshot!(code, @"404 Not Found");
|
snapshot!(code, @"404 Not Found");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[actix_web::test]
|
||||||
|
async fn patch() {
|
||||||
|
let server = Server::new().await;
|
||||||
|
|
||||||
|
let uuid = Uuid::new_v4().to_string();
|
||||||
|
let (value, code) =
|
||||||
|
server.patch_webhook(&uuid, json!({ "headers": { "authorization": "TOKEN" } })).await;
|
||||||
|
snapshot!(code, @"400 Bad Request");
|
||||||
|
snapshot!(value, @r#"
|
||||||
|
{
|
||||||
|
"message": "The URL for the webhook `[uuid]` is missing.",
|
||||||
|
"code": "invalid_webhooks_url",
|
||||||
|
"type": "invalid_request",
|
||||||
|
"link": "https://docs.meilisearch.com/errors#invalid_webhooks_url"
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
|
||||||
|
let (value, code) =
|
||||||
|
server.patch_webhook(&uuid, json!({ "url": "https://example.com/hook" })).await;
|
||||||
|
snapshot!(code, @"200 OK");
|
||||||
|
snapshot!(json_string!(value, { ".uuid" => "[uuid]" }), @r#"
|
||||||
|
{
|
||||||
|
"uuid": "[uuid]",
|
||||||
|
"isEditable": true,
|
||||||
|
"url": "https://example.com/hook",
|
||||||
|
"headers": {}
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
|
||||||
|
let (value, code) =
|
||||||
|
server.patch_webhook(&uuid, json!({ "headers": { "authorization": "TOKEN" } })).await;
|
||||||
|
snapshot!(code, @"200 OK");
|
||||||
|
snapshot!(json_string!(value, { ".uuid" => "[uuid]" }), @r#"
|
||||||
|
{
|
||||||
|
"uuid": "[uuid]",
|
||||||
|
"isEditable": true,
|
||||||
|
"url": "https://example.com/hook",
|
||||||
|
"headers": {
|
||||||
|
"authorization": "TOKEN"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
|
||||||
|
let (value, code) =
|
||||||
|
server.patch_webhook(&uuid, json!({ "headers": { "authorization2": "TOKEN" } })).await;
|
||||||
|
snapshot!(code, @"200 OK");
|
||||||
|
snapshot!(json_string!(value, { ".uuid" => "[uuid]" }), @r#"
|
||||||
|
{
|
||||||
|
"uuid": "[uuid]",
|
||||||
|
"isEditable": true,
|
||||||
|
"url": "https://example.com/hook",
|
||||||
|
"headers": {
|
||||||
|
"authorization": "TOKEN",
|
||||||
|
"authorization2": "TOKEN"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
|
||||||
|
let (value, code) =
|
||||||
|
server.patch_webhook(&uuid, json!({ "headers": { "authorization": null } })).await;
|
||||||
|
snapshot!(code, @"200 OK");
|
||||||
|
snapshot!(json_string!(value, { ".uuid" => "[uuid]" }), @r#"
|
||||||
|
{
|
||||||
|
"uuid": "[uuid]",
|
||||||
|
"isEditable": true,
|
||||||
|
"url": "https://example.com/hook",
|
||||||
|
"headers": {
|
||||||
|
"authorization2": "TOKEN"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
|
||||||
|
let (value, code) = server.patch_webhook(&uuid, json!({ "url": null })).await;
|
||||||
|
snapshot!(code, @"400 Bad Request");
|
||||||
|
snapshot!(value, @r#"
|
||||||
|
{
|
||||||
|
"message": "The URL for the webhook `[uuid]` is missing.",
|
||||||
|
"code": "invalid_webhooks_url",
|
||||||
|
"type": "invalid_request",
|
||||||
|
"link": "https://docs.meilisearch.com/errors#invalid_webhooks_url"
|
||||||
|
}
|
||||||
|
"#);
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user