TDengine/source/dnode/mgmt/impl/test/show/show.cpp

88 lines
2.3 KiB
C++
Raw Normal View History

2021-12-16 09:07:40 +00:00
/**
2021-12-16 12:16:35 +00:00
* @file show.cpp
2021-12-16 09:07:40 +00:00
* @author slguan (slguan@taosdata.com)
* @brief DNODE module show-msg tests
* @version 0.1
* @date 2021-12-15
2021-12-06 07:58:26 +00:00
*
2021-12-16 09:07:40 +00:00
* @copyright Copyright (c) 2021
2021-12-06 07:58:26 +00:00
*
*/
2021-12-22 07:39:32 +00:00
#include "base.h"
2021-12-06 07:58:26 +00:00
class DndTestShow : public ::testing::Test {
protected:
2021-12-22 07:39:32 +00:00
static void SetUpTestSuite() { test.Init("/tmp/dnode_test_show", 9091); }
static void TearDownTestSuite() { test.Cleanup(); }
2021-12-06 07:58:26 +00:00
2021-12-22 07:39:32 +00:00
static Testbase test;
2021-12-06 07:58:26 +00:00
2021-12-21 14:35:45 +00:00
public:
void SetUp() override {}
void TearDown() override {}
};
2021-12-06 07:58:26 +00:00
2021-12-22 07:39:32 +00:00
Testbase DndTestShow::test;
2021-12-21 14:35:45 +00:00
TEST_F(DndTestShow, 01_ShowMsg_InvalidMsgMax) {
2021-12-22 07:39:32 +00:00
int32_t contLen = sizeof(SShowMsg);
2021-12-06 07:58:26 +00:00
2021-12-22 07:39:32 +00:00
SShowMsg* pReq = (SShowMsg*)rpcMallocCont(contLen);
2021-12-06 07:58:26 +00:00
pReq->type = TSDB_MGMT_TABLE_MAX;
strcpy(pReq->db, "");
2021-12-24 07:00:51 +00:00
SRpcMsg* pMsg = test.SendMsg(TDMT_MND_SHOW, pReq, contLen);
2021-12-06 07:58:26 +00:00
ASSERT_NE(pMsg, nullptr);
ASSERT_EQ(pMsg->code, TSDB_CODE_MND_INVALID_MSG_TYPE);
}
2021-12-21 14:35:45 +00:00
TEST_F(DndTestShow, 02_ShowMsg_InvalidMsgStart) {
2021-12-22 07:39:32 +00:00
int32_t contLen = sizeof(SShowMsg);
2021-12-06 07:58:26 +00:00
SShowMsg* pReq = (SShowMsg*)rpcMallocCont(sizeof(SShowMsg));
pReq->type = TSDB_MGMT_TABLE_START;
strcpy(pReq->db, "");
2021-12-24 07:00:51 +00:00
SRpcMsg* pMsg = test.SendMsg(TDMT_MND_SHOW, pReq, contLen);
2021-12-06 07:58:26 +00:00
ASSERT_NE(pMsg, nullptr);
ASSERT_EQ(pMsg->code, TSDB_CODE_MND_INVALID_MSG_TYPE);
}
2021-12-22 08:38:20 +00:00
TEST_F(DndTestShow, 02_ShowMsg_Conn) {
int32_t contLen = sizeof(SConnectMsg);
SConnectMsg* pReq = (SConnectMsg*)rpcMallocCont(contLen);
pReq->pid = htonl(1234);
strcpy(pReq->app, "dnode_test_show");
strcpy(pReq->db, "");
2021-12-24 07:00:51 +00:00
SRpcMsg* pMsg = test.SendMsg(TDMT_MND_CONNECT, pReq, contLen);
2021-12-22 08:38:20 +00:00
ASSERT_NE(pMsg, nullptr);
ASSERT_EQ(pMsg->code, 0);
test.SendShowMetaMsg(TSDB_MGMT_TABLE_CONNS, "");
STableMetaMsg* pMeta = test.GetShowMeta();
EXPECT_STREQ(pMeta->tbFname, "show connections");
EXPECT_EQ(pMeta->numOfTags, 0);
EXPECT_EQ(pMeta->numOfColumns, 7);
EXPECT_EQ(pMeta->precision, 0);
EXPECT_EQ(pMeta->tableType, 0);
EXPECT_EQ(pMeta->update, 0);
EXPECT_EQ(pMeta->sversion, 0);
EXPECT_EQ(pMeta->tversion, 0);
EXPECT_EQ(pMeta->tuid, 0);
EXPECT_EQ(pMeta->suid, 0);
test.SendShowRetrieveMsg();
SRetrieveTableRsp* pRetrieveRsp = test.GetRetrieveRsp();
EXPECT_EQ(pRetrieveRsp->numOfRows, 1);
EXPECT_EQ(pRetrieveRsp->useconds, 0);
EXPECT_EQ(pRetrieveRsp->completed, 1);
EXPECT_EQ(pRetrieveRsp->precision, TSDB_TIME_PRECISION_MILLI);
EXPECT_EQ(pRetrieveRsp->compressed, 0);
EXPECT_EQ(pRetrieveRsp->compLen, 0);
}