From 4790cbbb3bd35ad5a2df90089669c518fdfecb38 Mon Sep 17 00:00:00 2001 From: krunal Date: Mon, 4 Dec 2023 12:01:56 +0530 Subject: [PATCH] correct error code while deleting stopwords --- src/core_api.cpp | 2 +- src/stopwords_manager.cpp | 11 ++++++----- test/stopwords_manager_test.cpp | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/core_api.cpp b/src/core_api.cpp index fbf394ab..2ef4f656 100644 --- a/src/core_api.cpp +++ b/src/core_api.cpp @@ -2238,7 +2238,7 @@ bool del_stopword(const std::shared_ptr& req, const std::shared_ptr delete_op = stopwordManager.delete_stopword(stopword_name); if(!delete_op.ok()) { - res->set_500(delete_op.error()); + res->set(delete_op.code(), delete_op.error()); return false; } diff --git a/src/stopwords_manager.cpp b/src/stopwords_manager.cpp index 8e37a0be..30744e46 100644 --- a/src/stopwords_manager.cpp +++ b/src/stopwords_manager.cpp @@ -80,16 +80,17 @@ std::string StopwordsManager::get_stopword_key(const std::string& stopword_name) Option StopwordsManager::delete_stopword(const std::string& stopword_name) { std::unique_lock lock(mutex); - bool removed = store->remove(get_stopword_key(stopword_name)); - if(!removed) { - return Option(500, "Unable to delete from store."); - } - if(stopword_configs.find(stopword_name) == stopword_configs.end()) { return Option(404, "Stopword `" + stopword_name + "` not found."); } stopword_configs.erase(stopword_name); + + bool removed = store->remove(get_stopword_key(stopword_name)); + if(!removed) { + return Option(500, "Unable to delete from store."); + } + return Option(true); } diff --git a/test/stopwords_manager_test.cpp b/test/stopwords_manager_test.cpp index 8e6c8af1..ee1a03ac 100644 --- a/test/stopwords_manager_test.cpp +++ b/test/stopwords_manager_test.cpp @@ -281,7 +281,7 @@ TEST_F(StopwordsManagerTest, StopwordsBasics) { req->params["name"] = "state"; result = del_stopword(req, res); - ASSERT_EQ(500, res->status_code); + ASSERT_EQ(404, res->status_code); ASSERT_STREQ("{\"message\": \"Stopword `state` not found.\"}", res->body.c_str()); req->params.clear();