From f63c686862a5765df097fe84ac6e5612e48bb74f Mon Sep 17 00:00:00 2001 From: Jeremyzz Date: Wed, 10 May 2023 20:46:09 +0800 Subject: [PATCH] fix Code check Signed-off-by: Jeremyzz --- .../gaussdb_rd_simple/src/common/src/json_common.cpp | 7 ++++--- .../test/unittest/api/documentdb_data_test.cpp | 12 ++++++++++++ .../test/unittest/api/documentdb_find_test.cpp | 11 ++++++++++- .../test/unittest/api/documentdb_insert_test.cpp | 8 +++++++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/src/common/src/json_common.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/src/common/src/json_common.cpp index 1ffc6283..6382a49a 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/src/common/src/json_common.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/src/common/src/json_common.cpp @@ -205,7 +205,8 @@ int JsonCommon::ParseNode(JsonObject &node, std::vector singlePath, tempParseName += priFieldName[j]; } if (priFieldName[j] == '.' || j == priFieldName.size() - 1) { - if (j > 0 && priFieldName[j] == '.' && priFieldName[j - 1] == '.') { + if ((j > 0 && priFieldName[j] == '.' && priFieldName[j - 1] == '.') || + (priFieldName[j] == '.' && j == priFieldName.size() - 1)) { return -E_INVALID_ARGS; } allFiledsName.emplace_back(tempParseName); @@ -625,7 +626,7 @@ bool JsonCommon::JsonEqualJudge(JsonFieldPath &itemPath, const JsonObject &src, isMatchFlag = isEqual; } isAlreadyMatched = isMatchFlag; - return false; // Both leaf node, no need iterate + return false; // Both leaf node, no need iterate } else if (srcItem.GetType() != item.GetType()) { if (srcItem.GetType() == JsonObject::Type::JSON_ARRAY) { // srcItem Type is ARRAY, item Type is not ARRAY bool isEqual = IsArrayMatch(srcItem, item, isAlreadyMatched); @@ -637,7 +638,7 @@ bool JsonCommon::JsonEqualJudge(JsonFieldPath &itemPath, const JsonObject &src, isMatchFlag = false; return false; // Different node types, overwrite directly, skip child node } - return true; // Both array or object + return true; // Both array or object } bool JsonCommon::IsJsonNodeMatch(const JsonObject &src, const JsonObject &target, int &errCode) diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_data_test.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_data_test.cpp index e52f8ac9..faa10174 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_data_test.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_data_test.cpp @@ -345,4 +345,16 @@ HWTEST_F(DocumentDBDataTest, UpdateDataTest011, TestSize.Level0) cJSON_Delete(updata); cJSON_free(updateStr); } + +HWTEST_F(DocumentDBDataTest, UpdateDataTest013, TestSize.Level0) +{ + int result = GRD_UpdateDoc(g_db, "GM_Sys", R""({})"", R""({})"", 0); + EXPECT_EQ(result, GRD_INVALID_FORMAT); +} + +HWTEST_F(DocumentDBDataTest, UpdateDataTest014, TestSize.Level0) +{ + int result = GRD_UpdateDoc(g_db, g_coll, R""({"abc.":1})"", R""({})"", 0); + EXPECT_EQ(result, GRD_INVALID_ARGS); +} } // namespace diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_find_test.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_find_test.cpp index c1995432..05efa28e 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_find_test.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_find_test.cpp @@ -1561,4 +1561,13 @@ HWTEST_F(DocumentFindApiTest, DocumentFindApiTest061, TestSize.Level1) EXPECT_EQ(GRD_FreeValue(value), GRD_OK); EXPECT_EQ(GRD_FreeResultSet(resultSet), GRD_OK); } -} // namespace \ No newline at end of file + +HWTEST_F(DocumentFindApiTest, DocumentFindApiTest062, TestSize.Level1) +{ + const char *filter = R"({"abc123_.":1})"; + GRD_ResultSet *resultSet = nullptr; + const char *projection = R"({"abc123_":1})"; + Query query = { filter, projection }; + EXPECT_EQ(GRD_FindDoc(g_db, COLLECTION_NAME, query, 1, &resultSet), GRD_INVALID_ARGS); +} +} // namespace diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_insert_test.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_insert_test.cpp index 957d2906..91cb510c 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_insert_test.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd_simple/test/unittest/api/documentdb_insert_test.cpp @@ -812,4 +812,10 @@ HWTEST_F(DocumentInsertApiTest, DocumentInsertApiTest044, TestSize.Level1) EXPECT_EQ(GRD_InsertDoc(g_db, RIGHT_COLLECTION_NAME, document1, 0), GRD_OK); EXPECT_EQ(GRD_InsertDoc(g_db, RIGHT_COLLECTION_NAME, document2, 0), GRD_DATA_CONFLICT); } -} // namespace \ No newline at end of file + +HWTEST_F(DocumentInsertApiTest, DocumentInsertApiTest045, TestSize.Level1) +{ + const char *document1 = R""({"_id":"0123", "num.":"num"})""; + EXPECT_EQ(GRD_InsertDoc(g_db, RIGHT_COLLECTION_NAME, document1, 0), GRD_INVALID_ARGS); +} +} // namespace -- Gitee