mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 03:47:02 +02:00
test(http): setting enum serialize/deserialize
This commit is contained in:
parent
dc636d190d
commit
84c1dda39d
4 changed files with 75 additions and 3 deletions
|
@ -242,7 +242,7 @@ enum UpdateMetaProgress {
|
|||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct Settings {
|
||||
|
@ -993,3 +993,62 @@ async fn main() -> anyhow::Result<()> {
|
|||
let addr = SocketAddr::from_str(&opt.http_listen_addr)?;
|
||||
Ok(warp::serve(routes).run(addr).await)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use serde_test::{assert_de_tokens, assert_ser_tokens, Token};
|
||||
|
||||
use milli::update::Setting;
|
||||
|
||||
use crate::Settings;
|
||||
|
||||
#[test]
|
||||
fn serialize_settings() {
|
||||
let settings = Settings {
|
||||
displayed_attributes: Setting::Set(vec!["name".to_string()]),
|
||||
searchable_attributes: Setting::Reset,
|
||||
faceted_attributes: Setting::NotSet,
|
||||
criteria: Setting::NotSet,
|
||||
stop_words: Default::default(),
|
||||
};
|
||||
|
||||
assert_ser_tokens(&settings, &[
|
||||
Token::Struct { name: "Settings", len: 3 },
|
||||
Token::Str("displayedAttributes"),
|
||||
Token::Some,
|
||||
Token::Seq { len: Some(1) },
|
||||
Token::Str("name"),
|
||||
Token::SeqEnd,
|
||||
Token::Str("searchableAttributes"),
|
||||
Token::None,
|
||||
Token::Str("facetedAttributes"),
|
||||
Token::None,
|
||||
Token::StructEnd,
|
||||
]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn deserialize_settings() {
|
||||
let settings = Settings {
|
||||
displayed_attributes: Setting::Set(vec!["name".to_string()]),
|
||||
searchable_attributes: Setting::Reset,
|
||||
faceted_attributes: Setting::Reset,
|
||||
criteria: Setting::NotSet,
|
||||
stop_words: Setting::NotSet,
|
||||
};
|
||||
|
||||
assert_de_tokens(&settings, &[
|
||||
Token::Struct { name: "Settings", len: 3 },
|
||||
Token::Str("displayedAttributes"),
|
||||
Token::Some,
|
||||
Token::Seq { len: Some(1) },
|
||||
Token::Str("name"),
|
||||
Token::SeqEnd,
|
||||
Token::Str("searchableAttributes"),
|
||||
Token::None,
|
||||
Token::Str("facetedAttributes"),
|
||||
Token::None,
|
||||
Token::StructEnd,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue