#[test]
fn test_http_get_json_value_return() {
#[potato::http_get("/test-json-value")]
async fn handler_json_value() -> serde_json::Value {
serde_json::json!({
"message": "Hello from JSON Value",
"status": "success"
})
}
assert!(true);
}
#[test]
fn test_http_post_json_value_return() {
#[potato::http_post("/test-post-json-value")]
async fn handler_post_json_value() -> serde_json::Value {
serde_json::json!({
"method": "POST",
"data": "test data"
})
}
assert!(true);
}
#[test]
fn test_http_put_json_value_return() {
#[potato::http_put("/test-put-json-value")]
async fn handler_put_json_value() -> serde_json::Value {
serde_json::json!({
"method": "PUT",
"updated": true
})
}
assert!(true);
}
#[test]
fn test_http_delete_json_value_return() {
#[potato::http_delete("/test-delete-json-value")]
async fn handler_delete_json_value() -> serde_json::Value {
serde_json::json!({
"method": "DELETE",
"deleted": true
})
}
assert!(true);
}
#[test]
fn test_http_get_result_json_value_return() {
#[potato::http_get("/test-result-json-value")]
async fn handler_result_json_value() -> anyhow::Result<serde_json::Value> {
Ok(serde_json::json!({
"message": "Success result",
"code": 200
}))
}
assert!(true);
}
#[test]
fn test_http_post_result_json_value_return() {
#[potato::http_post("/test-post-result-json-value")]
async fn handler_post_result_json_value() -> anyhow::Result<serde_json::Value> {
Ok(serde_json::json!({
"method": "POST",
"result": "success"
}))
}
assert!(true);
}
#[test]
fn test_http_get_result_json_value_error() {
#[potato::http_get("/test-result-json-value-error")]
async fn handler_result_json_value_error(success: bool) -> anyhow::Result<serde_json::Value> {
if success {
Ok(serde_json::json!({
"status": "success"
}))
} else {
Err(anyhow::anyhow!("Operation failed"))
}
}
assert!(true);
}
#[test]
fn test_json_value_with_http_request() {
#[potato::http_get("/test-json-value-with-req")]
async fn handler_json_value_with_req(req: &mut potato::HttpRequest) -> serde_json::Value {
let path = req.url_path.to_string();
serde_json::json!({
"path": path,
"message": "Request processed"
})
}
assert!(true);
}
#[test]
fn test_result_json_value_with_http_request() {
#[potato::http_get("/test-result-json-value-with-req")]
async fn handler_result_json_value_with_req(
req: &mut potato::HttpRequest,
) -> anyhow::Result<serde_json::Value> {
let path = req.url_path.to_string();
Ok(serde_json::json!({
"path": path,
"status": "ok"
}))
}
assert!(true);
}
#[test]
fn test_json_value_with_args() {
#[potato::http_post("/test-json-value-with-args")]
async fn handler_json_value_with_args(name: String, age: u32) -> serde_json::Value {
serde_json::json!({
"name": name,
"age": age,
"message": "User created"
})
}
assert!(true);
}
#[test]
fn test_result_json_value_with_args() {
#[potato::http_post("/test-result-json-value-with-args")]
async fn handler_result_json_value_with_args(
name: String,
age: u32,
) -> anyhow::Result<serde_json::Value> {
if age > 200 {
Err(anyhow::anyhow!("Invalid age"))
} else {
Ok(serde_json::json!({
"name": name,
"age": age,
"status": "success"
}))
}
}
assert!(true);
}