From 0bcc5ed0b038d5bc7e4c096aea74ec68ab1fe1ce Mon Sep 17 00:00:00 2001 From: Krunal Gandhi Date: Mon, 11 Mar 2024 08:17:42 +0000 Subject: [PATCH] fix the response status for get_override (#1610) --- src/core_api.cpp | 2 +- test/collection_override_test.cpp | 34 ++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/core_api.cpp b/src/core_api.cpp index 42393a06..fce57150 100644 --- a/src/core_api.cpp +++ b/src/core_api.cpp @@ -1799,7 +1799,7 @@ bool get_override(const std::shared_ptr& req, const std::shared_ptrset_200(overrides_op.get().to_json()); + res->set_200(overrides_op.get().to_json().dump()); return true; } diff --git a/test/collection_override_test.cpp b/test/collection_override_test.cpp index 51dfe1f2..3c5200e9 100644 --- a/test/collection_override_test.cpp +++ b/test/collection_override_test.cpp @@ -4190,4 +4190,36 @@ TEST_F(CollectionOverrideTest, OverridesPagination) { override_op = coll2->get_overrides(limit, offset); ASSERT_FALSE(override_op.ok()); ASSERT_EQ("Invalid offset param.", override_op.error()); -} \ No newline at end of file +} + +TEST_F(CollectionOverrideTest, RetrieveOverideByID) { + Collection *coll2; + + std::vector fields = {field("title", field_types::STRING, false), + field("points", field_types::INT32, false)}; + + coll2 = collectionManager.get_collection("coll2").get(); + if (coll2 == nullptr) { + coll2 = collectionManager.create_collection("coll2", 1, fields, "points").get(); + } + + nlohmann::json override_json = { + {"id", "override"}, + { + "rule", { + {"query", "not-found"}, + {"match", override_t::MATCH_EXACT} + } + }, + {"metadata", { {"foo", "bar"}}}, + }; + + override_json["id"] = override_json["id"].get() + "1"; + override_t override; + override_t::parse(override_json, "", override); + + coll2->add_override(override); + + auto op = coll2->get_override("override1"); + ASSERT_TRUE(op.ok()); +}