mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 07:56:28 +00:00 
			
		
		
		
	duplicate the post document tests with the put verb
This commit is contained in:
		| @@ -22,6 +22,7 @@ async fn add_documents_test_json_content_types() { | ||||
|         &server.service.options | ||||
|     )) | ||||
|     .await; | ||||
|     // post | ||||
|     let req = test::TestRequest::post() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
| @@ -33,6 +34,19 @@ async fn add_documents_test_json_content_types() { | ||||
|     let response: Value = serde_json::from_slice(&body).unwrap_or_default(); | ||||
|     assert_eq!(status_code, 202); | ||||
|     assert_eq!(response, json!({ "updateId": 0 })); | ||||
|  | ||||
|     // put | ||||
|     let req = test::TestRequest::put() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
|         .insert_header(("content-type", "application/json")) | ||||
|         .to_request(); | ||||
|     let res = test::call_service(&app, req).await; | ||||
|     let status_code = res.status(); | ||||
|     let body = test::read_body(res).await; | ||||
|     let response: Value = serde_json::from_slice(&body).unwrap_or_default(); | ||||
|     assert_eq!(status_code, 202); | ||||
|     assert_eq!(response, json!({ "updateId": 1 })); | ||||
| } | ||||
|  | ||||
| /// no content type is still supposed to be accepted as json | ||||
| @@ -52,6 +66,7 @@ async fn add_documents_test_no_content_types() { | ||||
|         &server.service.options | ||||
|     )) | ||||
|     .await; | ||||
|     // post | ||||
|     let req = test::TestRequest::post() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
| @@ -63,6 +78,19 @@ async fn add_documents_test_no_content_types() { | ||||
|     let response: Value = serde_json::from_slice(&body).unwrap_or_default(); | ||||
|     assert_eq!(status_code, 202); | ||||
|     assert_eq!(response, json!({ "updateId": 0 })); | ||||
|  | ||||
|     // put | ||||
|     let req = test::TestRequest::put() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
|         .insert_header(("content-type", "application/json")) | ||||
|         .to_request(); | ||||
|     let res = test::call_service(&app, req).await; | ||||
|     let status_code = res.status(); | ||||
|     let body = test::read_body(res).await; | ||||
|     let response: Value = serde_json::from_slice(&body).unwrap_or_default(); | ||||
|     assert_eq!(status_code, 202); | ||||
|     assert_eq!(response, json!({ "updateId": 1 })); | ||||
| } | ||||
|  | ||||
| /// any other content-type is must be refused | ||||
| @@ -82,6 +110,7 @@ async fn add_documents_test_bad_content_types() { | ||||
|         &server.service.options | ||||
|     )) | ||||
|     .await; | ||||
|     // post | ||||
|     let req = test::TestRequest::post() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
| @@ -98,6 +127,24 @@ async fn add_documents_test_bad_content_types() { | ||||
|             r#"The Content-Type "text/plain" is invalid. Accepted values for the Content-Type header are: "application/json", "application/x-ndjson", "application/csv""# | ||||
|         ) | ||||
|     ); | ||||
|  | ||||
|     // put | ||||
|     let req = test::TestRequest::put() | ||||
|         .uri("/indexes/dog/documents") | ||||
|         .set_payload(document.to_string()) | ||||
|         .insert_header(("content-type", "text/plain")) | ||||
|         .to_request(); | ||||
|     let res = test::call_service(&app, req).await; | ||||
|     let status_code = res.status(); | ||||
|     let body = test::read_body(res).await; | ||||
|     let response: Value = serde_json::from_slice(&body).unwrap_or_default(); | ||||
|     assert_eq!(status_code, 415); | ||||
|     assert_eq!( | ||||
|         response["message"], | ||||
|         json!( | ||||
|             r#"The Content-Type "text/plain" is invalid. Accepted values for the Content-Type header are: "application/json", "application/x-ndjson", "application/csv""# | ||||
|         ) | ||||
|     ); | ||||
| } | ||||
|  | ||||
| #[actix_rt::test] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user