use serde::{Deserialize, Serialize};
use serde_json::Value;
use serde_skip::is_default;
use std::collections::BTreeMap as Map;
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct Test {
pub description: String,
#[serde(skip_serializing_if = "is_default", default)]
pub auth: bool,
#[serde(skip_serializing_if = "is_default", default)]
pub skip: bool,
#[serde(skip_serializing_if = "is_default", default)]
pub params: Map<String, String>,
#[serde(skip_serializing_if = "is_default", default)]
pub request: Request,
#[serde(skip_serializing_if = "is_default", default)]
pub response: Response,
#[serde(skip_serializing_if = "is_default", default)]
pub required: Vec<String>,
}
#[derive(Debug, Default, Serialize, Deserialize, PartialEq, Clone)]
pub struct Request {
#[serde(skip_serializing_if = "is_default", default)]
pub body: Value,
#[serde(skip_serializing_if = "is_default", default)]
pub cookie: String,
#[serde(skip_serializing_if = "is_default", default)]
pub headers: Map<String, String>,
#[serde(skip_serializing_if = "is_default", default)]
pub query: Map<String, String>,
}
#[derive(Debug, Default, Serialize, Deserialize, PartialEq, Clone)]
pub struct Response {
#[serde(skip_serializing_if = "is_default", default)]
pub cookie: Map<String, String>,
#[serde(skip_serializing_if = "is_default", default)]
pub headers: Map<String, String>,
#[serde(skip_serializing_if = "is_default", default)]
pub status: Vec<u16>,
}