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

102 lines
2.8 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)
2022-01-05 10:20:59 +00:00
* @brief MNODE module show tests
* @version 1.0
* @date 2022-01-06
2021-12-06 07:58:26 +00:00
*
2022-01-05 10:20:59 +00:00
* @copyright Copyright (c) 2022
2021-12-06 07:58:26 +00:00
*
*/
2022-01-04 12:36:54 +00:00
#include "sut.h"
2021-12-06 07:58:26 +00:00
2022-01-05 10:20:59 +00:00
class MndTestShow : public ::testing::Test {
2021-12-06 07:58:26 +00:00
protected:
2022-01-06 08:13:49 +00:00
static void SetUpTestSuite() { test.Init("/tmp/mnode_test_show", 9021); }
2021-12-22 07:39:32 +00:00
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
2022-01-05 10:20:59 +00:00
Testbase MndTestShow::test;
2021-12-21 14:35:45 +00:00
2022-01-05 10:20:59 +00:00
TEST_F(MndTestShow, 01_ShowMsg_InvalidMsgMax) {
2022-01-05 12:18:56 +00:00
int32_t contLen = sizeof(SShowReq);
2021-12-06 07:58:26 +00:00
2022-01-05 12:18:56 +00:00
SShowReq* pReq = (SShowReq*)rpcMallocCont(contLen);
2021-12-06 07:58:26 +00:00
pReq->type = TSDB_MGMT_TABLE_MAX;
strcpy(pReq->db, "");
2022-01-05 12:18:56 +00:00
SRpcMsg* pRsp = test.SendReq(TDMT_MND_SHOW, pReq, contLen);
ASSERT_NE(pRsp, nullptr);
ASSERT_EQ(pRsp->code, TSDB_CODE_MND_INVALID_MSG_TYPE);
2021-12-06 07:58:26 +00:00
}
2022-01-05 10:20:59 +00:00
TEST_F(MndTestShow, 02_ShowMsg_InvalidMsgStart) {
2022-01-05 12:18:56 +00:00
int32_t contLen = sizeof(SShowReq);
2021-12-06 07:58:26 +00:00
2022-01-05 12:18:56 +00:00
SShowReq* pReq = (SShowReq*)rpcMallocCont(sizeof(SShowReq));
2021-12-06 07:58:26 +00:00
pReq->type = TSDB_MGMT_TABLE_START;
strcpy(pReq->db, "");
2022-01-05 12:18:56 +00:00
SRpcMsg* pRsp = test.SendReq(TDMT_MND_SHOW, pReq, contLen);
ASSERT_NE(pRsp, nullptr);
ASSERT_EQ(pRsp->code, TSDB_CODE_MND_INVALID_MSG_TYPE);
2021-12-06 07:58:26 +00:00
}
2021-12-22 08:38:20 +00:00
2022-01-05 10:20:59 +00:00
TEST_F(MndTestShow, 03_ShowMsg_Conn) {
2022-01-06 08:13:49 +00:00
int32_t contLen = sizeof(SConnectReq);
2021-12-22 08:38:20 +00:00
2022-01-06 08:13:49 +00:00
SConnectReq* pReq = (SConnectReq*)rpcMallocCont(contLen);
2021-12-22 08:38:20 +00:00
pReq->pid = htonl(1234);
2022-01-05 10:20:59 +00:00
strcpy(pReq->app, "mnode_test_show");
2021-12-22 08:38:20 +00:00
strcpy(pReq->db, "");
2022-01-05 12:18:56 +00:00
SRpcMsg* pRsp = test.SendReq(TDMT_MND_CONNECT, pReq, contLen);
ASSERT_NE(pRsp, nullptr);
ASSERT_EQ(pRsp->code, 0);
2021-12-22 08:38:20 +00:00
2022-01-05 12:18:56 +00:00
test.SendShowMetaReq(TSDB_MGMT_TABLE_CONNS, "");
2021-12-22 08:38:20 +00:00
2022-01-10 12:44:11 +00:00
STableMetaRsp* pMeta = test.GetShowMeta();
2022-01-28 09:50:16 +00:00
EXPECT_STREQ(pMeta->tbName, "show connections");
2021-12-22 08:38:20 +00:00
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);
2022-01-05 12:18:56 +00:00
test.SendShowRetrieveReq();
2021-12-22 08:38:20 +00:00
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);
}
2022-01-05 10:20:59 +00:00
TEST_F(MndTestShow, 04_ShowMsg_Cluster) {
2022-01-05 12:18:56 +00:00
test.SendShowMetaReq(TSDB_MGMT_TABLE_CLUSTER, "");
2022-01-05 10:20:59 +00:00
CHECK_META( "show cluster", 3);
CHECK_SCHEMA(0, TSDB_DATA_TYPE_BIGINT, 8, "id");
CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_CLUSTER_ID_LEN + VARSTR_HEADER_SIZE, "name");
CHECK_SCHEMA(2, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
2022-01-05 12:18:56 +00:00
test.SendShowRetrieveReq();
2022-01-05 10:20:59 +00:00
EXPECT_EQ(test.GetShowRows(), 1);
IgnoreInt64();
IgnoreBinary(TSDB_CLUSTER_ID_LEN);
CheckTimestamp();
}