From a4baffe9335ca5ab9532058d46bb66a1614634ae Mon Sep 17 00:00:00 2001 From: xzfc Date: Mon, 23 Feb 2026 18:28:16 +0000 Subject: [PATCH 1/2] Don't enable `generate-snipptets` feature by default We don't need downstream users to build these tests. --- Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 4a9d455..2105c5c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,9 +31,10 @@ parking_lot = "0.12.4" [dev-dependencies] tonic-build = { version = "0.12.3", features = ["prost"] } +qdrant-client = { path = ".", features = ["generate-snippets"] } [features] -default = ["download_snapshots", "serde", "generate-snippets"] +default = ["download_snapshots", "serde"] download_snapshots = ["reqwest", "futures-util"] serde = ["dep:serde", "dep:serde_json"] generate-snippets = [] From 1927f14d670e6bdb7b7fc6111715ec1cc57c86b0 Mon Sep 17 00:00:00 2001 From: xzfc Date: Tue, 24 Feb 2026 02:35:53 +0000 Subject: [PATCH 2/2] Don't autogenerate snippets --- Cargo.toml | 3 +- build.rs | 83 ----- tests/snippet_tests/mod.rs | 59 --- tests/snippet_tests/test_batch_update.rs | 66 ---- tests/snippet_tests/test_clear_payload.rs | 22 -- tests/snippet_tests/test_collection_exists.rs | 15 - tests/snippet_tests/test_count_points.rs | 25 -- tests/snippet_tests/test_create_collection.rs | 21 -- .../test_create_collection_with_bq.rs | 28 -- .../test_create_collection_with_metadata.rs | 30 -- .../snippet_tests/test_create_field_index.rs | 24 -- .../test_create_full_snapshot.rs | 15 - tests/snippet_tests/test_create_shard_key.rs | 26 -- tests/snippet_tests/test_create_snapshot.rs | 15 - tests/snippet_tests/test_create_text_index.rs | 34 -- tests/snippet_tests/test_delete_collection.rs | 15 - .../snippet_tests/test_delete_field_index.rs | 21 -- .../test_delete_full_snapshot.rs | 15 - tests/snippet_tests/test_delete_payload.rs | 27 -- tests/snippet_tests/test_delete_points.rs | 35 -- tests/snippet_tests/test_delete_shard_key.rs | 22 -- tests/snippet_tests/test_delete_snapshot.rs | 21 -- tests/snippet_tests/test_delete_vectors.rs | 27 -- .../test_discover_batch_points.rs | 55 --- tests/snippet_tests/test_discover_points.rs | 39 -- tests/snippet_tests/test_facets.rs | 25 -- tests/snippet_tests/test_get_collection.rs | 15 - .../test_get_collection_aliases.rs | 15 - tests/snippet_tests/test_get_collections.rs | 15 - .../test_get_collections_aliases.rs | 15 - tests/snippet_tests/test_get_points.rs | 21 -- .../snippet_tests/test_list_full_snapshots.rs | 15 - tests/snippet_tests/test_list_shard_keys.rs | 15 - tests/snippet_tests/test_list_snapshots.rs | 15 - tests/snippet_tests/test_overwrite_payload.rs | 34 -- tests/snippet_tests/test_query_document.rs | 26 -- tests/snippet_tests/test_query_image.rs | 26 -- tests/snippet_tests/test_query_points.rs | 183 ---------- .../snippet_tests/test_query_points_groups.rs | 21 -- .../test_query_points_relevance_feedback.rs | 29 -- .../test_recommend_batch_points.rs | 39 -- .../test_recommend_point_groups.rs | 24 -- tests/snippet_tests/test_recommend_points.rs | 30 -- tests/snippet_tests/test_replicate_points.rs | 35 -- tests/snippet_tests/test_scroll_points.rs | 39 -- .../test_scroll_points_with_vectors.rs | 32 -- .../snippet_tests/test_search_batch_points.rs | 31 -- .../test_search_matrix_offsets.rs | 26 -- .../snippet_tests/test_search_matrix_pairs.rs | 26 -- .../snippet_tests/test_search_point_groups.rs | 24 -- tests/snippet_tests/test_search_points.rs | 52 --- tests/snippet_tests/test_set_payload.rs | 32 -- tests/snippet_tests/test_update_aliases.rs | 27 -- tests/snippet_tests/test_update_collection.rs | 22 -- .../test_update_collection_metadata.rs | 28 -- tests/snippet_tests/test_update_vectors.rs | 43 --- tests/snippet_tests/test_upsert_document.rs | 36 -- tests/snippet_tests/test_upsert_image.rs | 36 -- tests/snippet_tests/test_upsert_points.rs | 50 --- .../test_upsert_points_fallback_shard_key.rs | 39 -- .../test_upsert_points_insert_only.rs | 34 -- .../test_upsert_points_with_condition.rs | 34 -- tests/snippets/batch_update.rs | 107 +++--- tests/snippets/clear_payload.rs | 22 +- tests/snippets/collection_exists.rs | 8 +- tests/snippets/count_points.rs | 28 +- tests/snippets/create_collection.rs | 20 +- tests/snippets/create_collection_with_bq.rs | 35 +- .../create_collection_with_metadata.rs | 33 +- tests/snippets/create_field_index.rs | 18 +- tests/snippets/create_full_snapshot.rs | 8 +- tests/snippets/create_shard_key.rs | 31 +- tests/snippets/create_snapshot.rs | 8 +- tests/snippets/create_text_index.rs | 42 +-- tests/snippets/delete_collection.rs | 8 +- tests/snippets/delete_field_index.rs | 20 +- tests/snippets/delete_full_snapshot.rs | 8 +- tests/snippets/delete_payload.rs | 30 +- tests/snippets/delete_points.rs | 46 +-- tests/snippets/delete_shard_key.rs | 22 +- tests/snippets/delete_snapshot.rs | 20 +- tests/snippets/delete_vectors.rs | 32 +- tests/snippets/discover_batch_points.rs | 86 ++--- tests/snippets/discover_points.rs | 53 +-- tests/snippets/facets.rs | 28 +- tests/snippets/get_collection.rs | 8 +- tests/snippets/get_collection_aliases.rs | 8 +- tests/snippets/get_collections.rs | 8 +- tests/snippets/get_collections_aliases.rs | 8 +- tests/snippets/get_points.rs | 20 +- tests/snippets/list_full_snapshots.rs | 8 +- tests/snippets/list_shard_keys.rs | 8 +- tests/snippets/list_snapshots.rs | 8 +- tests/snippets/mod.rs | 59 +++ tests/snippets/overwrite_payload.rs | 43 +-- tests/snippets/query_document.rs | 22 +- tests/snippets/query_image.rs | 25 +- tests/snippets/query_points.rs | 339 ++++++++++-------- tests/snippets/query_points_groups.rs | 22 +- .../query_points_relevance_feedback.rs | 44 ++- tests/snippets/recommend_batch_points.rs | 54 +-- tests/snippets/recommend_point_groups.rs | 26 +- tests/snippets/recommend_points.rs | 38 +- tests/snippets/replicate_points.rs | 48 +-- tests/snippets/scroll_points.rs | 54 +-- tests/snippets/scroll_points_with_vectors.rs | 40 ++- tests/snippets/search_batch_points.rs | 34 +- tests/snippets/search_matrix_offsets.rs | 30 +- tests/snippets/search_matrix_pairs.rs | 30 +- tests/snippets/search_point_groups.rs | 26 +- tests/snippets/search_points.rs | 83 +++-- tests/snippets/set_payload.rs | 40 ++- tests/snippets/update_aliases.rs | 30 +- tests/snippets/update_collection.rs | 22 +- tests/snippets/update_collection_metadata.rs | 34 +- tests/snippets/update_vectors.rs | 60 ++-- tests/snippets/upsert_document.rs | 32 +- tests/snippets/upsert_image.rs | 35 +- tests/snippets/upsert_points.rs | 76 ++-- .../upsert_points_fallback_shard_key.rs | 42 +-- tests/snippets/upsert_points_insert_only.rs | 44 +-- .../snippets/upsert_points_with_condition.rs | 34 +- tests/test_snippets.rs | 18 +- 123 files changed, 1249 insertions(+), 2976 deletions(-) delete mode 100644 build.rs delete mode 100644 tests/snippet_tests/mod.rs delete mode 100644 tests/snippet_tests/test_batch_update.rs delete mode 100644 tests/snippet_tests/test_clear_payload.rs delete mode 100644 tests/snippet_tests/test_collection_exists.rs delete mode 100644 tests/snippet_tests/test_count_points.rs delete mode 100644 tests/snippet_tests/test_create_collection.rs delete mode 100644 tests/snippet_tests/test_create_collection_with_bq.rs delete mode 100644 tests/snippet_tests/test_create_collection_with_metadata.rs delete mode 100644 tests/snippet_tests/test_create_field_index.rs delete mode 100644 tests/snippet_tests/test_create_full_snapshot.rs delete mode 100644 tests/snippet_tests/test_create_shard_key.rs delete mode 100644 tests/snippet_tests/test_create_snapshot.rs delete mode 100644 tests/snippet_tests/test_create_text_index.rs delete mode 100644 tests/snippet_tests/test_delete_collection.rs delete mode 100644 tests/snippet_tests/test_delete_field_index.rs delete mode 100644 tests/snippet_tests/test_delete_full_snapshot.rs delete mode 100644 tests/snippet_tests/test_delete_payload.rs delete mode 100644 tests/snippet_tests/test_delete_points.rs delete mode 100644 tests/snippet_tests/test_delete_shard_key.rs delete mode 100644 tests/snippet_tests/test_delete_snapshot.rs delete mode 100644 tests/snippet_tests/test_delete_vectors.rs delete mode 100644 tests/snippet_tests/test_discover_batch_points.rs delete mode 100644 tests/snippet_tests/test_discover_points.rs delete mode 100644 tests/snippet_tests/test_facets.rs delete mode 100644 tests/snippet_tests/test_get_collection.rs delete mode 100644 tests/snippet_tests/test_get_collection_aliases.rs delete mode 100644 tests/snippet_tests/test_get_collections.rs delete mode 100644 tests/snippet_tests/test_get_collections_aliases.rs delete mode 100644 tests/snippet_tests/test_get_points.rs delete mode 100644 tests/snippet_tests/test_list_full_snapshots.rs delete mode 100644 tests/snippet_tests/test_list_shard_keys.rs delete mode 100644 tests/snippet_tests/test_list_snapshots.rs delete mode 100644 tests/snippet_tests/test_overwrite_payload.rs delete mode 100644 tests/snippet_tests/test_query_document.rs delete mode 100644 tests/snippet_tests/test_query_image.rs delete mode 100644 tests/snippet_tests/test_query_points.rs delete mode 100644 tests/snippet_tests/test_query_points_groups.rs delete mode 100644 tests/snippet_tests/test_query_points_relevance_feedback.rs delete mode 100644 tests/snippet_tests/test_recommend_batch_points.rs delete mode 100644 tests/snippet_tests/test_recommend_point_groups.rs delete mode 100644 tests/snippet_tests/test_recommend_points.rs delete mode 100644 tests/snippet_tests/test_replicate_points.rs delete mode 100644 tests/snippet_tests/test_scroll_points.rs delete mode 100644 tests/snippet_tests/test_scroll_points_with_vectors.rs delete mode 100644 tests/snippet_tests/test_search_batch_points.rs delete mode 100644 tests/snippet_tests/test_search_matrix_offsets.rs delete mode 100644 tests/snippet_tests/test_search_matrix_pairs.rs delete mode 100644 tests/snippet_tests/test_search_point_groups.rs delete mode 100644 tests/snippet_tests/test_search_points.rs delete mode 100644 tests/snippet_tests/test_set_payload.rs delete mode 100644 tests/snippet_tests/test_update_aliases.rs delete mode 100644 tests/snippet_tests/test_update_collection.rs delete mode 100644 tests/snippet_tests/test_update_collection_metadata.rs delete mode 100644 tests/snippet_tests/test_update_vectors.rs delete mode 100644 tests/snippet_tests/test_upsert_document.rs delete mode 100644 tests/snippet_tests/test_upsert_image.rs delete mode 100644 tests/snippet_tests/test_upsert_points.rs delete mode 100644 tests/snippet_tests/test_upsert_points_fallback_shard_key.rs delete mode 100644 tests/snippet_tests/test_upsert_points_insert_only.rs delete mode 100644 tests/snippet_tests/test_upsert_points_with_condition.rs create mode 100644 tests/snippets/mod.rs diff --git a/Cargo.toml b/Cargo.toml index 2105c5c..29c06ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,13 +31,12 @@ parking_lot = "0.12.4" [dev-dependencies] tonic-build = { version = "0.12.3", features = ["prost"] } -qdrant-client = { path = ".", features = ["generate-snippets"] } [features] default = ["download_snapshots", "serde"] download_snapshots = ["reqwest", "futures-util"] serde = ["dep:serde", "dep:serde_json"] -generate-snippets = [] +generate-snippets = [] # Does nothing. Deprecated. uuid = ["dep:uuid"] [[example]] diff --git a/build.rs b/build.rs deleted file mode 100644 index 1c917e5..0000000 --- a/build.rs +++ /dev/null @@ -1,83 +0,0 @@ -use std::fs; -use std::path::{Path, PathBuf}; - -fn generate_snippet_test(snippet: &str, name: &str, dir: &Path) { - // Pad each line of the snippet with 8 spaces - - let snippet = snippet - .lines() - .map(|line| format!(" {line}")) - .collect::>() - .join("\n"); - - let test_snippet = format!( - r#" -#[tokio::test] -async fn test_{name}() {{ - async fn {name}() -> Result<(), Box> {{ - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/{name}.rs` file -{snippet} - Ok(()) - }} - let _ = {name}().await; -}} -"# - ); - - // Write the test snippet to the file - let mut test_snippet_path = PathBuf::from(dir); - test_snippet_path.push(format!("test_{name}.rs")); - fs::write(test_snippet_path, test_snippet).unwrap(); -} - -fn main() { - println!("cargo:rerun-if-changed=tests/snippets"); - - #[cfg(not(feature = "generate-snippets"))] - return; - - // Open all files in the `./tests/snippets` directory and save them to the `./tests/snippets_converted` directory - // Wrap text in the `tests/test_snippets.rs` file into { } - let snippets_dir = Path::new("./tests/snippets"); - let tests_output_dir = Path::new("./tests/snippet_tests"); - - // Create the converted directory if it doesn't exist - if !tests_output_dir.exists() { - fs::create_dir_all(tests_output_dir).unwrap(); - } - - let mut snippet_names: Vec<_> = fs::read_dir(snippets_dir) - .unwrap() - .filter_map(|entry| { - let entry = entry.unwrap(); - let path = entry.path(); - if path.is_file() { - let snippet_name = path.file_stem().unwrap().to_str().unwrap().to_string(); - Some((path, snippet_name)) - } else { - None - } - }) - .collect(); - - snippet_names.sort_unstable_by_key(|(_, name)| name.clone()); - - for (path, name) in &snippet_names { - let content = fs::read_to_string(path).unwrap(); - generate_snippet_test(&content, name, tests_output_dir); - } - - // Generate `tests/snippet_tests/mod.rs` file - // For each file in `./tests/snippet_tests` directory, generate a line `mode {file_name};` - - let mod_file = snippet_names - .iter() - .map(|(_, name)| format!("mod test_{name};")) - .collect::>() - .join("\n"); - - let mut mod_file_path = PathBuf::from(tests_output_dir); - mod_file_path.push("mod.rs"); - fs::write(mod_file_path, mod_file).unwrap(); -} diff --git a/tests/snippet_tests/mod.rs b/tests/snippet_tests/mod.rs deleted file mode 100644 index decfd24..0000000 --- a/tests/snippet_tests/mod.rs +++ /dev/null @@ -1,59 +0,0 @@ -mod test_batch_update; -mod test_clear_payload; -mod test_collection_exists; -mod test_count_points; -mod test_create_collection; -mod test_create_collection_with_bq; -mod test_create_collection_with_metadata; -mod test_create_field_index; -mod test_create_full_snapshot; -mod test_create_shard_key; -mod test_create_snapshot; -mod test_create_text_index; -mod test_delete_collection; -mod test_delete_field_index; -mod test_delete_full_snapshot; -mod test_delete_payload; -mod test_delete_points; -mod test_delete_shard_key; -mod test_delete_snapshot; -mod test_delete_vectors; -mod test_discover_batch_points; -mod test_discover_points; -mod test_facets; -mod test_get_collection; -mod test_get_collection_aliases; -mod test_get_collections; -mod test_get_collections_aliases; -mod test_get_points; -mod test_list_full_snapshots; -mod test_list_shard_keys; -mod test_list_snapshots; -mod test_overwrite_payload; -mod test_query_document; -mod test_query_image; -mod test_query_points; -mod test_query_points_groups; -mod test_query_points_relevance_feedback; -mod test_recommend_batch_points; -mod test_recommend_point_groups; -mod test_recommend_points; -mod test_replicate_points; -mod test_scroll_points; -mod test_scroll_points_with_vectors; -mod test_search_batch_points; -mod test_search_matrix_offsets; -mod test_search_matrix_pairs; -mod test_search_point_groups; -mod test_search_points; -mod test_set_payload; -mod test_update_aliases; -mod test_update_collection; -mod test_update_collection_metadata; -mod test_update_vectors; -mod test_upsert_document; -mod test_upsert_image; -mod test_upsert_points; -mod test_upsert_points_fallback_shard_key; -mod test_upsert_points_insert_only; -mod test_upsert_points_with_condition; \ No newline at end of file diff --git a/tests/snippet_tests/test_batch_update.rs b/tests/snippet_tests/test_batch_update.rs deleted file mode 100644 index c31c636..0000000 --- a/tests/snippet_tests/test_batch_update.rs +++ /dev/null @@ -1,66 +0,0 @@ - -#[tokio::test] -async fn test_batch_update() { - async fn batch_update() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/batch_update.rs` file - use qdrant_client::qdrant::{ - points_selector::PointsSelectorOneOf, - points_update_operation::{ - Operation, OverwritePayload, PointStructList, UpdateVectors, - }, - PointStruct, PointVectors, PointsIdsList, PointsSelector, PointsUpdateOperation, - UpdateBatchPointsBuilder, - }; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - use std::collections::HashMap; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .update_points_batch( - UpdateBatchPointsBuilder::new( - "{collection_name}", - vec![ - PointsUpdateOperation { - operation: Some(Operation::Upsert(PointStructList { - points: vec![PointStruct::new( - 1, - vec![1.0, 2.0, 3.0, 4.0], - Payload::try_from(json!({})).unwrap(), - )], - ..Default::default() - })), - }, - PointsUpdateOperation { - operation: Some(Operation::UpdateVectors(UpdateVectors { - points: vec![PointVectors { - id: Some(1.into()), - vectors: Some(vec![1.0, 2.0, 3.0, 4.0].into()), - }], - ..Default::default() - })), - }, - PointsUpdateOperation { - operation: Some(Operation::OverwritePayload(OverwritePayload { - points_selector: Some(PointsSelector { - points_selector_one_of: Some(PointsSelectorOneOf::Points( - PointsIdsList { - ids: vec![1.into()], - }, - )), - }), - payload: HashMap::from([("test_payload".to_string(), 1.into())]), - ..Default::default() - })), - }, - ], - ) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = batch_update().await; -} diff --git a/tests/snippet_tests/test_clear_payload.rs b/tests/snippet_tests/test_clear_payload.rs deleted file mode 100644 index f0a0e81..0000000 --- a/tests/snippet_tests/test_clear_payload.rs +++ /dev/null @@ -1,22 +0,0 @@ - -#[tokio::test] -async fn test_clear_payload() { - async fn clear_payload() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/clear_payload.rs` file - use qdrant_client::qdrant::{ClearPayloadPointsBuilder, PointsIdsList}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .clear_payload(ClearPayloadPointsBuilder::new("{collection_name}").points( - PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }, - )) - .await?; - Ok(()) - } - let _ = clear_payload().await; -} diff --git a/tests/snippet_tests/test_collection_exists.rs b/tests/snippet_tests/test_collection_exists.rs deleted file mode 100644 index d5011f8..0000000 --- a/tests/snippet_tests/test_collection_exists.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_collection_exists() { - async fn collection_exists() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/collection_exists.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.collection_exists("{collection_name}").await?; - Ok(()) - } - let _ = collection_exists().await; -} diff --git a/tests/snippet_tests/test_count_points.rs b/tests/snippet_tests/test_count_points.rs deleted file mode 100644 index b5a2e3b..0000000 --- a/tests/snippet_tests/test_count_points.rs +++ /dev/null @@ -1,25 +0,0 @@ - -#[tokio::test] -async fn test_count_points() { - async fn count_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/count_points.rs` file - use qdrant_client::qdrant::{Condition, CountPointsBuilder, Filter}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .count( - CountPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .exact(true), - ) - .await?; - Ok(()) - } - let _ = count_points().await; -} diff --git a/tests/snippet_tests/test_create_collection.rs b/tests/snippet_tests/test_create_collection.rs deleted file mode 100644 index cd22542..0000000 --- a/tests/snippet_tests/test_create_collection.rs +++ /dev/null @@ -1,21 +0,0 @@ - -#[tokio::test] -async fn test_create_collection() { - async fn create_collection() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_collection.rs` file - use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)), - ) - .await?; - Ok(()) - } - let _ = create_collection().await; -} diff --git a/tests/snippet_tests/test_create_collection_with_bq.rs b/tests/snippet_tests/test_create_collection_with_bq.rs deleted file mode 100644 index 1487cdc..0000000 --- a/tests/snippet_tests/test_create_collection_with_bq.rs +++ /dev/null @@ -1,28 +0,0 @@ - -#[tokio::test] -async fn test_create_collection_with_bq() { - async fn create_collection_with_bq() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_collection_with_bq.rs` file - use qdrant_client::qdrant::{ - BinaryQuantizationBuilder, BinaryQuantizationEncoding, CreateCollectionBuilder, Distance, VectorParamsBuilder, BinaryQuantizationQueryEncoding, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(1536, Distance::Cosine)) - .quantization_config( - BinaryQuantizationBuilder::new(true) - .encoding(BinaryQuantizationEncoding::TwoBits) - .query_encoding(BinaryQuantizationQueryEncoding::scalar8bits()) - ), - ) - .await?; - Ok(()) - } - let _ = create_collection_with_bq().await; -} diff --git a/tests/snippet_tests/test_create_collection_with_metadata.rs b/tests/snippet_tests/test_create_collection_with_metadata.rs deleted file mode 100644 index 35daad5..0000000 --- a/tests/snippet_tests/test_create_collection_with_metadata.rs +++ /dev/null @@ -1,30 +0,0 @@ - -#[tokio::test] -async fn test_create_collection_with_metadata() { - async fn create_collection_with_metadata() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_collection_with_metadata.rs` file - use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; - use qdrant_client::Qdrant; - use serde_json::{json, Value}; - use std::collections::HashMap; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - - let mut metadata: HashMap = HashMap::new(); - metadata.insert("my-metadata-field".to_string(), json!("value-1")); - metadata.insert("another-field".to_string(), json!(123)); - - - client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)) - .metadata(metadata), - ) - .await?; - Ok(()) - } - let _ = create_collection_with_metadata().await; -} diff --git a/tests/snippet_tests/test_create_field_index.rs b/tests/snippet_tests/test_create_field_index.rs deleted file mode 100644 index 0e29675..0000000 --- a/tests/snippet_tests/test_create_field_index.rs +++ /dev/null @@ -1,24 +0,0 @@ - -#[tokio::test] -async fn test_create_field_index() { - async fn create_field_index() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_field_index.rs` file - use qdrant_client::qdrant::{CreateFieldIndexCollectionBuilder, FieldType}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .create_field_index( - CreateFieldIndexCollectionBuilder::new( - "{collection_name}", - "{field_name}", - FieldType::Keyword, - ), - ) - .await?; - Ok(()) - } - let _ = create_field_index().await; -} diff --git a/tests/snippet_tests/test_create_full_snapshot.rs b/tests/snippet_tests/test_create_full_snapshot.rs deleted file mode 100644 index 70943d2..0000000 --- a/tests/snippet_tests/test_create_full_snapshot.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_create_full_snapshot() { - async fn create_full_snapshot() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_full_snapshot.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.create_full_snapshot().await?; - Ok(()) - } - let _ = create_full_snapshot().await; -} diff --git a/tests/snippet_tests/test_create_shard_key.rs b/tests/snippet_tests/test_create_shard_key.rs deleted file mode 100644 index 14f9a8e..0000000 --- a/tests/snippet_tests/test_create_shard_key.rs +++ /dev/null @@ -1,26 +0,0 @@ - -#[tokio::test] -async fn test_create_shard_key() { - async fn create_shard_key() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_shard_key.rs` file - use qdrant_client::qdrant::shard_key::Key; - use qdrant_client::qdrant::{CreateShardKeyBuilder, CreateShardKeyRequestBuilder}; - use qdrant_client::qdrant::ReplicaState; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .create_shard_key( - CreateShardKeyRequestBuilder::new("{collection_name}").request( - CreateShardKeyBuilder::default() - .shard_key(Key::Keyword("{shard_key}".to_string())) - .initial_state(ReplicaState::Active), - ), - ) - .await?; - Ok(()) - } - let _ = create_shard_key().await; -} diff --git a/tests/snippet_tests/test_create_snapshot.rs b/tests/snippet_tests/test_create_snapshot.rs deleted file mode 100644 index 464484f..0000000 --- a/tests/snippet_tests/test_create_snapshot.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_create_snapshot() { - async fn create_snapshot() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_snapshot.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.create_snapshot("{collection_name}").await?; - Ok(()) - } - let _ = create_snapshot().await; -} diff --git a/tests/snippet_tests/test_create_text_index.rs b/tests/snippet_tests/test_create_text_index.rs deleted file mode 100644 index 9f22f52..0000000 --- a/tests/snippet_tests/test_create_text_index.rs +++ /dev/null @@ -1,34 +0,0 @@ - -#[tokio::test] -async fn test_create_text_index() { - async fn create_text_index() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/create_text_index.rs` file - use qdrant_client::qdrant::{ - CreateFieldIndexCollectionBuilder, - TextIndexParamsBuilder, - FieldType, - TokenizerType, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let text_index_params = TextIndexParamsBuilder::new(TokenizerType::Word) - .min_token_len(2) - .max_token_len(10) - .lowercase(true); - - client - .create_field_index( - CreateFieldIndexCollectionBuilder::new( - "{collection_name}", - "{field_name}", - FieldType::Text, - ).field_index_params(text_index_params.build()), - ) - .await?; - Ok(()) - } - let _ = create_text_index().await; -} diff --git a/tests/snippet_tests/test_delete_collection.rs b/tests/snippet_tests/test_delete_collection.rs deleted file mode 100644 index cb159b2..0000000 --- a/tests/snippet_tests/test_delete_collection.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_delete_collection() { - async fn delete_collection() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_collection.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.delete_collection("{collection_name}").await?; - Ok(()) - } - let _ = delete_collection().await; -} diff --git a/tests/snippet_tests/test_delete_field_index.rs b/tests/snippet_tests/test_delete_field_index.rs deleted file mode 100644 index 8e53a7d..0000000 --- a/tests/snippet_tests/test_delete_field_index.rs +++ /dev/null @@ -1,21 +0,0 @@ - -#[tokio::test] -async fn test_delete_field_index() { - async fn delete_field_index() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_field_index.rs` file - use qdrant_client::qdrant::DeleteFieldIndexCollectionBuilder; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_field_index(DeleteFieldIndexCollectionBuilder::new( - "{collection_name}", - "{field_name}", - )) - .await?; - Ok(()) - } - let _ = delete_field_index().await; -} diff --git a/tests/snippet_tests/test_delete_full_snapshot.rs b/tests/snippet_tests/test_delete_full_snapshot.rs deleted file mode 100644 index 8aaa972..0000000 --- a/tests/snippet_tests/test_delete_full_snapshot.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_delete_full_snapshot() { - async fn delete_full_snapshot() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_full_snapshot.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.delete_full_snapshot("{snapshot_name}").await?; - Ok(()) - } - let _ = delete_full_snapshot().await; -} diff --git a/tests/snippet_tests/test_delete_payload.rs b/tests/snippet_tests/test_delete_payload.rs deleted file mode 100644 index ae32c74..0000000 --- a/tests/snippet_tests/test_delete_payload.rs +++ /dev/null @@ -1,27 +0,0 @@ - -#[tokio::test] -async fn test_delete_payload() { - async fn delete_payload() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_payload.rs` file - use qdrant_client::qdrant::{DeletePayloadPointsBuilder, PointsIdsList}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_payload( - DeletePayloadPointsBuilder::new( - "{collection_name}", - vec!["color".to_string(), "price".to_string()], - ) - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = delete_payload().await; -} diff --git a/tests/snippet_tests/test_delete_points.rs b/tests/snippet_tests/test_delete_points.rs deleted file mode 100644 index 4b41850..0000000 --- a/tests/snippet_tests/test_delete_points.rs +++ /dev/null @@ -1,35 +0,0 @@ - -#[tokio::test] -async fn test_delete_points() { - async fn delete_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_points.rs` file - use qdrant_client::qdrant::{Condition, DeletePointsBuilder, Filter, PointsIdsList}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_points( - DeletePointsBuilder::new("{collection_name}") - .points(PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }) - .wait(true), - ) - .await?; - - client - .delete_points( - DeletePointsBuilder::new("{collection_name}") - .points(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = delete_points().await; -} diff --git a/tests/snippet_tests/test_delete_shard_key.rs b/tests/snippet_tests/test_delete_shard_key.rs deleted file mode 100644 index fa0cabf..0000000 --- a/tests/snippet_tests/test_delete_shard_key.rs +++ /dev/null @@ -1,22 +0,0 @@ - -#[tokio::test] -async fn test_delete_shard_key() { - async fn delete_shard_key() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_shard_key.rs` file - use qdrant_client::qdrant::shard_key::Key; - use qdrant_client::qdrant::DeleteShardKeyRequestBuilder; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_shard_key( - DeleteShardKeyRequestBuilder::new("{collection_name}") - .key(Key::Keyword("{shard_key}".to_string())), - ) - .await?; - Ok(()) - } - let _ = delete_shard_key().await; -} diff --git a/tests/snippet_tests/test_delete_snapshot.rs b/tests/snippet_tests/test_delete_snapshot.rs deleted file mode 100644 index c16e9e9..0000000 --- a/tests/snippet_tests/test_delete_snapshot.rs +++ /dev/null @@ -1,21 +0,0 @@ - -#[tokio::test] -async fn test_delete_snapshot() { - async fn delete_snapshot() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_snapshot.rs` file - use qdrant_client::qdrant::DeleteSnapshotRequestBuilder; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_snapshot(DeleteSnapshotRequestBuilder::new( - "{collection_name}", - "{snapshot_name}", - )) - .await?; - Ok(()) - } - let _ = delete_snapshot().await; -} diff --git a/tests/snippet_tests/test_delete_vectors.rs b/tests/snippet_tests/test_delete_vectors.rs deleted file mode 100644 index 1564b83..0000000 --- a/tests/snippet_tests/test_delete_vectors.rs +++ /dev/null @@ -1,27 +0,0 @@ - -#[tokio::test] -async fn test_delete_vectors() { - async fn delete_vectors() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/delete_vectors.rs` file - use qdrant_client::qdrant::{DeletePointVectorsBuilder, PointsIdsList, VectorsSelector}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .delete_vectors( - DeletePointVectorsBuilder::new("{collection_name}") - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - }) - .vectors(VectorsSelector { - names: vec!["text".into(), "image".into()], - }) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = delete_vectors().await; -} diff --git a/tests/snippet_tests/test_discover_batch_points.rs b/tests/snippet_tests/test_discover_batch_points.rs deleted file mode 100644 index 975bb5f..0000000 --- a/tests/snippet_tests/test_discover_batch_points.rs +++ /dev/null @@ -1,55 +0,0 @@ - -#[tokio::test] -async fn test_discover_batch_points() { - async fn discover_batch_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/discover_batch_points.rs` file - use qdrant_client::qdrant::{ - vector_example::Example, ContextExamplePairBuilder, DiscoverBatchPointsBuilder, - DiscoverPointsBuilder, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let discover_points = DiscoverBatchPointsBuilder::new( - "{collection_name}", - vec![ - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(718.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(200.into())) - .negative(Example::Id(300.into())) - .build(), - ], - 10, - ) - .build(), - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(342.into())) - .negative(Example::Id(213.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(200.into())) - .build(), - ], - 10, - ) - .build(), - ], - ); - - client.discover_batch(&discover_points.build()).await?; - Ok(()) - } - let _ = discover_batch_points().await; -} diff --git a/tests/snippet_tests/test_discover_points.rs b/tests/snippet_tests/test_discover_points.rs deleted file mode 100644 index d2c8473..0000000 --- a/tests/snippet_tests/test_discover_points.rs +++ /dev/null @@ -1,39 +0,0 @@ - -#[tokio::test] -async fn test_discover_points() { - async fn discover_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/discover_points.rs` file - use qdrant_client::qdrant::{ - target_vector::Target, vector_example::Example, ContextExamplePairBuilder, - DiscoverPointsBuilder, VectorExample, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .discover( - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(718.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(200.into())) - .negative(Example::Id(300.into())) - .build(), - ], - 10, - ) - .target(Target::Single(VectorExample { - example: Some(Example::Vector(vec![0.2, 0.1, 0.9, 0.7].into())), - })), - ) - .await?; - Ok(()) - } - let _ = discover_points().await; -} diff --git a/tests/snippet_tests/test_facets.rs b/tests/snippet_tests/test_facets.rs deleted file mode 100644 index 951125f..0000000 --- a/tests/snippet_tests/test_facets.rs +++ /dev/null @@ -1,25 +0,0 @@ - -#[tokio::test] -async fn test_facets() { - async fn facets() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/facets.rs` file - use qdrant_client::qdrant::{Condition, FacetCountsBuilder, Filter}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .facet( - FacetCountsBuilder::new("world_data", "country") - .limit(10) - .filter(Filter::must(vec![Condition::matches( - "continent", - "Europe".to_string(), - )])), - ) - .await?; - Ok(()) - } - let _ = facets().await; -} diff --git a/tests/snippet_tests/test_get_collection.rs b/tests/snippet_tests/test_get_collection.rs deleted file mode 100644 index b5d9faf..0000000 --- a/tests/snippet_tests/test_get_collection.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_get_collection() { - async fn get_collection() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/get_collection.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.collection_info("{collection_name}").await?; - Ok(()) - } - let _ = get_collection().await; -} diff --git a/tests/snippet_tests/test_get_collection_aliases.rs b/tests/snippet_tests/test_get_collection_aliases.rs deleted file mode 100644 index 01a44c7..0000000 --- a/tests/snippet_tests/test_get_collection_aliases.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_get_collection_aliases() { - async fn get_collection_aliases() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/get_collection_aliases.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.list_collection_aliases("{collection_name}").await?; - Ok(()) - } - let _ = get_collection_aliases().await; -} diff --git a/tests/snippet_tests/test_get_collections.rs b/tests/snippet_tests/test_get_collections.rs deleted file mode 100644 index c0bec8b..0000000 --- a/tests/snippet_tests/test_get_collections.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_get_collections() { - async fn get_collections() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/get_collections.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.list_collections().await?; - Ok(()) - } - let _ = get_collections().await; -} diff --git a/tests/snippet_tests/test_get_collections_aliases.rs b/tests/snippet_tests/test_get_collections_aliases.rs deleted file mode 100644 index 79b4877..0000000 --- a/tests/snippet_tests/test_get_collections_aliases.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_get_collections_aliases() { - async fn get_collections_aliases() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/get_collections_aliases.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.list_aliases().await?; - Ok(()) - } - let _ = get_collections_aliases().await; -} diff --git a/tests/snippet_tests/test_get_points.rs b/tests/snippet_tests/test_get_points.rs deleted file mode 100644 index 83824c1..0000000 --- a/tests/snippet_tests/test_get_points.rs +++ /dev/null @@ -1,21 +0,0 @@ - -#[tokio::test] -async fn test_get_points() { - async fn get_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/get_points.rs` file - use qdrant_client::qdrant::GetPointsBuilder; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .get_points(GetPointsBuilder::new( - "{collection_name}", - vec![0.into(), 30.into(), 100.into()], - )) - .await?; - Ok(()) - } - let _ = get_points().await; -} diff --git a/tests/snippet_tests/test_list_full_snapshots.rs b/tests/snippet_tests/test_list_full_snapshots.rs deleted file mode 100644 index b33a46c..0000000 --- a/tests/snippet_tests/test_list_full_snapshots.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_list_full_snapshots() { - async fn list_full_snapshots() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/list_full_snapshots.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.list_full_snapshots().await?; - Ok(()) - } - let _ = list_full_snapshots().await; -} diff --git a/tests/snippet_tests/test_list_shard_keys.rs b/tests/snippet_tests/test_list_shard_keys.rs deleted file mode 100644 index cb36853..0000000 --- a/tests/snippet_tests/test_list_shard_keys.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_list_shard_keys() { - async fn list_shard_keys() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/list_shard_keys.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let _response = client.list_shard_keys("{collection_name}").await?; - Ok(()) - } - let _ = list_shard_keys().await; -} diff --git a/tests/snippet_tests/test_list_snapshots.rs b/tests/snippet_tests/test_list_snapshots.rs deleted file mode 100644 index d6aaf68..0000000 --- a/tests/snippet_tests/test_list_snapshots.rs +++ /dev/null @@ -1,15 +0,0 @@ - -#[tokio::test] -async fn test_list_snapshots() { - async fn list_snapshots() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/list_snapshots.rs` file - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.list_snapshots("{collection_name}").await?; - Ok(()) - } - let _ = list_snapshots().await; -} diff --git a/tests/snippet_tests/test_overwrite_payload.rs b/tests/snippet_tests/test_overwrite_payload.rs deleted file mode 100644 index c1d69c9..0000000 --- a/tests/snippet_tests/test_overwrite_payload.rs +++ /dev/null @@ -1,34 +0,0 @@ - -#[tokio::test] -async fn test_overwrite_payload() { - async fn overwrite_payload() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/overwrite_payload.rs` file - use qdrant_client::qdrant::{ - points_selector::PointsSelectorOneOf, PointsIdsList, SetPayloadPointsBuilder, - }; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let payload: Payload = json!({ - "property1": "string", - "property2": "string", - }) - .try_into() - .unwrap(); - - client - .overwrite_payload( - SetPayloadPointsBuilder::new("{collection_name}", payload) - .points_selector(PointsSelectorOneOf::Points(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - })) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = overwrite_payload().await; -} diff --git a/tests/snippet_tests/test_query_document.rs b/tests/snippet_tests/test_query_document.rs deleted file mode 100644 index ecd3cea..0000000 --- a/tests/snippet_tests/test_query_document.rs +++ /dev/null @@ -1,26 +0,0 @@ - -#[tokio::test] -async fn test_query_document() { - async fn query_document() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/query_document.rs` file - use qdrant_client::qdrant::{Document, Query, QueryPointsBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let query_document = Document::new( - "my query text", - "sentence-transformers/all-minilm-l6-v2" - ); - - let query_request = QueryPointsBuilder::new("{collection_name}") - .query(Query::new_nearest(query_document)); - - // ANN search with server-side inference - client.query(query_request).await?; - - Ok(()) - } - let _ = query_document().await; -} diff --git a/tests/snippet_tests/test_query_image.rs b/tests/snippet_tests/test_query_image.rs deleted file mode 100644 index f98a6e7..0000000 --- a/tests/snippet_tests/test_query_image.rs +++ /dev/null @@ -1,26 +0,0 @@ - -#[tokio::test] -async fn test_query_image() { - async fn query_image() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/query_image.rs` file - use qdrant_client::qdrant::{Image, Query, QueryPointsBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let query_image = Image::new_from_url( - "https://picsum.photos/200/300.jpg", - "Qdrant/clip-ViT-B-32-vision" - ); - - let query_request = QueryPointsBuilder::new("{collection_name}") - .query(Query::new_nearest(query_image)); - - // ANN search with server-side inference - client.query(query_request).await?; - - Ok(()) - } - let _ = query_image().await; -} diff --git a/tests/snippet_tests/test_query_points.rs b/tests/snippet_tests/test_query_points.rs deleted file mode 100644 index 3edaae8..0000000 --- a/tests/snippet_tests/test_query_points.rs +++ /dev/null @@ -1,183 +0,0 @@ - -#[tokio::test] -async fn test_query_points() { - async fn query_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/query_points.rs` file - use qdrant_client::qdrant::{ - AcornSearchParamsBuilder, Condition, DecayParamsExpressionBuilder, Expression, - Filter, FormulaBuilder, Fusion, GeoPoint, - PointId, PrefetchQueryBuilder, Query, QueryPointsBuilder, - RecommendInputBuilder, RrfBuilder, Sample, - SearchParamsBuilder, ShardKey, ShardKeySelectorBuilder, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - // Query nearest by ID - let _nearest = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(PointId::from("43cf51e2-8777-4f52-bc74-c2cbde0c8b04")) - ).await?; - - // Recommend on the average of these vectors - let _recommendations = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_recommend( - RecommendInputBuilder::default() - .add_positive(vec![0.1; 8]) - .add_negative(PointId::from(0)) - )) - ).await?; - - // Fusion query - let _hybrid = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) - ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) - ) - .query(Fusion::Rrf) - ).await?; - - // 2-stage query - let _refined = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64) - ) - .query(vec![ - vec![0.1, 0.2], - vec![0.2, 0.1], - vec![0.8, 0.9], - ]) - .using("colbert") - .limit(10u64) - ).await?; - - // Random sampling (as of 1.11.0) - let _sampled = client - .query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_sample(Sample::Random)) - ) - .await?; - - // Score boost depending on payload conditions (as of 1.14.0) - let _tag_boosted = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64) - ) - .query(FormulaBuilder::new(Expression::sum_with([ - Expression::score(), - Expression::mult_with([ - Expression::constant(0.5), - Expression::condition(Condition::matches("tag", ["h1", "h2", "h3", "h4"])), - ]), - Expression::mult_with([ - Expression::constant(0.25), - Expression::condition(Condition::matches("tag", ["p", "li"])), - ]), - ]))) - .limit(10) - ).await?; - - // Score boost geographically closer points (as of 1.14.0) - let _geo_boosted = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch( - PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64), - ) - .query( - FormulaBuilder::new(Expression::sum_with([ - Expression::score(), - Expression::exp_decay( - DecayParamsExpressionBuilder::new(Expression::geo_distance_with( - // Berlin - GeoPoint { lat: 52.504043, lon: 13.393236 }, - "geo.location", - )) - .scale(5_000.0), - ), - ])) - // Munich - .add_default("geo.location", GeoPoint { lat: 48.137154, lon: 11.576124 }), - ) - .limit(10), - ) - .await?; - - // RRF fusion query using Query::new_rrf constructor - let _rrf_hybrid = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) - ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) - ) - .query(Query::new_rrf(RrfBuilder::new())) - ).await?; - - // RRF with custom k parameter - let _rrf_custom = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) - ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) - ) - .query(Query::new_rrf(RrfBuilder::with_k(100))) - ).await?; - - // Query with ACORN enabled for filtered query - let _acorn_query = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(vec![0.01, 0.45, 0.67]) - .filter(Filter::must([Condition::matches( - "category", - "electronics".to_string(), - )])) - .params( - SearchParamsBuilder::default() - .hnsw_ef(128) - .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)) - ) - .limit(10u64) - ).await?; - - // Query in specific shards with fallback - let _shard_query = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(vec![0.01, 0.45, 0.67]) - .shard_key_selector( - ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from("shard_1".to_string())]) - .fallback(ShardKey::from("shard_backup".to_string())) - ) - .limit(10u64) - ).await?; - Ok(()) - } - let _ = query_points().await; -} diff --git a/tests/snippet_tests/test_query_points_groups.rs b/tests/snippet_tests/test_query_points_groups.rs deleted file mode 100644 index 9064739..0000000 --- a/tests/snippet_tests/test_query_points_groups.rs +++ /dev/null @@ -1,21 +0,0 @@ - -#[tokio::test] -async fn test_query_points_groups() { - async fn query_points_groups() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/query_points_groups.rs` file - use qdrant_client::Qdrant; - use qdrant_client::qdrant::{Query, QueryPointGroupsBuilder}; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client.query_groups( - QueryPointGroupsBuilder::new("{collection_name}", "document_id") - .query(Query::from(vec![0.01, 0.45, 0.67])) - .limit(10u64) - .group_size(5u64) - ).await?; - Ok(()) - } - let _ = query_points_groups().await; -} diff --git a/tests/snippet_tests/test_query_points_relevance_feedback.rs b/tests/snippet_tests/test_query_points_relevance_feedback.rs deleted file mode 100644 index 64f5bcf..0000000 --- a/tests/snippet_tests/test_query_points_relevance_feedback.rs +++ /dev/null @@ -1,29 +0,0 @@ - -#[tokio::test] -async fn test_query_points_relevance_feedback() { - async fn query_points_relevance_feedback() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/query_points_relevance_feedback.rs` file - use qdrant_client::qdrant::{ - FeedbackItemBuilder, FeedbackStrategyBuilder, PointId, Query, QueryPointsBuilder, - RelevanceFeedbackInputBuilder, VectorInput, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - // Relevance feedback query (as of 1.17.0) - let _feedback = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_relevance_feedback( - RelevanceFeedbackInputBuilder::new(vec![0.01, 0.45, 0.67]) - .add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(42)), 0.9)) - .add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(7)), 0.1)) - .strategy(FeedbackStrategyBuilder::naive(1.0, 1.0, 1.0)) - )) - .limit(10u64) - ).await?; - Ok(()) - } - let _ = query_points_relevance_feedback().await; -} diff --git a/tests/snippet_tests/test_recommend_batch_points.rs b/tests/snippet_tests/test_recommend_batch_points.rs deleted file mode 100644 index ac7d3d5..0000000 --- a/tests/snippet_tests/test_recommend_batch_points.rs +++ /dev/null @@ -1,39 +0,0 @@ - -#[tokio::test] -async fn test_recommend_batch_points() { - async fn recommend_batch_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/recommend_batch_points.rs` file - use qdrant_client::qdrant::{ - Condition, Filter, RecommendBatchPointsBuilder, RecommendPointsBuilder, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let filter = Filter::must([Condition::matches("city", "London".to_string())]); - let recommend_queries = vec![ - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(100) - .add_positive(231) - .add_negative(718) - .filter(filter.clone()) - .build(), - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(200) - .add_positive(67) - .add_negative(300) - .filter(filter.clone()) - .build(), - ]; - - client - .recommend_batch(RecommendBatchPointsBuilder::new( - "{collection_name}", - recommend_queries, - )) - .await?; - Ok(()) - } - let _ = recommend_batch_points().await; -} diff --git a/tests/snippet_tests/test_recommend_point_groups.rs b/tests/snippet_tests/test_recommend_point_groups.rs deleted file mode 100644 index e8183b0..0000000 --- a/tests/snippet_tests/test_recommend_point_groups.rs +++ /dev/null @@ -1,24 +0,0 @@ - -#[tokio::test] -async fn test_recommend_point_groups() { - async fn recommend_point_groups() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/recommend_point_groups.rs` file - use qdrant_client::qdrant::{RecommendPointGroupsBuilder, RecommendStrategy}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .recommend_groups( - RecommendPointGroupsBuilder::new("{collection_name}", "document_id", 2, 3) - .add_positive(100) - .add_positive(200) - .add_negative(718) - .strategy(RecommendStrategy::AverageVector), - ) - .await?; - Ok(()) - } - let _ = recommend_point_groups().await; -} diff --git a/tests/snippet_tests/test_recommend_points.rs b/tests/snippet_tests/test_recommend_points.rs deleted file mode 100644 index a13fd3c..0000000 --- a/tests/snippet_tests/test_recommend_points.rs +++ /dev/null @@ -1,30 +0,0 @@ - -#[tokio::test] -async fn test_recommend_points() { - async fn recommend_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/recommend_points.rs` file - use qdrant_client::qdrant::{Condition, Filter, RecommendPointsBuilder, RecommendStrategy}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .recommend( - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(100) - .add_positive(200) - .add_positive(vec![100.0, 231.0]) - .add_negative(718) - .add_negative(vec![0.2, 0.3, 0.4, 0.5]) - .strategy(RecommendStrategy::AverageVector) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])), - ) - .await?; - Ok(()) - } - let _ = recommend_points().await; -} diff --git a/tests/snippet_tests/test_replicate_points.rs b/tests/snippet_tests/test_replicate_points.rs deleted file mode 100644 index c142e69..0000000 --- a/tests/snippet_tests/test_replicate_points.rs +++ /dev/null @@ -1,35 +0,0 @@ - -#[tokio::test] -async fn test_replicate_points() { - async fn replicate_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/replicate_points.rs` file - use qdrant_client::qdrant::{ - update_collection_cluster_setup_request::Operation, Condition, Filter, - ReplicatePointsBuilder, ShardKey, UpdateCollectionClusterSetupRequest, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .update_collection_cluster_setup(UpdateCollectionClusterSetupRequest { - collection_name: "{collection_name}".to_string(), - operation: Some(Operation::ReplicatePoints( - ReplicatePointsBuilder::new( - ShardKey::from("source_shard"), - ShardKey::from("target_shard"), - ) - .filter(Filter::must([Condition::matches( - "user", - "tenant-123".to_string(), - )])) - .build(), - )), - timeout: None, - }) - .await?; - Ok(()) - } - let _ = replicate_points().await; -} diff --git a/tests/snippet_tests/test_scroll_points.rs b/tests/snippet_tests/test_scroll_points.rs deleted file mode 100644 index 06d7118..0000000 --- a/tests/snippet_tests/test_scroll_points.rs +++ /dev/null @@ -1,39 +0,0 @@ - -#[tokio::test] -async fn test_scroll_points() { - async fn scroll_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/scroll_points.rs` file - use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .limit(1) - .with_payload(true) - .with_vectors(false), - ) - .await?; - - // Filter points matching any of the text words - client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches_text_any( - "description", - "machine learning artificial intelligence", - )])) - .limit(10u32), - ) - .await?; - Ok(()) - } - let _ = scroll_points().await; -} diff --git a/tests/snippet_tests/test_scroll_points_with_vectors.rs b/tests/snippet_tests/test_scroll_points_with_vectors.rs deleted file mode 100644 index 73ba4d0..0000000 --- a/tests/snippet_tests/test_scroll_points_with_vectors.rs +++ /dev/null @@ -1,32 +0,0 @@ - -#[tokio::test] -async fn test_scroll_points_with_vectors() { - async fn scroll_points_with_vectors() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/scroll_points_with_vectors.rs` file - use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let scroll_response = client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .limit(1) - .with_payload(true) - .with_vectors(true), - ) - .await?; - - for point in scroll_response.result { - let vector = point.vectors.unwrap().get_vector(); - println!("vector: {vector:?}"); - } - Ok(()) - } - let _ = scroll_points_with_vectors().await; -} diff --git a/tests/snippet_tests/test_search_batch_points.rs b/tests/snippet_tests/test_search_batch_points.rs deleted file mode 100644 index 836546a..0000000 --- a/tests/snippet_tests/test_search_batch_points.rs +++ /dev/null @@ -1,31 +0,0 @@ - -#[tokio::test] -async fn test_search_batch_points() { - async fn search_batch_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/search_batch_points.rs` file - use qdrant_client::qdrant::{ - Condition, Filter, SearchBatchPointsBuilder, SearchPointsBuilder, - }; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let filter = Filter::must([Condition::matches("city", "London".to_string())]); - - let searches = vec![ - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(filter.clone()) - .build(), - SearchPointsBuilder::new("{collection_name}", vec![0.5, 0.3, 0.2, 0.3], 3) - .filter(filter.clone()) - .build(), - ]; - - client - .search_batch_points(SearchBatchPointsBuilder::new("{collection_name}", searches)) - .await?; - Ok(()) - } - let _ = search_batch_points().await; -} diff --git a/tests/snippet_tests/test_search_matrix_offsets.rs b/tests/snippet_tests/test_search_matrix_offsets.rs deleted file mode 100644 index 276c87c..0000000 --- a/tests/snippet_tests/test_search_matrix_offsets.rs +++ /dev/null @@ -1,26 +0,0 @@ - -#[tokio::test] -async fn test_search_matrix_offsets() { - async fn search_matrix_offsets() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/search_matrix_offsets.rs` file - use qdrant_client::qdrant::{Condition, SearchMatrixPointsBuilder, Filter}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .search_matrix_offsets( - SearchMatrixPointsBuilder::new("collection_name") - .filter(Filter::must(vec![Condition::matches( - "color", - "red".to_string(), - )])) - .sample(1000) - .limit(10), - ) - .await?; - Ok(()) - } - let _ = search_matrix_offsets().await; -} diff --git a/tests/snippet_tests/test_search_matrix_pairs.rs b/tests/snippet_tests/test_search_matrix_pairs.rs deleted file mode 100644 index bc4b198..0000000 --- a/tests/snippet_tests/test_search_matrix_pairs.rs +++ /dev/null @@ -1,26 +0,0 @@ - -#[tokio::test] -async fn test_search_matrix_pairs() { - async fn search_matrix_pairs() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/search_matrix_pairs.rs` file - use qdrant_client::qdrant::{Condition, SearchMatrixPointsBuilder, Filter}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .search_matrix_pairs( - SearchMatrixPointsBuilder::new("collection_name") - .filter(Filter::must(vec![Condition::matches( - "color", - "red".to_string(), - )])) - .sample(1000) - .limit(10), - ) - .await?; - Ok(()) - } - let _ = search_matrix_pairs().await; -} diff --git a/tests/snippet_tests/test_search_point_groups.rs b/tests/snippet_tests/test_search_point_groups.rs deleted file mode 100644 index 85cf8a2..0000000 --- a/tests/snippet_tests/test_search_point_groups.rs +++ /dev/null @@ -1,24 +0,0 @@ - -#[tokio::test] -async fn test_search_point_groups() { - async fn search_point_groups() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/search_point_groups.rs` file - use qdrant_client::qdrant::SearchPointGroupsBuilder; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .search_groups(SearchPointGroupsBuilder::new( - "{collection_name}", - vec![1.1], - 4, - "document_id", - 2, - )) - .await?; - Ok(()) - } - let _ = search_point_groups().await; -} diff --git a/tests/snippet_tests/test_search_points.rs b/tests/snippet_tests/test_search_points.rs deleted file mode 100644 index 39b140b..0000000 --- a/tests/snippet_tests/test_search_points.rs +++ /dev/null @@ -1,52 +0,0 @@ - -#[tokio::test] -async fn test_search_points() { - async fn search_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/search_points.rs` file - use qdrant_client::qdrant::{AcornSearchParamsBuilder, Condition, Filter, SearchParamsBuilder, SearchPointsBuilder, ShardKey, ShardKeySelectorBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])) - .params(SearchParamsBuilder::default().hnsw_ef(128).exact(false)), - ) - .await?; - - // Search with ACORN enabled for filtered search - client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])) - .params( - SearchParamsBuilder::default() - .hnsw_ef(128) - .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)) - ), - ) - .await?; - - // Search in specific shards with fallback - client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .shard_key_selector( - ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from("shard_1".to_string())]) - .fallback(ShardKey::from("shard_backup".to_string())) - ), - ) - .await?; - Ok(()) - } - let _ = search_points().await; -} diff --git a/tests/snippet_tests/test_set_payload.rs b/tests/snippet_tests/test_set_payload.rs deleted file mode 100644 index 293e0bb..0000000 --- a/tests/snippet_tests/test_set_payload.rs +++ /dev/null @@ -1,32 +0,0 @@ - -#[tokio::test] -async fn test_set_payload() { - async fn set_payload() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/set_payload.rs` file - use qdrant_client::qdrant::{PointsIdsList, SetPayloadPointsBuilder}; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let payload: Payload = json!({ - "property1": "string", - "property2": "string", - }) - .try_into() - .unwrap(); - - client - .set_payload( - SetPayloadPointsBuilder::new("{collection_name}", payload) - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - }) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = set_payload().await; -} diff --git a/tests/snippet_tests/test_update_aliases.rs b/tests/snippet_tests/test_update_aliases.rs deleted file mode 100644 index cedcf78..0000000 --- a/tests/snippet_tests/test_update_aliases.rs +++ /dev/null @@ -1,27 +0,0 @@ - -#[tokio::test] -async fn test_update_aliases() { - async fn update_aliases() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/update_aliases.rs` file - use qdrant_client::qdrant::{CreateAliasBuilder, DeleteAlias}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .create_alias(CreateAliasBuilder::new( - "example_collection", - "production_collection", - )) - .await?; - - client - .delete_alias(DeleteAlias { - alias_name: "production_collection".to_string(), - }) - .await?; - Ok(()) - } - let _ = update_aliases().await; -} diff --git a/tests/snippet_tests/test_update_collection.rs b/tests/snippet_tests/test_update_collection.rs deleted file mode 100644 index 5864034..0000000 --- a/tests/snippet_tests/test_update_collection.rs +++ /dev/null @@ -1,22 +0,0 @@ - -#[tokio::test] -async fn test_update_collection() { - async fn update_collection() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/update_collection.rs` file - use qdrant_client::qdrant::{OptimizersConfigDiffBuilder, UpdateCollectionBuilder}; - use qdrant_client::Qdrant; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .update_collection( - UpdateCollectionBuilder::new("{collection_name}").optimizers_config( - OptimizersConfigDiffBuilder::default().indexing_threshold(10_000), - ), - ) - .await?; - Ok(()) - } - let _ = update_collection().await; -} diff --git a/tests/snippet_tests/test_update_collection_metadata.rs b/tests/snippet_tests/test_update_collection_metadata.rs deleted file mode 100644 index 280bf3e..0000000 --- a/tests/snippet_tests/test_update_collection_metadata.rs +++ /dev/null @@ -1,28 +0,0 @@ - -#[tokio::test] -async fn test_update_collection_metadata() { - async fn update_collection_metadata() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/update_collection_metadata.rs` file - use qdrant_client::qdrant::{UpdateCollectionBuilder}; - use qdrant_client::Qdrant; - use serde_json::{json, Value}; - use std::collections::HashMap; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let mut metadata: HashMap = HashMap::new(); - metadata.insert("my-metadata-field".to_string(), json!({ - "key-a": "value-a", - "key-b": 42 - })); - - client - .update_collection( - UpdateCollectionBuilder::new("{collection_name}").metadata(metadata), - ) - .await?; - Ok(()) - } - let _ = update_collection_metadata().await; -} diff --git a/tests/snippet_tests/test_update_vectors.rs b/tests/snippet_tests/test_update_vectors.rs deleted file mode 100644 index 822fd3c..0000000 --- a/tests/snippet_tests/test_update_vectors.rs +++ /dev/null @@ -1,43 +0,0 @@ - -#[tokio::test] -async fn test_update_vectors() { - async fn update_vectors() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/update_vectors.rs` file - use qdrant_client::qdrant::{PointVectors, UpdatePointVectorsBuilder}; - use qdrant_client::Qdrant; - use std::collections::HashMap; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .update_vectors( - UpdatePointVectorsBuilder::new( - "{collection_name}", - vec![ - PointVectors { - id: Some(1.into()), - vectors: Some( - HashMap::from([("image".to_string(), vec![0.1, 0.2, 0.3, 0.4])]) - .into(), - ), - }, - PointVectors { - id: Some(2.into()), - vectors: Some( - HashMap::from([( - "text".to_string(), - vec![0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2], - )]) - .into(), - ), - }, - ], - ) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = update_vectors().await; -} diff --git a/tests/snippet_tests/test_upsert_document.rs b/tests/snippet_tests/test_upsert_document.rs deleted file mode 100644 index 0c00ae4..0000000 --- a/tests/snippet_tests/test_upsert_document.rs +++ /dev/null @@ -1,36 +0,0 @@ - -#[tokio::test] -async fn test_upsert_document() { - async fn upsert_document() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_document.rs` file - use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Document}; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let document = Document::new("my document", "sentence-transformers/all-minilm-l6-v2"); - - client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( - 1, - document, - Payload::try_from(json!( - {"color": "red"} - )) - .unwrap(), - ) - ], - ) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = upsert_document().await; -} diff --git a/tests/snippet_tests/test_upsert_image.rs b/tests/snippet_tests/test_upsert_image.rs deleted file mode 100644 index 0d7211a..0000000 --- a/tests/snippet_tests/test_upsert_image.rs +++ /dev/null @@ -1,36 +0,0 @@ - -#[tokio::test] -async fn test_upsert_image() { - async fn upsert_image() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_image.rs` file - use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Image}; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let image = Image::new_from_url("https://picsum.photos/200/300.jpg", "Qdrant/clip-ViT-B-32-vision"); - - client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( - 1, - image, - Payload::try_from(json!( - {"color": "red"} - )) - .unwrap(), - ) - ], - ) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = upsert_image().await; -} diff --git a/tests/snippet_tests/test_upsert_points.rs b/tests/snippet_tests/test_upsert_points.rs deleted file mode 100644 index 28741e1..0000000 --- a/tests/snippet_tests/test_upsert_points.rs +++ /dev/null @@ -1,50 +0,0 @@ - -#[tokio::test] -async fn test_upsert_points() { - async fn upsert_points() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_points.rs` file - use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder}; - use qdrant_client::{Qdrant, Payload}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( - 1, - vec![0.9, 0.1, 0.1], - Payload::try_from(json!( - {"color": "red"} - )) - .unwrap(), - ), - PointStruct::new( - 2, - vec![0.1, 0.9, 0.1], - Payload::try_from(json!( - {"color": "green"} - )) - .unwrap(), - ), - PointStruct::new( - 3, - vec![0.1, 0.1, 0.9], - Payload::try_from(json!( - {"color": "blue"} - )) - .unwrap(), - ), - ], - ) - .wait(true), - ) - .await?; - Ok(()) - } - let _ = upsert_points().await; -} diff --git a/tests/snippet_tests/test_upsert_points_fallback_shard_key.rs b/tests/snippet_tests/test_upsert_points_fallback_shard_key.rs deleted file mode 100644 index 5f8ed3d..0000000 --- a/tests/snippet_tests/test_upsert_points_fallback_shard_key.rs +++ /dev/null @@ -1,39 +0,0 @@ - -#[tokio::test] -async fn test_upsert_points_fallback_shard_key() { - async fn upsert_points_fallback_shard_key() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_points_fallback_shard_key.rs` file - use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, ShardKeySelectorBuilder}; - use qdrant_client::{Payload, Qdrant}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let points = vec![ - PointStruct::new( - 1, - vec![0.05, 0.61, 0.76, 0.74], - Payload::try_from(json!({ - "city": "Berlin", - "price": 1.99, - "version": 3 - })).unwrap(), - ) - ]; - - let shard_key_selector = ShardKeySelectorBuilder::with_shard_key("tenant-123") - .fallback("default") - .add_shard_key("tenant-123") - .build(); - - client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .shard_key_selector(shard_key_selector) - ).await?; - Ok(()) - } - let _ = upsert_points_fallback_shard_key().await; -} diff --git a/tests/snippet_tests/test_upsert_points_insert_only.rs b/tests/snippet_tests/test_upsert_points_insert_only.rs deleted file mode 100644 index 9e5bb79..0000000 --- a/tests/snippet_tests/test_upsert_points_insert_only.rs +++ /dev/null @@ -1,34 +0,0 @@ - -#[tokio::test] -async fn test_upsert_points_insert_only() { - async fn upsert_points_insert_only() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_points_insert_only.rs` file - use qdrant_client::qdrant::{PointStruct, UpdateMode, UpsertPointsBuilder}; - use qdrant_client::{Payload, Qdrant}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let points = vec![PointStruct::new( - 1, - vec![0.05, 0.61, 0.76, 0.74], - Payload::try_from(json!({ - "city": "Berlin", - "price": 1.99, - })) - .unwrap(), - )]; - - // Only insert new points, do not update existing ones - client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .update_mode(UpdateMode::InsertOnly), - ) - .await?; - Ok(()) - } - let _ = upsert_points_insert_only().await; -} diff --git a/tests/snippet_tests/test_upsert_points_with_condition.rs b/tests/snippet_tests/test_upsert_points_with_condition.rs deleted file mode 100644 index 204a3d6..0000000 --- a/tests/snippet_tests/test_upsert_points_with_condition.rs +++ /dev/null @@ -1,34 +0,0 @@ - -#[tokio::test] -async fn test_upsert_points_with_condition() { - async fn upsert_points_with_condition() -> Result<(), Box> { - // WARNING: This is a generated test snippet. - // Please, modify the snippet in the `../snippets/upsert_points_with_condition.rs` file - use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Filter, Condition}; - use qdrant_client::{Payload, Qdrant}; - use serde_json::json; - - let client = Qdrant::from_url("http://localhost:6334").build()?; - - let points = vec![ - PointStruct::new( - 1, - vec![0.05, 0.61, 0.76, 0.74], - Payload::try_from(json!({ - "city": "Berlin", - "price": 1.99, - "version": 3 - })).unwrap(), - ) - ]; - - client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .update_filter(Filter::must([Condition::matches("version", 2)])) - ).await?; - Ok(()) - } - let _ = upsert_points_with_condition().await; -} diff --git a/tests/snippets/batch_update.rs b/tests/snippets/batch_update.rs index decf523..53ef07f 100644 --- a/tests/snippets/batch_update.rs +++ b/tests/snippets/batch_update.rs @@ -1,56 +1,59 @@ -use qdrant_client::qdrant::{ - points_selector::PointsSelectorOneOf, - points_update_operation::{ +crate::qdrant_test_snippet!({ + use std::collections::HashMap; + + use qdrant_client::qdrant::points_selector::PointsSelectorOneOf; + use qdrant_client::qdrant::points_update_operation::{ Operation, OverwritePayload, PointStructList, UpdateVectors, - }, - PointStruct, PointVectors, PointsIdsList, PointsSelector, PointsUpdateOperation, - UpdateBatchPointsBuilder, -}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; -use std::collections::HashMap; + }; + use qdrant_client::qdrant::{ + PointStruct, PointVectors, PointsIdsList, PointsSelector, PointsUpdateOperation, + UpdateBatchPointsBuilder, + }; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .update_points_batch( - UpdateBatchPointsBuilder::new( - "{collection_name}", - vec![ - PointsUpdateOperation { - operation: Some(Operation::Upsert(PointStructList { - points: vec![PointStruct::new( - 1, - vec![1.0, 2.0, 3.0, 4.0], - Payload::try_from(json!({})).unwrap(), - )], - ..Default::default() - })), - }, - PointsUpdateOperation { - operation: Some(Operation::UpdateVectors(UpdateVectors { - points: vec![PointVectors { - id: Some(1.into()), - vectors: Some(vec![1.0, 2.0, 3.0, 4.0].into()), - }], - ..Default::default() - })), - }, - PointsUpdateOperation { - operation: Some(Operation::OverwritePayload(OverwritePayload { - points_selector: Some(PointsSelector { - points_selector_one_of: Some(PointsSelectorOneOf::Points( - PointsIdsList { - ids: vec![1.into()], - }, - )), - }), - payload: HashMap::from([("test_payload".to_string(), 1.into())]), - ..Default::default() - })), - }, - ], + client + .update_points_batch( + UpdateBatchPointsBuilder::new( + "{collection_name}", + vec![ + PointsUpdateOperation { + operation: Some(Operation::Upsert(PointStructList { + points: vec![PointStruct::new( + 1, + vec![1.0, 2.0, 3.0, 4.0], + Payload::try_from(json!({})).unwrap(), + )], + ..Default::default() + })), + }, + PointsUpdateOperation { + operation: Some(Operation::UpdateVectors(UpdateVectors { + points: vec![PointVectors { + id: Some(1.into()), + vectors: Some(vec![1.0, 2.0, 3.0, 4.0].into()), + }], + ..Default::default() + })), + }, + PointsUpdateOperation { + operation: Some(Operation::OverwritePayload(OverwritePayload { + points_selector: Some(PointsSelector { + points_selector_one_of: Some(PointsSelectorOneOf::Points( + PointsIdsList { + ids: vec![1.into()], + }, + )), + }), + payload: HashMap::from([("test_payload".to_string(), 1.into())]), + ..Default::default() + })), + }, + ], + ) + .wait(true), ) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/clear_payload.rs b/tests/snippets/clear_payload.rs index bd2d4a3..d786bfc 100644 --- a/tests/snippets/clear_payload.rs +++ b/tests/snippets/clear_payload.rs @@ -1,12 +1,14 @@ -use qdrant_client::qdrant::{ClearPayloadPointsBuilder, PointsIdsList}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ClearPayloadPointsBuilder, PointsIdsList}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .clear_payload(ClearPayloadPointsBuilder::new("{collection_name}").points( - PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }, - )) - .await?; + client + .clear_payload( + ClearPayloadPointsBuilder::new("{collection_name}").points(PointsIdsList { + ids: vec![0.into(), 3.into(), 100.into()], + }), + ) + .await?; +}); diff --git a/tests/snippets/collection_exists.rs b/tests/snippets/collection_exists.rs index d9824f3..360f603 100644 --- a/tests/snippets/collection_exists.rs +++ b/tests/snippets/collection_exists.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.collection_exists("{collection_name}").await?; + client.collection_exists("{collection_name}").await?; +}); diff --git a/tests/snippets/count_points.rs b/tests/snippets/count_points.rs index 39750ea..eb3ef43 100644 --- a/tests/snippets/count_points.rs +++ b/tests/snippets/count_points.rs @@ -1,15 +1,17 @@ -use qdrant_client::qdrant::{Condition, CountPointsBuilder, Filter}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, CountPointsBuilder, Filter}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .count( - CountPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .exact(true), - ) - .await?; + client + .count( + CountPointsBuilder::new("{collection_name}") + .filter(Filter::must([Condition::matches( + "color", + "red".to_string(), + )])) + .exact(true), + ) + .await?; +}); diff --git a/tests/snippets/create_collection.rs b/tests/snippets/create_collection.rs index 774a328..9ad679d 100644 --- a/tests/snippets/create_collection.rs +++ b/tests/snippets/create_collection.rs @@ -1,11 +1,13 @@ -use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)), - ) - .await?; + client + .create_collection( + CreateCollectionBuilder::new("{collection_name}") + .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)), + ) + .await?; +}); diff --git a/tests/snippets/create_collection_with_bq.rs b/tests/snippets/create_collection_with_bq.rs index fde5754..882310e 100644 --- a/tests/snippets/create_collection_with_bq.rs +++ b/tests/snippets/create_collection_with_bq.rs @@ -1,18 +1,21 @@ -use qdrant_client::qdrant::{ - BinaryQuantizationBuilder, BinaryQuantizationEncoding, CreateCollectionBuilder, Distance, VectorParamsBuilder, BinaryQuantizationQueryEncoding, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + BinaryQuantizationBuilder, BinaryQuantizationEncoding, BinaryQuantizationQueryEncoding, + CreateCollectionBuilder, Distance, VectorParamsBuilder, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(1536, Distance::Cosine)) - .quantization_config( - BinaryQuantizationBuilder::new(true) - .encoding(BinaryQuantizationEncoding::TwoBits) - .query_encoding(BinaryQuantizationQueryEncoding::scalar8bits()) - ), - ) - .await?; \ No newline at end of file + client + .create_collection( + CreateCollectionBuilder::new("{collection_name}") + .vectors_config(VectorParamsBuilder::new(1536, Distance::Cosine)) + .quantization_config( + BinaryQuantizationBuilder::new(true) + .encoding(BinaryQuantizationEncoding::TwoBits) + .query_encoding(BinaryQuantizationQueryEncoding::scalar8bits()), + ), + ) + .await?; +}); diff --git a/tests/snippets/create_collection_with_metadata.rs b/tests/snippets/create_collection_with_metadata.rs index e3bd1b1..5b33494 100644 --- a/tests/snippets/create_collection_with_metadata.rs +++ b/tests/snippets/create_collection_with_metadata.rs @@ -1,20 +1,21 @@ -use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; -use qdrant_client::Qdrant; -use serde_json::{json, Value}; -use std::collections::HashMap; +crate::qdrant_test_snippet!({ + use std::collections::HashMap; -let client = Qdrant::from_url("http://localhost:6334").build()?; + use qdrant_client::qdrant::{CreateCollectionBuilder, Distance, VectorParamsBuilder}; + use qdrant_client::Qdrant; + use serde_json::{json, Value}; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let mut metadata: HashMap = HashMap::new(); -metadata.insert("my-metadata-field".to_string(), json!("value-1")); -metadata.insert("another-field".to_string(), json!(123)); + let mut metadata: HashMap = HashMap::new(); + metadata.insert("my-metadata-field".to_string(), json!("value-1")); + metadata.insert("another-field".to_string(), json!(123)); - -client - .create_collection( - CreateCollectionBuilder::new("{collection_name}") - .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)) - .metadata(metadata), - ) - .await?; + client + .create_collection( + CreateCollectionBuilder::new("{collection_name}") + .vectors_config(VectorParamsBuilder::new(100, Distance::Cosine)) + .metadata(metadata), + ) + .await?; +}); diff --git a/tests/snippets/create_field_index.rs b/tests/snippets/create_field_index.rs index 86aa712..2546173 100644 --- a/tests/snippets/create_field_index.rs +++ b/tests/snippets/create_field_index.rs @@ -1,14 +1,14 @@ -use qdrant_client::qdrant::{CreateFieldIndexCollectionBuilder, FieldType}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{CreateFieldIndexCollectionBuilder, FieldType}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .create_field_index( - CreateFieldIndexCollectionBuilder::new( + client + .create_field_index(CreateFieldIndexCollectionBuilder::new( "{collection_name}", "{field_name}", FieldType::Keyword, - ), - ) - .await?; + )) + .await?; +}); diff --git a/tests/snippets/create_full_snapshot.rs b/tests/snippets/create_full_snapshot.rs index 4088ed2..2773ddf 100644 --- a/tests/snippets/create_full_snapshot.rs +++ b/tests/snippets/create_full_snapshot.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.create_full_snapshot().await?; + client.create_full_snapshot().await?; +}); diff --git a/tests/snippets/create_shard_key.rs b/tests/snippets/create_shard_key.rs index 6559eb7..0786baa 100644 --- a/tests/snippets/create_shard_key.rs +++ b/tests/snippets/create_shard_key.rs @@ -1,16 +1,19 @@ -use qdrant_client::qdrant::shard_key::Key; -use qdrant_client::qdrant::{CreateShardKeyBuilder, CreateShardKeyRequestBuilder}; -use qdrant_client::qdrant::ReplicaState; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::shard_key::Key; + use qdrant_client::qdrant::{ + CreateShardKeyBuilder, CreateShardKeyRequestBuilder, ReplicaState, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .create_shard_key( - CreateShardKeyRequestBuilder::new("{collection_name}").request( - CreateShardKeyBuilder::default() - .shard_key(Key::Keyword("{shard_key}".to_string())) - .initial_state(ReplicaState::Active), - ), - ) - .await?; + client + .create_shard_key( + CreateShardKeyRequestBuilder::new("{collection_name}").request( + CreateShardKeyBuilder::default() + .shard_key(Key::Keyword("{shard_key}".to_string())) + .initial_state(ReplicaState::Active), + ), + ) + .await?; +}); diff --git a/tests/snippets/create_snapshot.rs b/tests/snippets/create_snapshot.rs index 9e24a7f..070b66e 100644 --- a/tests/snippets/create_snapshot.rs +++ b/tests/snippets/create_snapshot.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.create_snapshot("{collection_name}").await?; + client.create_snapshot("{collection_name}").await?; +}); diff --git a/tests/snippets/create_text_index.rs b/tests/snippets/create_text_index.rs index 8005cdc..d6474ba 100644 --- a/tests/snippets/create_text_index.rs +++ b/tests/snippets/create_text_index.rs @@ -1,24 +1,24 @@ -use qdrant_client::qdrant::{ - CreateFieldIndexCollectionBuilder, - TextIndexParamsBuilder, - FieldType, - TokenizerType, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + CreateFieldIndexCollectionBuilder, FieldType, TextIndexParamsBuilder, TokenizerType, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let text_index_params = TextIndexParamsBuilder::new(TokenizerType::Word) - .min_token_len(2) - .max_token_len(10) - .lowercase(true); + let text_index_params = TextIndexParamsBuilder::new(TokenizerType::Word) + .min_token_len(2) + .max_token_len(10) + .lowercase(true); -client - .create_field_index( - CreateFieldIndexCollectionBuilder::new( - "{collection_name}", - "{field_name}", - FieldType::Text, - ).field_index_params(text_index_params.build()), - ) - .await?; \ No newline at end of file + client + .create_field_index( + CreateFieldIndexCollectionBuilder::new( + "{collection_name}", + "{field_name}", + FieldType::Text, + ) + .field_index_params(text_index_params.build()), + ) + .await?; +}); diff --git a/tests/snippets/delete_collection.rs b/tests/snippets/delete_collection.rs index c159486..1f29eab 100644 --- a/tests/snippets/delete_collection.rs +++ b/tests/snippets/delete_collection.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.delete_collection("{collection_name}").await?; + client.delete_collection("{collection_name}").await?; +}); diff --git a/tests/snippets/delete_field_index.rs b/tests/snippets/delete_field_index.rs index e52dbdf..f158892 100644 --- a/tests/snippets/delete_field_index.rs +++ b/tests/snippets/delete_field_index.rs @@ -1,11 +1,13 @@ -use qdrant_client::qdrant::DeleteFieldIndexCollectionBuilder; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::DeleteFieldIndexCollectionBuilder; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_field_index(DeleteFieldIndexCollectionBuilder::new( - "{collection_name}", - "{field_name}", - )) - .await?; + client + .delete_field_index(DeleteFieldIndexCollectionBuilder::new( + "{collection_name}", + "{field_name}", + )) + .await?; +}); diff --git a/tests/snippets/delete_full_snapshot.rs b/tests/snippets/delete_full_snapshot.rs index 58c5838..97f8d35 100644 --- a/tests/snippets/delete_full_snapshot.rs +++ b/tests/snippets/delete_full_snapshot.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.delete_full_snapshot("{snapshot_name}").await?; + client.delete_full_snapshot("{snapshot_name}").await?; +}); diff --git a/tests/snippets/delete_payload.rs b/tests/snippets/delete_payload.rs index 74549d9..19a096b 100644 --- a/tests/snippets/delete_payload.rs +++ b/tests/snippets/delete_payload.rs @@ -1,17 +1,19 @@ -use qdrant_client::qdrant::{DeletePayloadPointsBuilder, PointsIdsList}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{DeletePayloadPointsBuilder, PointsIdsList}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_payload( - DeletePayloadPointsBuilder::new( - "{collection_name}", - vec!["color".to_string(), "price".to_string()], + client + .delete_payload( + DeletePayloadPointsBuilder::new( + "{collection_name}", + vec!["color".to_string(), "price".to_string()], + ) + .points_selector(PointsIdsList { + ids: vec![0.into(), 3.into(), 100.into()], + }) + .wait(true), ) - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/delete_points.rs b/tests/snippets/delete_points.rs index 2bed705..1adb5f8 100644 --- a/tests/snippets/delete_points.rs +++ b/tests/snippets/delete_points.rs @@ -1,25 +1,27 @@ -use qdrant_client::qdrant::{Condition, DeletePointsBuilder, Filter, PointsIdsList}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, DeletePointsBuilder, Filter, PointsIdsList}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_points( - DeletePointsBuilder::new("{collection_name}") - .points(PointsIdsList { - ids: vec![0.into(), 3.into(), 100.into()], - }) - .wait(true), - ) - .await?; + client + .delete_points( + DeletePointsBuilder::new("{collection_name}") + .points(PointsIdsList { + ids: vec![0.into(), 3.into(), 100.into()], + }) + .wait(true), + ) + .await?; -client - .delete_points( - DeletePointsBuilder::new("{collection_name}") - .points(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .wait(true), - ) - .await?; + client + .delete_points( + DeletePointsBuilder::new("{collection_name}") + .points(Filter::must([Condition::matches( + "color", + "red".to_string(), + )])) + .wait(true), + ) + .await?; +}); diff --git a/tests/snippets/delete_shard_key.rs b/tests/snippets/delete_shard_key.rs index 67283fa..2e03c9b 100644 --- a/tests/snippets/delete_shard_key.rs +++ b/tests/snippets/delete_shard_key.rs @@ -1,12 +1,14 @@ -use qdrant_client::qdrant::shard_key::Key; -use qdrant_client::qdrant::DeleteShardKeyRequestBuilder; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::shard_key::Key; + use qdrant_client::qdrant::DeleteShardKeyRequestBuilder; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_shard_key( - DeleteShardKeyRequestBuilder::new("{collection_name}") - .key(Key::Keyword("{shard_key}".to_string())), - ) - .await?; + client + .delete_shard_key( + DeleteShardKeyRequestBuilder::new("{collection_name}") + .key(Key::Keyword("{shard_key}".to_string())), + ) + .await?; +}); diff --git a/tests/snippets/delete_snapshot.rs b/tests/snippets/delete_snapshot.rs index f6700cc..747c8c2 100644 --- a/tests/snippets/delete_snapshot.rs +++ b/tests/snippets/delete_snapshot.rs @@ -1,11 +1,13 @@ -use qdrant_client::qdrant::DeleteSnapshotRequestBuilder; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::DeleteSnapshotRequestBuilder; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_snapshot(DeleteSnapshotRequestBuilder::new( - "{collection_name}", - "{snapshot_name}", - )) - .await?; + client + .delete_snapshot(DeleteSnapshotRequestBuilder::new( + "{collection_name}", + "{snapshot_name}", + )) + .await?; +}); diff --git a/tests/snippets/delete_vectors.rs b/tests/snippets/delete_vectors.rs index 68dcc4e..655c93e 100644 --- a/tests/snippets/delete_vectors.rs +++ b/tests/snippets/delete_vectors.rs @@ -1,17 +1,19 @@ -use qdrant_client::qdrant::{DeletePointVectorsBuilder, PointsIdsList, VectorsSelector}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{DeletePointVectorsBuilder, PointsIdsList, VectorsSelector}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .delete_vectors( - DeletePointVectorsBuilder::new("{collection_name}") - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - }) - .vectors(VectorsSelector { - names: vec!["text".into(), "image".into()], - }) - .wait(true), - ) - .await?; + client + .delete_vectors( + DeletePointVectorsBuilder::new("{collection_name}") + .points_selector(PointsIdsList { + ids: vec![0.into(), 3.into(), 10.into()], + }) + .vectors(VectorsSelector { + names: vec!["text".into(), "image".into()], + }) + .wait(true), + ) + .await?; +}); diff --git a/tests/snippets/discover_batch_points.rs b/tests/snippets/discover_batch_points.rs index efdfd75..80bb98e 100644 --- a/tests/snippets/discover_batch_points.rs +++ b/tests/snippets/discover_batch_points.rs @@ -1,45 +1,47 @@ -use qdrant_client::qdrant::{ - vector_example::Example, ContextExamplePairBuilder, DiscoverBatchPointsBuilder, - DiscoverPointsBuilder, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::vector_example::Example; + use qdrant_client::qdrant::{ + ContextExamplePairBuilder, DiscoverBatchPointsBuilder, DiscoverPointsBuilder, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let discover_points = DiscoverBatchPointsBuilder::new( - "{collection_name}", - vec![ - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(718.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(200.into())) - .negative(Example::Id(300.into())) - .build(), - ], - 10, - ) - .build(), - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(342.into())) - .negative(Example::Id(213.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(200.into())) - .build(), - ], - 10, - ) - .build(), - ], -); + let discover_points = DiscoverBatchPointsBuilder::new( + "{collection_name}", + vec![ + DiscoverPointsBuilder::new( + "{collection_name}", + vec![ + ContextExamplePairBuilder::default() + .positive(Example::Id(100.into())) + .negative(Example::Id(718.into())) + .build(), + ContextExamplePairBuilder::default() + .positive(Example::Id(200.into())) + .negative(Example::Id(300.into())) + .build(), + ], + 10, + ) + .build(), + DiscoverPointsBuilder::new( + "{collection_name}", + vec![ + ContextExamplePairBuilder::default() + .positive(Example::Id(342.into())) + .negative(Example::Id(213.into())) + .build(), + ContextExamplePairBuilder::default() + .positive(Example::Id(100.into())) + .negative(Example::Id(200.into())) + .build(), + ], + 10, + ) + .build(), + ], + ); -client.discover_batch(&discover_points.build()).await?; + client.discover_batch(&discover_points.build()).await?; +}); diff --git a/tests/snippets/discover_points.rs b/tests/snippets/discover_points.rs index 2cc7e2d..27afda6 100644 --- a/tests/snippets/discover_points.rs +++ b/tests/snippets/discover_points.rs @@ -1,29 +1,30 @@ -use qdrant_client::qdrant::{ - target_vector::Target, vector_example::Example, ContextExamplePairBuilder, - DiscoverPointsBuilder, VectorExample, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::target_vector::Target; + use qdrant_client::qdrant::vector_example::Example; + use qdrant_client::qdrant::{ContextExamplePairBuilder, DiscoverPointsBuilder, VectorExample}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .discover( - DiscoverPointsBuilder::new( - "{collection_name}", - vec![ - ContextExamplePairBuilder::default() - .positive(Example::Id(100.into())) - .negative(Example::Id(718.into())) - .build(), - ContextExamplePairBuilder::default() - .positive(Example::Id(200.into())) - .negative(Example::Id(300.into())) - .build(), - ], - 10, + client + .discover( + DiscoverPointsBuilder::new( + "{collection_name}", + vec![ + ContextExamplePairBuilder::default() + .positive(Example::Id(100.into())) + .negative(Example::Id(718.into())) + .build(), + ContextExamplePairBuilder::default() + .positive(Example::Id(200.into())) + .negative(Example::Id(300.into())) + .build(), + ], + 10, + ) + .target(Target::Single(VectorExample { + example: Some(Example::Vector(vec![0.2, 0.1, 0.9, 0.7].into())), + })), ) - .target(Target::Single(VectorExample { - example: Some(Example::Vector(vec![0.2, 0.1, 0.9, 0.7].into())), - })), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/facets.rs b/tests/snippets/facets.rs index aea1be7..9ffc619 100644 --- a/tests/snippets/facets.rs +++ b/tests/snippets/facets.rs @@ -1,15 +1,17 @@ -use qdrant_client::qdrant::{Condition, FacetCountsBuilder, Filter}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, FacetCountsBuilder, Filter}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .facet( - FacetCountsBuilder::new("world_data", "country") - .limit(10) - .filter(Filter::must(vec![Condition::matches( - "continent", - "Europe".to_string(), - )])), - ) - .await?; + client + .facet( + FacetCountsBuilder::new("world_data", "country") + .limit(10) + .filter(Filter::must(vec![Condition::matches( + "continent", + "Europe".to_string(), + )])), + ) + .await?; +}); diff --git a/tests/snippets/get_collection.rs b/tests/snippets/get_collection.rs index fa3ca1e..c0dd0ed 100644 --- a/tests/snippets/get_collection.rs +++ b/tests/snippets/get_collection.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.collection_info("{collection_name}").await?; + client.collection_info("{collection_name}").await?; +}); diff --git a/tests/snippets/get_collection_aliases.rs b/tests/snippets/get_collection_aliases.rs index 7b9c9a2..7536afa 100644 --- a/tests/snippets/get_collection_aliases.rs +++ b/tests/snippets/get_collection_aliases.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.list_collection_aliases("{collection_name}").await?; + client.list_collection_aliases("{collection_name}").await?; +}); diff --git a/tests/snippets/get_collections.rs b/tests/snippets/get_collections.rs index c04e221..a8aef47 100644 --- a/tests/snippets/get_collections.rs +++ b/tests/snippets/get_collections.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.list_collections().await?; + client.list_collections().await?; +}); diff --git a/tests/snippets/get_collections_aliases.rs b/tests/snippets/get_collections_aliases.rs index 9864b2a..78a97e8 100644 --- a/tests/snippets/get_collections_aliases.rs +++ b/tests/snippets/get_collections_aliases.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.list_aliases().await?; + client.list_aliases().await?; +}); diff --git a/tests/snippets/get_points.rs b/tests/snippets/get_points.rs index 37e21d8..2dfa96b 100644 --- a/tests/snippets/get_points.rs +++ b/tests/snippets/get_points.rs @@ -1,11 +1,13 @@ -use qdrant_client::qdrant::GetPointsBuilder; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::GetPointsBuilder; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .get_points(GetPointsBuilder::new( - "{collection_name}", - vec![0.into(), 30.into(), 100.into()], - )) - .await?; + client + .get_points(GetPointsBuilder::new( + "{collection_name}", + vec![0.into(), 30.into(), 100.into()], + )) + .await?; +}); diff --git a/tests/snippets/list_full_snapshots.rs b/tests/snippets/list_full_snapshots.rs index e0eda88..569333c 100644 --- a/tests/snippets/list_full_snapshots.rs +++ b/tests/snippets/list_full_snapshots.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.list_full_snapshots().await?; + client.list_full_snapshots().await?; +}); diff --git a/tests/snippets/list_shard_keys.rs b/tests/snippets/list_shard_keys.rs index 2e0dd0e..9d94603 100644 --- a/tests/snippets/list_shard_keys.rs +++ b/tests/snippets/list_shard_keys.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let _response = client.list_shard_keys("{collection_name}").await?; + let _response = client.list_shard_keys("{collection_name}").await?; +}); diff --git a/tests/snippets/list_snapshots.rs b/tests/snippets/list_snapshots.rs index d594b6c..a7df753 100644 --- a/tests/snippets/list_snapshots.rs +++ b/tests/snippets/list_snapshots.rs @@ -1,5 +1,7 @@ -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.list_snapshots("{collection_name}").await?; + client.list_snapshots("{collection_name}").await?; +}); diff --git a/tests/snippets/mod.rs b/tests/snippets/mod.rs new file mode 100644 index 0000000..7a8ee25 --- /dev/null +++ b/tests/snippets/mod.rs @@ -0,0 +1,59 @@ +mod batch_update; +mod clear_payload; +mod collection_exists; +mod count_points; +mod create_collection; +mod create_collection_with_bq; +mod create_collection_with_metadata; +mod create_field_index; +mod create_full_snapshot; +mod create_shard_key; +mod create_snapshot; +mod create_text_index; +mod delete_collection; +mod delete_field_index; +mod delete_full_snapshot; +mod delete_payload; +mod delete_points; +mod delete_shard_key; +mod delete_snapshot; +mod delete_vectors; +mod discover_batch_points; +mod discover_points; +mod facets; +mod get_collection; +mod get_collection_aliases; +mod get_collections; +mod get_collections_aliases; +mod get_points; +mod list_full_snapshots; +mod list_shard_keys; +mod list_snapshots; +mod overwrite_payload; +mod query_document; +mod query_image; +mod query_points; +mod query_points_groups; +mod query_points_relevance_feedback; +mod recommend_batch_points; +mod recommend_point_groups; +mod recommend_points; +mod replicate_points; +mod scroll_points; +mod scroll_points_with_vectors; +mod search_batch_points; +mod search_matrix_offsets; +mod search_matrix_pairs; +mod search_point_groups; +mod search_points; +mod set_payload; +mod update_aliases; +mod update_collection; +mod update_collection_metadata; +mod update_vectors; +mod upsert_document; +mod upsert_image; +mod upsert_points; +mod upsert_points_fallback_shard_key; +mod upsert_points_insert_only; +mod upsert_points_with_condition; diff --git a/tests/snippets/overwrite_payload.rs b/tests/snippets/overwrite_payload.rs index d22330f..3fc4de8 100644 --- a/tests/snippets/overwrite_payload.rs +++ b/tests/snippets/overwrite_payload.rs @@ -1,24 +1,25 @@ -use qdrant_client::qdrant::{ - points_selector::PointsSelectorOneOf, PointsIdsList, SetPayloadPointsBuilder, -}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::points_selector::PointsSelectorOneOf; + use qdrant_client::qdrant::{PointsIdsList, SetPayloadPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let payload: Payload = json!({ - "property1": "string", - "property2": "string", -}) -.try_into() -.unwrap(); + let payload: Payload = json!({ + "property1": "string", + "property2": "string", + }) + .try_into() + .unwrap(); -client - .overwrite_payload( - SetPayloadPointsBuilder::new("{collection_name}", payload) - .points_selector(PointsSelectorOneOf::Points(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - })) - .wait(true), - ) - .await?; + client + .overwrite_payload( + SetPayloadPointsBuilder::new("{collection_name}", payload) + .points_selector(PointsSelectorOneOf::Points(PointsIdsList { + ids: vec![0.into(), 3.into(), 10.into()], + })) + .wait(true), + ) + .await?; +}); diff --git a/tests/snippets/query_document.rs b/tests/snippets/query_document.rs index bf0df6f..74678c3 100644 --- a/tests/snippets/query_document.rs +++ b/tests/snippets/query_document.rs @@ -1,16 +1,14 @@ -use qdrant_client::qdrant::{Document, Query, QueryPointsBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Document, Query, QueryPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let query_document = Document::new( - "my query text", - "sentence-transformers/all-minilm-l6-v2" -); + let query_document = Document::new("my query text", "sentence-transformers/all-minilm-l6-v2"); -let query_request = QueryPointsBuilder::new("{collection_name}") - .query(Query::new_nearest(query_document)); - -// ANN search with server-side inference -client.query(query_request).await?; + let query_request = + QueryPointsBuilder::new("{collection_name}").query(Query::new_nearest(query_document)); + // ANN search with server-side inference + client.query(query_request).await?; +}); diff --git a/tests/snippets/query_image.rs b/tests/snippets/query_image.rs index ed46298..43325b4 100644 --- a/tests/snippets/query_image.rs +++ b/tests/snippets/query_image.rs @@ -1,16 +1,17 @@ -use qdrant_client::qdrant::{Image, Query, QueryPointsBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Image, Query, QueryPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let query_image = Image::new_from_url( - "https://picsum.photos/200/300.jpg", - "Qdrant/clip-ViT-B-32-vision" -); + let query_image = Image::new_from_url( + "https://picsum.photos/200/300.jpg", + "Qdrant/clip-ViT-B-32-vision", + ); -let query_request = QueryPointsBuilder::new("{collection_name}") - .query(Query::new_nearest(query_image)); - -// ANN search with server-side inference -client.query(query_request).await?; + let query_request = + QueryPointsBuilder::new("{collection_name}").query(Query::new_nearest(query_image)); + // ANN search with server-side inference + client.query(query_request).await?; +}); diff --git a/tests/snippets/query_points.rs b/tests/snippets/query_points.rs index 307a46f..70965fe 100644 --- a/tests/snippets/query_points.rs +++ b/tests/snippets/query_points.rs @@ -1,173 +1,206 @@ -use qdrant_client::qdrant::{ - AcornSearchParamsBuilder, Condition, DecayParamsExpressionBuilder, Expression, - Filter, FormulaBuilder, Fusion, GeoPoint, - PointId, PrefetchQueryBuilder, Query, QueryPointsBuilder, - RecommendInputBuilder, RrfBuilder, Sample, - SearchParamsBuilder, ShardKey, ShardKeySelectorBuilder, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + AcornSearchParamsBuilder, Condition, DecayParamsExpressionBuilder, Expression, Filter, + FormulaBuilder, Fusion, GeoPoint, PointId, PrefetchQueryBuilder, Query, QueryPointsBuilder, + RecommendInputBuilder, RrfBuilder, Sample, SearchParamsBuilder, ShardKey, + ShardKeySelectorBuilder, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -// Query nearest by ID -let _nearest = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(PointId::from("43cf51e2-8777-4f52-bc74-c2cbde0c8b04")) -).await?; - -// Recommend on the average of these vectors -let _recommendations = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_recommend( - RecommendInputBuilder::default() - .add_positive(vec![0.1; 8]) - .add_negative(PointId::from(0)) - )) -).await?; - -// Fusion query -let _hybrid = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) + // Query nearest by ID + let _nearest = client + .query( + QueryPointsBuilder::new("{collection_name}") + .query(PointId::from("43cf51e2-8777-4f52-bc74-c2cbde0c8b04")), ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) + .await?; + + // Recommend on the average of these vectors + let _recommendations = client + .query( + QueryPointsBuilder::new("{collection_name}").query(Query::new_recommend( + RecommendInputBuilder::default() + .add_positive(vec![0.1; 8]) + .add_negative(PointId::from(0)), + )), ) - .query(Fusion::Rrf) -).await?; + .await?; -// 2-stage query -let _refined = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64) + // Fusion query + let _hybrid = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![(1, 0.22), (42, 0.8)]) + .using("sparse") + .limit(20u64), + ) + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .using("dense") + .limit(20u64), + ) + .query(Fusion::Rrf), ) - .query(vec![ - vec![0.1, 0.2], - vec![0.2, 0.1], - vec![0.8, 0.9], - ]) - .using("colbert") - .limit(10u64) -).await?; + .await?; -// Random sampling (as of 1.11.0) -let _sampled = client - .query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_sample(Sample::Random)) - ) - .await?; + // 2-stage query + let _refined = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .limit(100u64), + ) + .query(vec![vec![0.1, 0.2], vec![0.2, 0.1], vec![0.8, 0.9]]) + .using("colbert") + .limit(10u64), + ) + .await?; -// Score boost depending on payload conditions (as of 1.14.0) -let _tag_boosted = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64) + // Random sampling (as of 1.11.0) + let _sampled = client + .query( + QueryPointsBuilder::new("{collection_name}").query(Query::new_sample(Sample::Random)), ) - .query(FormulaBuilder::new(Expression::sum_with([ - Expression::score(), - Expression::mult_with([ - Expression::constant(0.5), - Expression::condition(Condition::matches("tag", ["h1", "h2", "h3", "h4"])), - ]), - Expression::mult_with([ - Expression::constant(0.25), - Expression::condition(Condition::matches("tag", ["p", "li"])), - ]), - ]))) - .limit(10) -).await?; + .await?; -// Score boost geographically closer points (as of 1.14.0) -let _geo_boosted = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch( - PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .limit(100u64), - ) - .query( - FormulaBuilder::new(Expression::sum_with([ + // Score boost depending on payload conditions (as of 1.14.0) + let _tag_boosted = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .limit(100u64), + ) + .query(FormulaBuilder::new(Expression::sum_with([ Expression::score(), - Expression::exp_decay( - DecayParamsExpressionBuilder::new(Expression::geo_distance_with( - // Berlin - GeoPoint { lat: 52.504043, lon: 13.393236 }, - "geo.location", - )) - .scale(5_000.0), - ), - ])) - // Munich - .add_default("geo.location", GeoPoint { lat: 48.137154, lon: 11.576124 }), - ) - .limit(10), - ) - .await?; - -// RRF fusion query using Query::new_rrf constructor -let _rrf_hybrid = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) + Expression::mult_with([ + Expression::constant(0.5), + Expression::condition(Condition::matches("tag", ["h1", "h2", "h3", "h4"])), + ]), + Expression::mult_with([ + Expression::constant(0.25), + Expression::condition(Condition::matches("tag", ["p", "li"])), + ]), + ]))) + .limit(10), ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) + .await?; + + // Score boost geographically closer points (as of 1.14.0) + let _geo_boosted = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .limit(100u64), + ) + .query( + FormulaBuilder::new(Expression::sum_with([ + Expression::score(), + Expression::exp_decay( + DecayParamsExpressionBuilder::new(Expression::geo_distance_with( + // Berlin + GeoPoint { + lat: 52.504043, + lon: 13.393236, + }, + "geo.location", + )) + .scale(5_000.0), + ), + ])) + // Munich + .add_default( + "geo.location", + GeoPoint { + lat: 48.137154, + lon: 11.576124, + }, + ), + ) + .limit(10), ) - .query(Query::new_rrf(RrfBuilder::new())) -).await?; + .await?; -// RRF with custom k parameter -let _rrf_custom = client.query( - QueryPointsBuilder::new("{collection_name}") - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![(1, 0.22), (42, 0.8)]) - .using("sparse") - .limit(20u64) + // RRF fusion query using Query::new_rrf constructor + let _rrf_hybrid = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![(1, 0.22), (42, 0.8)]) + .using("sparse") + .limit(20u64), + ) + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .using("dense") + .limit(20u64), + ) + .query(Query::new_rrf(RrfBuilder::new())), ) - .add_prefetch(PrefetchQueryBuilder::default() - .query(vec![0.01, 0.45, 0.67]) - .using("dense") - .limit(20u64) + .await?; + + // RRF with custom k parameter + let _rrf_custom = client + .query( + QueryPointsBuilder::new("{collection_name}") + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![(1, 0.22), (42, 0.8)]) + .using("sparse") + .limit(20u64), + ) + .add_prefetch( + PrefetchQueryBuilder::default() + .query(vec![0.01, 0.45, 0.67]) + .using("dense") + .limit(20u64), + ) + .query(Query::new_rrf(RrfBuilder::with_k(100))), ) - .query(Query::new_rrf(RrfBuilder::with_k(100))) -).await?; + .await?; -// Query with ACORN enabled for filtered query -let _acorn_query = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(vec![0.01, 0.45, 0.67]) - .filter(Filter::must([Condition::matches( - "category", - "electronics".to_string(), - )])) - .params( - SearchParamsBuilder::default() - .hnsw_ef(128) - .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)) + // Query with ACORN enabled for filtered query + let _acorn_query = client + .query( + QueryPointsBuilder::new("{collection_name}") + .query(vec![0.01, 0.45, 0.67]) + .filter(Filter::must([Condition::matches( + "category", + "electronics".to_string(), + )])) + .params( + SearchParamsBuilder::default() + .hnsw_ef(128) + .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)), + ) + .limit(10u64), ) - .limit(10u64) -).await?; + .await?; -// Query in specific shards with fallback -let _shard_query = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(vec![0.01, 0.45, 0.67]) - .shard_key_selector( - ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from("shard_1".to_string())]) - .fallback(ShardKey::from("shard_backup".to_string())) + // Query in specific shards with fallback + let _shard_query = client + .query( + QueryPointsBuilder::new("{collection_name}") + .query(vec![0.01, 0.45, 0.67]) + .shard_key_selector( + ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from( + "shard_1".to_string(), + )]) + .fallback(ShardKey::from("shard_backup".to_string())), + ) + .limit(10u64), ) - .limit(10u64) -).await?; + .await?; +}); diff --git a/tests/snippets/query_points_groups.rs b/tests/snippets/query_points_groups.rs index 5726965..a3272be 100644 --- a/tests/snippets/query_points_groups.rs +++ b/tests/snippets/query_points_groups.rs @@ -1,11 +1,15 @@ -use qdrant_client::Qdrant; -use qdrant_client::qdrant::{Query, QueryPointGroupsBuilder}; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Query, QueryPointGroupsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client.query_groups( - QueryPointGroupsBuilder::new("{collection_name}", "document_id") - .query(Query::from(vec![0.01, 0.45, 0.67])) - .limit(10u64) - .group_size(5u64) -).await?; + client + .query_groups( + QueryPointGroupsBuilder::new("{collection_name}", "document_id") + .query(Query::from(vec![0.01, 0.45, 0.67])) + .limit(10u64) + .group_size(5u64), + ) + .await?; +}); diff --git a/tests/snippets/query_points_relevance_feedback.rs b/tests/snippets/query_points_relevance_feedback.rs index f4433c5..95700ab 100644 --- a/tests/snippets/query_points_relevance_feedback.rs +++ b/tests/snippets/query_points_relevance_feedback.rs @@ -1,19 +1,29 @@ -use qdrant_client::qdrant::{ - FeedbackItemBuilder, FeedbackStrategyBuilder, PointId, Query, QueryPointsBuilder, - RelevanceFeedbackInputBuilder, VectorInput, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + FeedbackItemBuilder, FeedbackStrategyBuilder, PointId, Query, QueryPointsBuilder, + RelevanceFeedbackInputBuilder, VectorInput, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -// Relevance feedback query (as of 1.17.0) -let _feedback = client.query( - QueryPointsBuilder::new("{collection_name}") - .query(Query::new_relevance_feedback( - RelevanceFeedbackInputBuilder::new(vec![0.01, 0.45, 0.67]) - .add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(42)), 0.9)) - .add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(7)), 0.1)) - .strategy(FeedbackStrategyBuilder::naive(1.0, 1.0, 1.0)) - )) - .limit(10u64) -).await?; + // Relevance feedback query (as of 1.17.0) + let _feedback = client + .query( + QueryPointsBuilder::new("{collection_name}") + .query(Query::new_relevance_feedback( + RelevanceFeedbackInputBuilder::new(vec![0.01, 0.45, 0.67]) + .add_feedback(FeedbackItemBuilder::new( + VectorInput::new_id(PointId::from(42)), + 0.9, + )) + .add_feedback(FeedbackItemBuilder::new( + VectorInput::new_id(PointId::from(7)), + 0.1, + )) + .strategy(FeedbackStrategyBuilder::naive(1.0, 1.0, 1.0)), + )) + .limit(10u64), + ) + .await?; +}); diff --git a/tests/snippets/recommend_batch_points.rs b/tests/snippets/recommend_batch_points.rs index 5d6abfd..9c1a713 100644 --- a/tests/snippets/recommend_batch_points.rs +++ b/tests/snippets/recommend_batch_points.rs @@ -1,29 +1,31 @@ -use qdrant_client::qdrant::{ - Condition, Filter, RecommendBatchPointsBuilder, RecommendPointsBuilder, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + Condition, Filter, RecommendBatchPointsBuilder, RecommendPointsBuilder, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let filter = Filter::must([Condition::matches("city", "London".to_string())]); -let recommend_queries = vec![ - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(100) - .add_positive(231) - .add_negative(718) - .filter(filter.clone()) - .build(), - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(200) - .add_positive(67) - .add_negative(300) - .filter(filter.clone()) - .build(), -]; + let filter = Filter::must([Condition::matches("city", "London".to_string())]); + let recommend_queries = vec![ + RecommendPointsBuilder::new("{collection_name}", 3) + .add_positive(100) + .add_positive(231) + .add_negative(718) + .filter(filter.clone()) + .build(), + RecommendPointsBuilder::new("{collection_name}", 3) + .add_positive(200) + .add_positive(67) + .add_negative(300) + .filter(filter.clone()) + .build(), + ]; -client - .recommend_batch(RecommendBatchPointsBuilder::new( - "{collection_name}", - recommend_queries, - )) - .await?; + client + .recommend_batch(RecommendBatchPointsBuilder::new( + "{collection_name}", + recommend_queries, + )) + .await?; +}); diff --git a/tests/snippets/recommend_point_groups.rs b/tests/snippets/recommend_point_groups.rs index d37e9a8..6701c09 100644 --- a/tests/snippets/recommend_point_groups.rs +++ b/tests/snippets/recommend_point_groups.rs @@ -1,14 +1,16 @@ -use qdrant_client::qdrant::{RecommendPointGroupsBuilder, RecommendStrategy}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{RecommendPointGroupsBuilder, RecommendStrategy}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .recommend_groups( - RecommendPointGroupsBuilder::new("{collection_name}", "document_id", 2, 3) - .add_positive(100) - .add_positive(200) - .add_negative(718) - .strategy(RecommendStrategy::AverageVector), - ) - .await?; + client + .recommend_groups( + RecommendPointGroupsBuilder::new("{collection_name}", "document_id", 2, 3) + .add_positive(100) + .add_positive(200) + .add_negative(718) + .strategy(RecommendStrategy::AverageVector), + ) + .await?; +}); diff --git a/tests/snippets/recommend_points.rs b/tests/snippets/recommend_points.rs index c22ef53..43a17d7 100644 --- a/tests/snippets/recommend_points.rs +++ b/tests/snippets/recommend_points.rs @@ -1,20 +1,22 @@ -use qdrant_client::qdrant::{Condition, Filter, RecommendPointsBuilder, RecommendStrategy}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, RecommendPointsBuilder, RecommendStrategy}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .recommend( - RecommendPointsBuilder::new("{collection_name}", 3) - .add_positive(100) - .add_positive(200) - .add_positive(vec![100.0, 231.0]) - .add_negative(718) - .add_negative(vec![0.2, 0.3, 0.4, 0.5]) - .strategy(RecommendStrategy::AverageVector) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])), - ) - .await?; + client + .recommend( + RecommendPointsBuilder::new("{collection_name}", 3) + .add_positive(100) + .add_positive(200) + .add_positive(vec![100.0, 231.0]) + .add_negative(718) + .add_negative(vec![0.2, 0.3, 0.4, 0.5]) + .strategy(RecommendStrategy::AverageVector) + .filter(Filter::must([Condition::matches( + "city", + "London".to_string(), + )])), + ) + .await?; +}); diff --git a/tests/snippets/replicate_points.rs b/tests/snippets/replicate_points.rs index 9d786a4..8ff49ff 100644 --- a/tests/snippets/replicate_points.rs +++ b/tests/snippets/replicate_points.rs @@ -1,25 +1,27 @@ -use qdrant_client::qdrant::{ - update_collection_cluster_setup_request::Operation, Condition, Filter, - ReplicatePointsBuilder, ShardKey, UpdateCollectionClusterSetupRequest, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::update_collection_cluster_setup_request::Operation; + use qdrant_client::qdrant::{ + Condition, Filter, ReplicatePointsBuilder, ShardKey, UpdateCollectionClusterSetupRequest, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .update_collection_cluster_setup(UpdateCollectionClusterSetupRequest { - collection_name: "{collection_name}".to_string(), - operation: Some(Operation::ReplicatePoints( - ReplicatePointsBuilder::new( - ShardKey::from("source_shard"), - ShardKey::from("target_shard"), - ) - .filter(Filter::must([Condition::matches( - "user", - "tenant-123".to_string(), - )])) - .build(), - )), - timeout: None, - }) - .await?; + client + .update_collection_cluster_setup(UpdateCollectionClusterSetupRequest { + collection_name: "{collection_name}".to_string(), + operation: Some(Operation::ReplicatePoints( + ReplicatePointsBuilder::new( + ShardKey::from("source_shard"), + ShardKey::from("target_shard"), + ) + .filter(Filter::must([Condition::matches( + "user", + "tenant-123".to_string(), + )])) + .build(), + )), + timeout: None, + }) + .await?; +}); diff --git a/tests/snippets/scroll_points.rs b/tests/snippets/scroll_points.rs index 2845862..53f84ef 100644 --- a/tests/snippets/scroll_points.rs +++ b/tests/snippets/scroll_points.rs @@ -1,29 +1,31 @@ -use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .limit(1) - .with_payload(true) - .with_vectors(false), - ) - .await?; + client + .scroll( + ScrollPointsBuilder::new("{collection_name}") + .filter(Filter::must([Condition::matches( + "color", + "red".to_string(), + )])) + .limit(1) + .with_payload(true) + .with_vectors(false), + ) + .await?; -// Filter points matching any of the text words -client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches_text_any( - "description", - "machine learning artificial intelligence", - )])) - .limit(10u32), - ) - .await?; + // Filter points matching any of the text words + client + .scroll( + ScrollPointsBuilder::new("{collection_name}") + .filter(Filter::must([Condition::matches_text_any( + "description", + "machine learning artificial intelligence", + )])) + .limit(10u32), + ) + .await?; +}); diff --git a/tests/snippets/scroll_points_with_vectors.rs b/tests/snippets/scroll_points_with_vectors.rs index a0da285..6282e95 100644 --- a/tests/snippets/scroll_points_with_vectors.rs +++ b/tests/snippets/scroll_points_with_vectors.rs @@ -1,22 +1,24 @@ -use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let scroll_response = client - .scroll( - ScrollPointsBuilder::new("{collection_name}") - .filter(Filter::must([Condition::matches( - "color", - "red".to_string(), - )])) - .limit(1) - .with_payload(true) - .with_vectors(true), - ) - .await?; + let scroll_response = client + .scroll( + ScrollPointsBuilder::new("{collection_name}") + .filter(Filter::must([Condition::matches( + "color", + "red".to_string(), + )])) + .limit(1) + .with_payload(true) + .with_vectors(true), + ) + .await?; -for point in scroll_response.result { - let vector = point.vectors.unwrap().get_vector(); - println!("vector: {vector:?}"); -} \ No newline at end of file + for point in scroll_response.result { + let vector = point.vectors.unwrap().get_vector(); + println!("vector: {vector:?}"); + } +}); diff --git a/tests/snippets/search_batch_points.rs b/tests/snippets/search_batch_points.rs index 145f60d..ac23d40 100644 --- a/tests/snippets/search_batch_points.rs +++ b/tests/snippets/search_batch_points.rs @@ -1,21 +1,21 @@ -use qdrant_client::qdrant::{ - Condition, Filter, SearchBatchPointsBuilder, SearchPointsBuilder, -}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, SearchBatchPointsBuilder, SearchPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let filter = Filter::must([Condition::matches("city", "London".to_string())]); + let filter = Filter::must([Condition::matches("city", "London".to_string())]); -let searches = vec![ - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(filter.clone()) - .build(), - SearchPointsBuilder::new("{collection_name}", vec![0.5, 0.3, 0.2, 0.3], 3) - .filter(filter.clone()) - .build(), -]; + let searches = vec![ + SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) + .filter(filter.clone()) + .build(), + SearchPointsBuilder::new("{collection_name}", vec![0.5, 0.3, 0.2, 0.3], 3) + .filter(filter.clone()) + .build(), + ]; -client - .search_batch_points(SearchBatchPointsBuilder::new("{collection_name}", searches)) - .await?; + client + .search_batch_points(SearchBatchPointsBuilder::new("{collection_name}", searches)) + .await?; +}); diff --git a/tests/snippets/search_matrix_offsets.rs b/tests/snippets/search_matrix_offsets.rs index 1e9980f..01eeba7 100644 --- a/tests/snippets/search_matrix_offsets.rs +++ b/tests/snippets/search_matrix_offsets.rs @@ -1,16 +1,18 @@ -use qdrant_client::qdrant::{Condition, SearchMatrixPointsBuilder, Filter}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, SearchMatrixPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .search_matrix_offsets( - SearchMatrixPointsBuilder::new("collection_name") - .filter(Filter::must(vec![Condition::matches( - "color", - "red".to_string(), - )])) - .sample(1000) - .limit(10), - ) - .await?; + client + .search_matrix_offsets( + SearchMatrixPointsBuilder::new("collection_name") + .filter(Filter::must(vec![Condition::matches( + "color", + "red".to_string(), + )])) + .sample(1000) + .limit(10), + ) + .await?; +}); diff --git a/tests/snippets/search_matrix_pairs.rs b/tests/snippets/search_matrix_pairs.rs index a72dc48..d559ac7 100644 --- a/tests/snippets/search_matrix_pairs.rs +++ b/tests/snippets/search_matrix_pairs.rs @@ -1,16 +1,18 @@ -use qdrant_client::qdrant::{Condition, SearchMatrixPointsBuilder, Filter}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, SearchMatrixPointsBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .search_matrix_pairs( - SearchMatrixPointsBuilder::new("collection_name") - .filter(Filter::must(vec![Condition::matches( - "color", - "red".to_string(), - )])) - .sample(1000) - .limit(10), - ) - .await?; + client + .search_matrix_pairs( + SearchMatrixPointsBuilder::new("collection_name") + .filter(Filter::must(vec![Condition::matches( + "color", + "red".to_string(), + )])) + .sample(1000) + .limit(10), + ) + .await?; +}); diff --git a/tests/snippets/search_point_groups.rs b/tests/snippets/search_point_groups.rs index 84cd91e..3379188 100644 --- a/tests/snippets/search_point_groups.rs +++ b/tests/snippets/search_point_groups.rs @@ -1,14 +1,16 @@ -use qdrant_client::qdrant::SearchPointGroupsBuilder; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::SearchPointGroupsBuilder; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .search_groups(SearchPointGroupsBuilder::new( - "{collection_name}", - vec![1.1], - 4, - "document_id", - 2, - )) - .await?; + client + .search_groups(SearchPointGroupsBuilder::new( + "{collection_name}", + vec![1.1], + 4, + "document_id", + 2, + )) + .await?; +}); diff --git a/tests/snippets/search_points.rs b/tests/snippets/search_points.rs index e2ca332..460440a 100644 --- a/tests/snippets/search_points.rs +++ b/tests/snippets/search_points.rs @@ -1,42 +1,49 @@ -use qdrant_client::qdrant::{AcornSearchParamsBuilder, Condition, Filter, SearchParamsBuilder, SearchPointsBuilder, ShardKey, ShardKeySelectorBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{ + AcornSearchParamsBuilder, Condition, Filter, SearchParamsBuilder, SearchPointsBuilder, + ShardKey, ShardKeySelectorBuilder, + }; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])) - .params(SearchParamsBuilder::default().hnsw_ef(128).exact(false)), - ) - .await?; + client + .search_points( + SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) + .filter(Filter::must([Condition::matches( + "city", + "London".to_string(), + )])) + .params(SearchParamsBuilder::default().hnsw_ef(128).exact(false)), + ) + .await?; -// Search with ACORN enabled for filtered search -client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .filter(Filter::must([Condition::matches( - "city", - "London".to_string(), - )])) - .params( - SearchParamsBuilder::default() - .hnsw_ef(128) - .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)) - ), - ) - .await?; + // Search with ACORN enabled for filtered search + client + .search_points( + SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) + .filter(Filter::must([Condition::matches( + "city", + "London".to_string(), + )])) + .params( + SearchParamsBuilder::default() + .hnsw_ef(128) + .acorn(AcornSearchParamsBuilder::new(true).max_selectivity(0.4)), + ), + ) + .await?; -// Search in specific shards with fallback -client - .search_points( - SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) - .shard_key_selector( - ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from("shard_1".to_string())]) - .fallback(ShardKey::from("shard_backup".to_string())) - ), - ) - .await?; + // Search in specific shards with fallback + client + .search_points( + SearchPointsBuilder::new("{collection_name}", vec![0.2, 0.1, 0.9, 0.7], 3) + .shard_key_selector( + ShardKeySelectorBuilder::with_shard_keys(vec![ShardKey::from( + "shard_1".to_string(), + )]) + .fallback(ShardKey::from("shard_backup".to_string())), + ), + ) + .await?; +}); diff --git a/tests/snippets/set_payload.rs b/tests/snippets/set_payload.rs index 0814096..a136e34 100644 --- a/tests/snippets/set_payload.rs +++ b/tests/snippets/set_payload.rs @@ -1,22 +1,24 @@ -use qdrant_client::qdrant::{PointsIdsList, SetPayloadPointsBuilder}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{PointsIdsList, SetPayloadPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let payload: Payload = json!({ - "property1": "string", - "property2": "string", -}) -.try_into() -.unwrap(); + let payload: Payload = json!({ + "property1": "string", + "property2": "string", + }) + .try_into() + .unwrap(); -client - .set_payload( - SetPayloadPointsBuilder::new("{collection_name}", payload) - .points_selector(PointsIdsList { - ids: vec![0.into(), 3.into(), 10.into()], - }) - .wait(true), - ) - .await?; + client + .set_payload( + SetPayloadPointsBuilder::new("{collection_name}", payload) + .points_selector(PointsIdsList { + ids: vec![0.into(), 3.into(), 10.into()], + }) + .wait(true), + ) + .await?; +}); diff --git a/tests/snippets/update_aliases.rs b/tests/snippets/update_aliases.rs index 98ed9fc..ff3e3f8 100644 --- a/tests/snippets/update_aliases.rs +++ b/tests/snippets/update_aliases.rs @@ -1,17 +1,19 @@ -use qdrant_client::qdrant::{CreateAliasBuilder, DeleteAlias}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{CreateAliasBuilder, DeleteAlias}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .create_alias(CreateAliasBuilder::new( - "example_collection", - "production_collection", - )) - .await?; + client + .create_alias(CreateAliasBuilder::new( + "example_collection", + "production_collection", + )) + .await?; -client - .delete_alias(DeleteAlias { - alias_name: "production_collection".to_string(), - }) - .await?; + client + .delete_alias(DeleteAlias { + alias_name: "production_collection".to_string(), + }) + .await?; +}); diff --git a/tests/snippets/update_collection.rs b/tests/snippets/update_collection.rs index 3a5c455..55b56e7 100644 --- a/tests/snippets/update_collection.rs +++ b/tests/snippets/update_collection.rs @@ -1,12 +1,14 @@ -use qdrant_client::qdrant::{OptimizersConfigDiffBuilder, UpdateCollectionBuilder}; -use qdrant_client::Qdrant; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{OptimizersConfigDiffBuilder, UpdateCollectionBuilder}; + use qdrant_client::Qdrant; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .update_collection( - UpdateCollectionBuilder::new("{collection_name}").optimizers_config( - OptimizersConfigDiffBuilder::default().indexing_threshold(10_000), - ), - ) - .await?; + client + .update_collection( + UpdateCollectionBuilder::new("{collection_name}").optimizers_config( + OptimizersConfigDiffBuilder::default().indexing_threshold(10_000), + ), + ) + .await?; +}); diff --git a/tests/snippets/update_collection_metadata.rs b/tests/snippets/update_collection_metadata.rs index 914f7b1..16741c1 100644 --- a/tests/snippets/update_collection_metadata.rs +++ b/tests/snippets/update_collection_metadata.rs @@ -1,18 +1,22 @@ -use qdrant_client::qdrant::{UpdateCollectionBuilder}; -use qdrant_client::Qdrant; -use serde_json::{json, Value}; -use std::collections::HashMap; +crate::qdrant_test_snippet!({ + use std::collections::HashMap; -let client = Qdrant::from_url("http://localhost:6334").build()?; + use qdrant_client::qdrant::UpdateCollectionBuilder; + use qdrant_client::Qdrant; + use serde_json::{json, Value}; -let mut metadata: HashMap = HashMap::new(); -metadata.insert("my-metadata-field".to_string(), json!({ - "key-a": "value-a", - "key-b": 42 -})); + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .update_collection( - UpdateCollectionBuilder::new("{collection_name}").metadata(metadata), - ) - .await?; + let mut metadata: HashMap = HashMap::new(); + metadata.insert( + "my-metadata-field".to_string(), + json!({ + "key-a": "value-a", + "key-b": 42 + }), + ); + + client + .update_collection(UpdateCollectionBuilder::new("{collection_name}").metadata(metadata)) + .await?; +}); diff --git a/tests/snippets/update_vectors.rs b/tests/snippets/update_vectors.rs index 1e7e8b6..7e0397d 100644 --- a/tests/snippets/update_vectors.rs +++ b/tests/snippets/update_vectors.rs @@ -1,33 +1,35 @@ -use qdrant_client::qdrant::{PointVectors, UpdatePointVectorsBuilder}; -use qdrant_client::Qdrant; -use std::collections::HashMap; +crate::qdrant_test_snippet!({ + use std::collections::HashMap; -let client = Qdrant::from_url("http://localhost:6334").build()?; + use qdrant_client::qdrant::{PointVectors, UpdatePointVectorsBuilder}; + use qdrant_client::Qdrant; -client - .update_vectors( - UpdatePointVectorsBuilder::new( - "{collection_name}", - vec![ - PointVectors { - id: Some(1.into()), - vectors: Some( - HashMap::from([("image".to_string(), vec![0.1, 0.2, 0.3, 0.4])]) + let client = Qdrant::from_url("http://localhost:6334").build()?; + + client + .update_vectors( + UpdatePointVectorsBuilder::new( + "{collection_name}", + vec![ + PointVectors { + id: Some(1.into()), + vectors: Some( + HashMap::from([("image".to_string(), vec![0.1, 0.2, 0.3, 0.4])]).into(), + ), + }, + PointVectors { + id: Some(2.into()), + vectors: Some( + HashMap::from([( + "text".to_string(), + vec![0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2], + )]) .into(), - ), - }, - PointVectors { - id: Some(2.into()), - vectors: Some( - HashMap::from([( - "text".to_string(), - vec![0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2], - )]) - .into(), - ), - }, - ], + ), + }, + ], + ) + .wait(true), ) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/upsert_document.rs b/tests/snippets/upsert_document.rs index 43a6759..4524d97 100644 --- a/tests/snippets/upsert_document.rs +++ b/tests/snippets/upsert_document.rs @@ -1,26 +1,26 @@ -use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Document}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Document, PointStruct, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let document = Document::new("my document", "sentence-transformers/all-minilm-l6-v2"); + let document = Document::new("my document", "sentence-transformers/all-minilm-l6-v2"); -client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( + client + .upsert_points( + UpsertPointsBuilder::new( + "{collection_name}", + vec![PointStruct::new( 1, document, Payload::try_from(json!( {"color": "red"} )) .unwrap(), - ) - ], + )], + ) + .wait(true), ) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/upsert_image.rs b/tests/snippets/upsert_image.rs index a7ed2b5..91acc76 100644 --- a/tests/snippets/upsert_image.rs +++ b/tests/snippets/upsert_image.rs @@ -1,26 +1,29 @@ -use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Image}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Image, PointStruct, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let image = Image::new_from_url("https://picsum.photos/200/300.jpg", "Qdrant/clip-ViT-B-32-vision"); + let image = Image::new_from_url( + "https://picsum.photos/200/300.jpg", + "Qdrant/clip-ViT-B-32-vision", + ); -client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( + client + .upsert_points( + UpsertPointsBuilder::new( + "{collection_name}", + vec![PointStruct::new( 1, image, Payload::try_from(json!( {"color": "red"} )) .unwrap(), - ) - ], + )], + ) + .wait(true), ) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/upsert_points.rs b/tests/snippets/upsert_points.rs index cdf571f..724e88d 100644 --- a/tests/snippets/upsert_points.rs +++ b/tests/snippets/upsert_points.rs @@ -1,40 +1,42 @@ -use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder}; -use qdrant_client::{Qdrant, Payload}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -client - .upsert_points( - UpsertPointsBuilder::new( - "{collection_name}", - vec![ - PointStruct::new( - 1, - vec![0.9, 0.1, 0.1], - Payload::try_from(json!( - {"color": "red"} - )) - .unwrap(), - ), - PointStruct::new( - 2, - vec![0.1, 0.9, 0.1], - Payload::try_from(json!( - {"color": "green"} - )) - .unwrap(), - ), - PointStruct::new( - 3, - vec![0.1, 0.1, 0.9], - Payload::try_from(json!( - {"color": "blue"} - )) - .unwrap(), - ), - ], + client + .upsert_points( + UpsertPointsBuilder::new( + "{collection_name}", + vec![ + PointStruct::new( + 1, + vec![0.9, 0.1, 0.1], + Payload::try_from(json!( + {"color": "red"} + )) + .unwrap(), + ), + PointStruct::new( + 2, + vec![0.1, 0.9, 0.1], + Payload::try_from(json!( + {"color": "green"} + )) + .unwrap(), + ), + PointStruct::new( + 3, + vec![0.1, 0.1, 0.9], + Payload::try_from(json!( + {"color": "blue"} + )) + .unwrap(), + ), + ], + ) + .wait(true), ) - .wait(true), - ) - .await?; + .await?; +}); diff --git a/tests/snippets/upsert_points_fallback_shard_key.rs b/tests/snippets/upsert_points_fallback_shard_key.rs index cd2ea76..878717f 100644 --- a/tests/snippets/upsert_points_fallback_shard_key.rs +++ b/tests/snippets/upsert_points_fallback_shard_key.rs @@ -1,29 +1,31 @@ -use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, ShardKeySelectorBuilder}; -use qdrant_client::{Payload, Qdrant}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{PointStruct, ShardKeySelectorBuilder, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let points = vec![ - PointStruct::new( + let points = vec![PointStruct::new( 1, vec![0.05, 0.61, 0.76, 0.74], Payload::try_from(json!({ - "city": "Berlin", + "city": "Berlin", "price": 1.99, "version": 3 - })).unwrap(), - ) -]; + })) + .unwrap(), + )]; -let shard_key_selector = ShardKeySelectorBuilder::with_shard_key("tenant-123") - .fallback("default") - .add_shard_key("tenant-123") - .build(); + let shard_key_selector = ShardKeySelectorBuilder::with_shard_key("tenant-123") + .fallback("default") + .add_shard_key("tenant-123") + .build(); -client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .shard_key_selector(shard_key_selector) - ).await?; + client + .upsert_points( + UpsertPointsBuilder::new("{collection_name}", points) + .wait(true) + .shard_key_selector(shard_key_selector), + ) + .await?; +}); diff --git a/tests/snippets/upsert_points_insert_only.rs b/tests/snippets/upsert_points_insert_only.rs index d844971..67ba1d8 100644 --- a/tests/snippets/upsert_points_insert_only.rs +++ b/tests/snippets/upsert_points_insert_only.rs @@ -1,24 +1,26 @@ -use qdrant_client::qdrant::{PointStruct, UpdateMode, UpsertPointsBuilder}; -use qdrant_client::{Payload, Qdrant}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{PointStruct, UpdateMode, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let points = vec![PointStruct::new( - 1, - vec![0.05, 0.61, 0.76, 0.74], - Payload::try_from(json!({ - "city": "Berlin", - "price": 1.99, - })) - .unwrap(), -)]; + let points = vec![PointStruct::new( + 1, + vec![0.05, 0.61, 0.76, 0.74], + Payload::try_from(json!({ + "city": "Berlin", + "price": 1.99, + })) + .unwrap(), + )]; -// Only insert new points, do not update existing ones -client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .update_mode(UpdateMode::InsertOnly), - ) - .await?; + // Only insert new points, do not update existing ones + client + .upsert_points( + UpsertPointsBuilder::new("{collection_name}", points) + .wait(true) + .update_mode(UpdateMode::InsertOnly), + ) + .await?; +}); diff --git a/tests/snippets/upsert_points_with_condition.rs b/tests/snippets/upsert_points_with_condition.rs index 1f4a15d..f601760 100644 --- a/tests/snippets/upsert_points_with_condition.rs +++ b/tests/snippets/upsert_points_with_condition.rs @@ -1,24 +1,26 @@ -use qdrant_client::qdrant::{PointStruct, UpsertPointsBuilder, Filter, Condition}; -use qdrant_client::{Payload, Qdrant}; -use serde_json::json; +crate::qdrant_test_snippet!({ + use qdrant_client::qdrant::{Condition, Filter, PointStruct, UpsertPointsBuilder}; + use qdrant_client::{Payload, Qdrant}; + use serde_json::json; -let client = Qdrant::from_url("http://localhost:6334").build()?; + let client = Qdrant::from_url("http://localhost:6334").build()?; -let points = vec![ - PointStruct::new( + let points = vec![PointStruct::new( 1, vec![0.05, 0.61, 0.76, 0.74], Payload::try_from(json!({ - "city": "Berlin", + "city": "Berlin", "price": 1.99, "version": 3 - })).unwrap(), - ) -]; + })) + .unwrap(), + )]; -client - .upsert_points( - UpsertPointsBuilder::new("{collection_name}", points) - .wait(true) - .update_filter(Filter::must([Condition::matches("version", 2)])) - ).await?; \ No newline at end of file + client + .upsert_points( + UpsertPointsBuilder::new("{collection_name}", points) + .wait(true) + .update_filter(Filter::must([Condition::matches("version", 2)])), + ) + .await?; +}); diff --git a/tests/test_snippets.rs b/tests/test_snippets.rs index 872a5d3..0638904 100644 --- a/tests/test_snippets.rs +++ b/tests/test_snippets.rs @@ -1,7 +1,17 @@ -// Skip formatting for this file -#[rustfmt::skip] -mod snippet_tests; - +#[macro_export] +macro_rules! qdrant_test_snippet { + {$code:expr} => { + #[tokio::test] + async fn snippet() { + let _ = async { + $code + Result::<(), Box>::Ok(()) + }.await; + } + }; +} // WARNING: Snippet tests are not checking if the request is executing correctly. // The only thing it is checking is if the code compiles and runs without panicking. + +mod snippets;