156 lines
4.2 KiB
C++
156 lines
4.2 KiB
C++
/*
|
|
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
|
*
|
|
* This program is free software: you can use, redistribute, and/or modify
|
|
* it under the terms of the GNU Affero General Public License, version 3
|
|
* or later ("AGPL"), as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#include <taoserror.h>
|
|
#include <tglobal.h>
|
|
#include <iostream>
|
|
|
|
#pragma GCC diagnostic push
|
|
#pragma GCC diagnostic ignored "-Wwrite-strings"
|
|
#pragma GCC diagnostic ignored "-Wunused-function"
|
|
#pragma GCC diagnostic ignored "-Wunused-variable"
|
|
#pragma GCC diagnostic ignored "-Wsign-compare"
|
|
|
|
#include "../inc/clientInt.h"
|
|
#include "taos.h"
|
|
|
|
int main(int argc, char** argv) {
|
|
testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
}
|
|
|
|
TEST(testCase, driverInit_Test) {
|
|
// taosInitGlobalCfg();
|
|
// taos_init();
|
|
}
|
|
|
|
TEST(testCase, create_topic_ctb_Test) {
|
|
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
|
ASSERT_NE(pConn, nullptr);
|
|
|
|
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
|
if (taos_errno(pRes) != 0) {
|
|
printf("error in use db, reason:%s\n", taos_errstr(pRes));
|
|
}
|
|
|
|
TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
|
ASSERT_TRUE(pFields == nullptr);
|
|
|
|
int32_t numOfFields = taos_num_fields(pRes);
|
|
ASSERT_EQ(numOfFields, 0);
|
|
|
|
taos_free_result(pRes);
|
|
|
|
// char* sql = "select * from tu";
|
|
// pRes = tmq_create_topic(pConn, "test_ctb_topic_1", sql, strlen(sql));
|
|
pRes = taos_query(pConn, "create test_ctb_topic_1 as select * from tu");
|
|
taos_free_result(pRes);
|
|
taos_close(pConn);
|
|
}
|
|
|
|
TEST(testCase, create_topic_stb_Test) {
|
|
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
|
ASSERT_NE(pConn, nullptr);
|
|
|
|
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
|
if (taos_errno(pRes) != 0) {
|
|
printf("error in use db, reason:%s\n", taos_errstr(pRes));
|
|
}
|
|
// taos_free_result(pRes);
|
|
|
|
TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
|
ASSERT_TRUE(pFields == nullptr);
|
|
|
|
int32_t numOfFields = taos_num_fields(pRes);
|
|
ASSERT_EQ(numOfFields, 0);
|
|
|
|
taos_free_result(pRes);
|
|
|
|
// char* sql = "select * from st1";
|
|
// pRes = tmq_create_topic(pConn, "test_stb_topic_1", sql, strlen(sql));
|
|
pRes = taos_query(pConn, "create test_ctb_topic_1 as select * from st1");
|
|
taos_free_result(pRes);
|
|
taos_close(pConn);
|
|
}
|
|
|
|
#if 0
|
|
TEST(testCase, tmq_subscribe_ctb_Test) {
|
|
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
|
ASSERT_NE(pConn, NULL);
|
|
|
|
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
|
if (taos_errno(pRes) != 0) {
|
|
printf("error in use db, reason:%s\n", taos_errstr(pRes));
|
|
}
|
|
taos_free_result(pRes);
|
|
|
|
tmq_conf_t* conf = tmq_conf_new();
|
|
tmq_conf_set(conf, "group.id", "tg1");
|
|
tmq_t* tmq = tmq_consumer_new(pConn, conf, NULL, 0);
|
|
|
|
tmq_list_t* topic_list = tmq_list_new();
|
|
tmq_list_append(topic_list, "test_ctb_topic_1");
|
|
tmq_subscribe(tmq, topic_list);
|
|
|
|
while (1) {
|
|
tmq_message_t* msg = tmq_consumer_poll(tmq, 1000);
|
|
taos_free_result(msg);
|
|
//printf("get msg\n");
|
|
//if (msg == NULL) break;
|
|
}
|
|
}
|
|
|
|
TEST(testCase, tmq_subscribe_stb_Test) {
|
|
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
|
ASSERT_NE(pConn, NULL);
|
|
|
|
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
|
if (taos_errno(pRes) != 0) {
|
|
printf("error in use db, reason:%s\n", taos_errstr(pRes));
|
|
}
|
|
taos_free_result(pRes);
|
|
|
|
tmq_conf_t* conf = tmq_conf_new();
|
|
tmq_conf_set(conf, "group.id", "tg2");
|
|
tmq_t* tmq = tmq_consumer_new(pConn, conf, NULL, 0);
|
|
|
|
tmq_list_t* topic_list = tmq_list_new();
|
|
tmq_list_append(topic_list, "test_stb_topic_1");
|
|
tmq_subscribe(tmq, topic_list);
|
|
|
|
int cnt = 1;
|
|
while (1) {
|
|
tmq_message_t* msg = tmq_consumer_poll(tmq, 1000);
|
|
if (msg == NULL) continue;
|
|
tmqShowMsg(msg);
|
|
if (cnt++ % 10 == 0){
|
|
tmq_commit(tmq, NULL, 0);
|
|
}
|
|
//tmq_commit(tmq, NULL, 0);
|
|
taos_free_result(msg);
|
|
//printf("get msg\n");
|
|
}
|
|
}
|
|
|
|
TEST(testCase, tmq_consume_Test) {
|
|
}
|
|
|
|
TEST(testCase, tmq_commit_Test) {
|
|
}
|
|
|
|
#endif
|