From c72a1f9f67802f3d7a403d1547b07085010fe7e4 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Wed, 27 Apr 2022 16:59:17 +0800 Subject: [PATCH] test: add unitest for sdb --- source/dnode/mnode/impl/test/CMakeLists.txt | 1 + .../dnode/mnode/impl/test/sdb/CMakeLists.txt | 12 +++ source/dnode/mnode/impl/test/sdb/sdbTest.cpp | 83 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 source/dnode/mnode/impl/test/sdb/CMakeLists.txt create mode 100644 source/dnode/mnode/impl/test/sdb/sdbTest.cpp diff --git a/source/dnode/mnode/impl/test/CMakeLists.txt b/source/dnode/mnode/impl/test/CMakeLists.txt index 15f2aed22a..feeebad674 100644 --- a/source/dnode/mnode/impl/test/CMakeLists.txt +++ b/source/dnode/mnode/impl/test/CMakeLists.txt @@ -8,6 +8,7 @@ add_subdirectory(func) add_subdirectory(mnode) add_subdirectory(profile) add_subdirectory(qnode) +add_subdirectory(sdb) add_subdirectory(show) add_subdirectory(sma) add_subdirectory(snode) diff --git a/source/dnode/mnode/impl/test/sdb/CMakeLists.txt b/source/dnode/mnode/impl/test/sdb/CMakeLists.txt new file mode 100644 index 0000000000..371c4d5766 --- /dev/null +++ b/source/dnode/mnode/impl/test/sdb/CMakeLists.txt @@ -0,0 +1,12 @@ +aux_source_directory(. MNODE_SDB_TEST_SRC) +add_executable(sdbTest ${MNODE_SDB_TEST_SRC}) +target_link_libraries( + sdbTest + PUBLIC sut + PUBLIC sdb +) + +add_test( + NAME sdbTest + COMMAND sdbTest +) diff --git a/source/dnode/mnode/impl/test/sdb/sdbTest.cpp b/source/dnode/mnode/impl/test/sdb/sdbTest.cpp new file mode 100644 index 0000000000..998dca1401 --- /dev/null +++ b/source/dnode/mnode/impl/test/sdb/sdbTest.cpp @@ -0,0 +1,83 @@ +/** + * @file sdbTest.cpp + * @author slguan (slguan@taosdata.com) + * @brief MNODE module sdb tests + * @version 1.0 + * @date 2022-04-27 + * + * @copyright Copyright (c) 2022 + * + */ + +#include "sut.h" + +class MndTestShow : public ::testing::Test { + protected: + static void SetUpTestSuite() { test.Init("/tmp/mnode_test_show", 9021); } + static void TearDownTestSuite() { test.Cleanup(); } + + static Testbase test; + + public: + void SetUp() override {} + void TearDown() override {} +}; + +Testbase MndTestShow::test; + +TEST_F(MndTestShow, 01_ShowMsg_InvalidMsgMax) { + SShowReq showReq = {0}; + showReq.type = TSDB_MGMT_TABLE_MAX; + + int32_t contLen = tSerializeSShowReq(NULL, 0, &showReq); + void* pReq = rpcMallocCont(contLen); + tSerializeSShowReq(pReq, contLen, &showReq); + tFreeSShowReq(&showReq); + + SRpcMsg* pRsp = test.SendReq(TDMT_MND_SYSTABLE_RETRIEVE, pReq, contLen); + ASSERT_NE(pRsp, nullptr); + ASSERT_NE(pRsp->code, 0); +} + +TEST_F(MndTestShow, 02_ShowMsg_InvalidMsgStart) { + SShowReq showReq = {0}; + showReq.type = TSDB_MGMT_TABLE_START; + + int32_t contLen = tSerializeSShowReq(NULL, 0, &showReq); + void* pReq = rpcMallocCont(contLen); + tSerializeSShowReq(pReq, contLen, &showReq); + tFreeSShowReq(&showReq); + + SRpcMsg* pRsp = test.SendReq(TDMT_MND_SYSTABLE_RETRIEVE, pReq, contLen); + ASSERT_NE(pRsp, nullptr); + ASSERT_NE(pRsp->code, 0); +} + +TEST_F(MndTestShow, 03_ShowMsg_Conn) { + char passwd[] = "taosdata"; + char secretEncrypt[TSDB_PASSWORD_LEN] = {0}; + taosEncryptPass_c((uint8_t*)passwd, strlen(passwd), secretEncrypt); + + SConnectReq connectReq = {0}; + connectReq.pid = 1234; + strcpy(connectReq.app, "mnode_test_show"); + strcpy(connectReq.db, ""); + strcpy(connectReq.user, "root"); + strcpy(connectReq.passwd, secretEncrypt); + + int32_t contLen = tSerializeSConnectReq(NULL, 0, &connectReq); + void* pReq = rpcMallocCont(contLen); + tSerializeSConnectReq(pReq, contLen, &connectReq); + + SRpcMsg* pRsp = test.SendReq(TDMT_MND_CONNECT, pReq, contLen); + ASSERT_NE(pRsp, nullptr); + ASSERT_EQ(pRsp->code, 0); + + test.SendShowReq(TSDB_MGMT_TABLE_CONNS, "connections", ""); + // EXPECT_EQ(test.GetShowRows(), 1); +} + +TEST_F(MndTestShow, 04_ShowMsg_Cluster) { + test.SendShowReq(TSDB_MGMT_TABLE_CLUSTER, "cluster", ""); + EXPECT_EQ(test.GetShowRows(), 1); +} -- GitLab