Merge pull request #936 from mitch292/(fix)issue-835-wrong-http-status-write-path
fix: Sends 404 status code for invalid write pathpull/24376/head
commit
5f3fb35da1
|
@ -446,12 +446,16 @@ where
|
||||||
server
|
server
|
||||||
.write_lines(&db_name, &lines)
|
.write_lines(&db_name, &lines)
|
||||||
.await
|
.await
|
||||||
.map_err(|e| Box::new(e) as _)
|
.map_err(|e| match e {
|
||||||
.context(WritingPoints {
|
server::Error::DatabaseNotFound { .. } => ApplicationError::DatabaseNotFound {
|
||||||
org: write_info.org.clone(),
|
name: db_name.to_string(),
|
||||||
bucket_name: write_info.bucket.clone(),
|
},
|
||||||
|
_ => ApplicationError::WritingPoints {
|
||||||
|
org: write_info.org.clone(),
|
||||||
|
bucket_name: write_info.bucket.clone(),
|
||||||
|
source: Box::new(e),
|
||||||
|
},
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
Ok(Response::builder()
|
Ok(Response::builder()
|
||||||
.status(StatusCode::NO_CONTENT)
|
.status(StatusCode::NO_CONTENT)
|
||||||
.body(Body::empty())
|
.body(Body::empty())
|
||||||
|
@ -976,6 +980,40 @@ mod tests {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn write_to_invalid_database() {
|
||||||
|
let test_storage = Arc::new(AppServer::new(
|
||||||
|
ConnectionManagerImpl {},
|
||||||
|
Arc::new(ObjectStore::new_in_memory(InMemory::new())),
|
||||||
|
));
|
||||||
|
test_storage.set_id(1);
|
||||||
|
test_storage
|
||||||
|
.create_database("MyOrg_MyBucket", DatabaseRules::new())
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
let server_url = test_server(Arc::clone(&test_storage));
|
||||||
|
|
||||||
|
let client = Client::new();
|
||||||
|
|
||||||
|
let bucket_name = "NotMyBucket";
|
||||||
|
let org_name = "MyOrg";
|
||||||
|
let response = client
|
||||||
|
.post(&format!(
|
||||||
|
"{}/api/v2/write?bucket={}&org={}",
|
||||||
|
server_url, bucket_name, org_name
|
||||||
|
))
|
||||||
|
.send()
|
||||||
|
.await;
|
||||||
|
|
||||||
|
check_response(
|
||||||
|
"write_to_invalid_databases",
|
||||||
|
response,
|
||||||
|
StatusCode::NOT_FOUND,
|
||||||
|
"",
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn get_wal_meta() {
|
async fn get_wal_meta() {
|
||||||
let server = Arc::new(AppServer::new(
|
let server = Arc::new(AppServer::new(
|
||||||
|
|
Loading…
Reference in New Issue