Skip to content

Commit 523728c

Browse files
authored
Fix panic tests (#160)
* Fix update tests * Fix desrialization
1 parent 71bcd3e commit 523728c

File tree

4 files changed

+20
-29
lines changed

4 files changed

+20
-29
lines changed

src/errors.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ pub enum Error {
2020
UnreachableServer,
2121
/// The MeiliSearch server returned invalid JSON for a request.
2222
ParseError(serde_json::Error),
23-
/// This Meilisearch sdk generated an invalid request (which was not sent).
23+
/// This MeiliSearch SDK generated an invalid request (which was not sent).
2424
/// It probably comes from an invalid API key resulting in an invalid HTTP header.
2525
InvalidRequest,
2626

@@ -245,7 +245,7 @@ impl std::fmt::Display for Error {
245245
Error::UnreachableServer => write!(fmt, "The MeiliSearch server can't be reached."),
246246
Error::InvalidRequest => write!(fmt, "Unable to generate a valid HTTP request. It probably comes from an invalid API key."),
247247
Error::ParseError(e) => write!(fmt, "Error parsing response JSON: {}", e),
248-
Error::HttpError(e) => write!(fmt, "HTTP request failed: {}", e)
248+
Error::HttpError(e) => write!(fmt, "HTTP request failed: {}", e),
249249
}
250250
}
251251
}

src/indexes.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,7 @@ impl Index {
707707
/// let status = progress.get_status().await.unwrap();
708708
/// let from_progress = match status {
709709
/// UpdateStatus::Enqueued{content} => content.update_id,
710+
/// UpdateStatus::Processing{content} => content.update_id,
710711
/// UpdateStatus::Failed{content} => content.update_id,
711712
/// UpdateStatus::Processed{content} => content.update_id,
712713
/// };
@@ -717,6 +718,7 @@ impl Index {
717718
///
718719
/// let from_index = match status {
719720
/// UpdateStatus::Enqueued{content} => content.update_id,
721+
/// UpdateStatus::Processing{content} => content.update_id,
720722
/// UpdateStatus::Failed{content} => content.update_id,
721723
/// UpdateStatus::Processed{content} => content.update_id,
722724
/// };

src/progress.rs

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -174,32 +174,22 @@ pub(crate) async fn async_sleep(interval: Duration) {
174174
}
175175

176176
#[derive(Debug, Clone, Deserialize)]
177-
pub enum RankingRule {
178-
Words,
179-
Typo,
180-
Proximity,
181-
Attribute,
182-
Exactness,
183-
Asc(String),
184-
Desc(String),
185-
}
186-
187-
#[derive(Debug, Clone, Deserialize)]
188-
pub enum UpdateState<T> {
189-
Update(T),
190-
Clear,
191-
Nothing,
192-
}
193-
194-
#[derive(Debug, Clone, Deserialize)]
177+
#[serde(rename_all = "camelCase")]
195178
pub struct SettingsUpdate {
196-
pub ranking_rules: UpdateState<Vec<RankingRule>>,
197-
pub distinct_attribute: UpdateState<String>,
198-
pub searchable_attributes: UpdateState<Vec<String>>,
199-
pub displayed_attributes: UpdateState<BTreeSet<String>>,
200-
pub stop_words: UpdateState<BTreeSet<String>>,
201-
pub synonyms: UpdateState<BTreeMap<String, Vec<String>>>,
202-
pub filterable_attributes: UpdateState<Vec<String>>,
179+
#[serde(skip_serializing_if = "Option::is_none")]
180+
pub ranking_rules: Option<Vec<String>>,
181+
#[serde(skip_serializing_if = "Option::is_none")]
182+
pub distinct_attribute: Option<String>,
183+
#[serde(skip_serializing_if = "Vec::is_none")]
184+
pub searchable_attributes: Option<Vec<String>>,
185+
#[serde(skip_serializing_if = "BTreeSet::is_not_set")]
186+
pub displayed_attributes: Option<BTreeSet<String>>,
187+
#[serde(skip_serializing_if = "Option::is_none")]
188+
pub stop_words: Option<BTreeSet<String>>,
189+
#[serde(skip_serializing_if = "Option::is_none")]
190+
pub synonyms: Option<BTreeMap<String, Vec<String>>>,
191+
#[serde(skip_serializing_if = "Option::is_none")]
192+
pub filterable_attributes: Option<Vec<String>>,
203193
}
204194

205195
#[allow(clippy::large_enum_variant)]

src/settings.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,11 +468,10 @@ impl Index {
468468
/// let mut movie_index = client.get_or_create("movies").await.unwrap();
469469
///
470470
/// let ranking_rules = [
471-
/// "typo",
472471
/// "words",
472+
/// "typo",
473473
/// "proximity",
474474
/// "attribute",
475-
/// "wordsPosition",
476475
/// "exactness",
477476
/// "asc(release_date)",
478477
/// "desc(rank)",

0 commit comments

Comments
 (0)