From aa706fd5e7439173a108a2bae5d07945c24214b3 Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Tue, 1 Jun 2021 13:43:19 +0800 Subject: [PATCH 1/6] [TD-4463] add test case for checking keep modification --- tests/pytest/alter/alter_keep.py | 70 ++++++++++++++++++++++++++++++++ tests/pytest/fulltest.sh | 2 +- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 tests/pytest/alter/alter_keep.py diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py new file mode 100644 index 0000000000..e7c58a09c5 --- /dev/null +++ b/tests/pytest/alter/alter_keep.py @@ -0,0 +1,70 @@ +################################################################### +# Copyright (c) 2016 by TAOS Technologies, Inc. +# All rights reserved. +# +# This file is proprietary and confidential to TAOS Technologies. +# No part of this file may be reproduced, stored, transmitted, +# disclosed or used in any form or by any means other than as +# expressly provided by the written permission from Jianhui Tao +# +################################################################### + +# -*- coding: utf-8 -*- + +import sys +from util.log import * +from util.cases import * +from util.sql import * + + +class TDTestCase: + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor(), logSql) + + + def run(self): + tdSql.prepare() + tdSql.execute('create table tb (ts timestamp, speed int)') + + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + tdSql.execute('alter database db keep 10') + tdSql.query('show databases') + tdSql.checkData(0,7,'10,10,10') + tdSql.execute('alter database db keep 50') + tdSql.query('show databases') + tdSql.checkData(0,7,'50,50,50') + tdSql.error('alter database db keep !)') + + ##TODO: test the illegal alter keep input where input < days + # tdSql.error('alter database db keep -10') + # tdSql.error('alter database db keep 0') + + ##TODO: test keep keep hot alter, cannot be tested for now as test.py's output + ## is inconsistent with the actual output. + + # tdSql.execute('insert into tb values (now, 10)') + # tdSql.execute('insert into tb values (now + 10m, 10)') + # tdSql.query('select * from tb') + # tdSql.checkRows(2) + # tdSql.execute('alter database db keep 40,40,40') + # os.system('systemctl restart taosd') + # tdSql.execute('insert into tb values (now-60d, 10)') + # tdSql.execute('insert into tb values (now-30d, 10)') + # tdSql.query('select * from tb') + # tdSql.showQueryResult() + # tdSql.checkRows(2) + # tdSql.execute('alter database db keep 20,20,20') + # tdSql.checkRows(3) + # os.system('systemctl restart taosd') + # tdSql.query('select * from tb') + # tdSql.checkRows(2) + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) diff --git a/tests/pytest/fulltest.sh b/tests/pytest/fulltest.sh index c93fbc5eb3..a546c74da6 100755 --- a/tests/pytest/fulltest.sh +++ b/tests/pytest/fulltest.sh @@ -335,5 +335,5 @@ python3 ./test.py -f tag_lite/alter_tag.py python3 test.py -f tools/taosdemoAllTest/taosdemoTestInsertWithJson.py python3 test.py -f tools/taosdemoAllTest/taosdemoTestQueryWithJson.py python3 test.py -f insert/insert_before_use_db.py - +python3 test.py -f alter/alter_keep.py #======================p4-end=============== From c55f6121a0a9c3b4f9e3146cfed43e485209eb05 Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Tue, 1 Jun 2021 16:13:40 +0800 Subject: [PATCH 2/6] [TD-4463] moldifying alter_keep.py --- tests/pytest/alter/alter_keep.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index e7c58a09c5..5e1378e249 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -37,9 +37,16 @@ class TDTestCase: tdSql.checkData(0,7,'50,50,50') tdSql.error('alter database db keep !)') - ##TODO: test the illegal alter keep input where input < days - # tdSql.error('alter database db keep -10') - # tdSql.error('alter database db keep 0') + tdSql.error('alter database db keep 1') + + ## the following sql will not raise error, but will not cause error either + # based on Li Chuang's explaination, <= 0 will not cause keep>days error + tdSql.execute('alter database db keep -10') + tdSql.query('show databases') + tdSql.checkData(0,7,'50,50,50') + tdSql.execute('alter database db keep 0') + tdSql.query('show databases') + tdSql.checkData(0,7,'50,50,50') ##TODO: test keep keep hot alter, cannot be tested for now as test.py's output ## is inconsistent with the actual output. From 49e0643bf2bf4cdf8d95d09ddf70fb04cdcce46e Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Wed, 2 Jun 2021 16:02:06 +0800 Subject: [PATCH 3/6] [TD-4463] update boundary case and error case --- tests/pytest/alter/alter_keep.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index 5e1378e249..37a8a8da55 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -41,16 +41,17 @@ class TDTestCase: ## the following sql will not raise error, but will not cause error either # based on Li Chuang's explaination, <= 0 will not cause keep>days error - tdSql.execute('alter database db keep -10') - tdSql.query('show databases') - tdSql.checkData(0,7,'50,50,50') - tdSql.execute('alter database db keep 0') + # tdSql.error('alter database db keep -10') + # tdSql.query('show databases') + # tdSql.checkData(0,7,'50,50,50') + # tdSql.error('alter database db keep 0') + # tdSql.error('alter database db keep 0.1') + tdSql.error('alter database db keep 10.1') tdSql.query('show databases') tdSql.checkData(0,7,'50,50,50') ##TODO: test keep keep hot alter, cannot be tested for now as test.py's output ## is inconsistent with the actual output. - # tdSql.execute('insert into tb values (now, 10)') # tdSql.execute('insert into tb values (now + 10m, 10)') # tdSql.query('select * from tb') From 91d2d3b85a37e46098cbe277d3728e0385a0ec02 Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Thu, 3 Jun 2021 15:29:23 +0800 Subject: [PATCH 4/6] [TD-4463]rewrite the case to fit develop and community --- tests/pytest/alter/alter_keep.py | 112 +++++++++++++++++++++++-------- 1 file changed, 84 insertions(+), 28 deletions(-) diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index 37a8a8da55..49b82c7d15 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -22,34 +22,6 @@ class TDTestCase: tdLog.debug("start to execute %s" % __file__) tdSql.init(conn.cursor(), logSql) - - def run(self): - tdSql.prepare() - tdSql.execute('create table tb (ts timestamp, speed int)') - - tdSql.query('show databases') - tdSql.checkData(0,7,'3650,3650,3650') - tdSql.execute('alter database db keep 10') - tdSql.query('show databases') - tdSql.checkData(0,7,'10,10,10') - tdSql.execute('alter database db keep 50') - tdSql.query('show databases') - tdSql.checkData(0,7,'50,50,50') - tdSql.error('alter database db keep !)') - - tdSql.error('alter database db keep 1') - - ## the following sql will not raise error, but will not cause error either - # based on Li Chuang's explaination, <= 0 will not cause keep>days error - # tdSql.error('alter database db keep -10') - # tdSql.query('show databases') - # tdSql.checkData(0,7,'50,50,50') - # tdSql.error('alter database db keep 0') - # tdSql.error('alter database db keep 0.1') - tdSql.error('alter database db keep 10.1') - tdSql.query('show databases') - tdSql.checkData(0,7,'50,50,50') - ##TODO: test keep keep hot alter, cannot be tested for now as test.py's output ## is inconsistent with the actual output. # tdSql.execute('insert into tb values (now, 10)') @@ -68,6 +40,90 @@ class TDTestCase: # os.system('systemctl restart taosd') # tdSql.query('select * from tb') # tdSql.checkRows(2) + + def alterKeepCommunity(self): + ## community accepts both 1 paramater and 3 paramaters + ## comunity should not accept 2 paramaters + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + + tdSql.execute('alter database db keep 10') + tdSql.query('show databases') + tdSql.checkData(0,7,'10,10,10') + + tdSql.execute('alter database db keep 50') + tdSql.query('show databases') + tdSql.checkData(0,7,'50,50,50') + + tdSql.execute('alter database db keep 20') + tdSql.query('show databases') + tdSql.checkData(0,7,'20,20,20') + + ## the order for altering keep is keep(D), keep0, keep1. + ## if the order is changed, please modify the following test + ## to make sure the the test is accurate + tdSql.execute('alter database db keep 100, 98 ,99') + tdSql.query('show databases') + tdSql.checkData(0,7,'98,99,100') + + tdSql.execute('alter database db keep 200, 200 ,200') + tdSql.query('show databases') + tdSql.checkData(0,7,'200,200,200') + + tdSql.error('alter database db keep 198, 199 ,200') + tdSql.query('show databases') + tdSql.checkData(0,7,'200,200,200') + + tdSql.execute('alter database db keep 3650,3650,3650') + tdSql.error('alter database db keep 4000,4000') + tdSql.error('alter database db keep 5000,50') + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + + def alterKeepEnterprise(self): + ## enterprise only accept three inputs + ## does not accept 1 paramaters nor 3 paramaters + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + + tdSql.error('alter database db keep 10') + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + + ## the order for altering keep is keep(D), keep0, keep1. + ## if the order is changed, please modify the following test + ## to make sure the the test is accurate + + tdSql.execute('alter database db keep 100, 98 ,99') + tdSql.query('show databases') + tdSql.checkData(0,7,'98,99,100') + + tdSql.execute('alter database db keep 200, 200 ,200') + tdSql.query('show databases') + tdSql.checkData(0,7,'200,200,200') + + tdSql.error('alter database db keep 198, 199 ,200') + tdSql.query('show databases') + tdSql.checkData(0,7,'200,200,200') + + tdSql.execute('alter database db keep 3650,3650,3650') + tdSql.error('alter database db keep 4000,3640') + tdSql.error('alter database db keep 10,10') + tdSql.query('show databases') + tdSql.checkData(0,7,'3650,3650,3650') + + def run(self): + tdSql.prepare() + tdSql.execute('create table tb (ts timestamp, speed int)') + selfPath = os.path.dirname(os.path.realpath(__file__)) + + if ("community" in selfPath): + tdLog.debug('running enterprise test') + self.alterKeepEnterprise() + else: + tdLog.debug('running community test') + self.alterKeepCommunity() + def stop(self): tdSql.close() From 904bf2381e1a8cbd55652f4b14ff361c93b9b42d Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Thu, 3 Jun 2021 16:04:48 +0800 Subject: [PATCH 5/6] [TD-4463] modifying test case for community version --- tests/pytest/alter/alter_keep.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index 49b82c7d15..88f3529539 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -42,8 +42,9 @@ class TDTestCase: # tdSql.checkRows(2) def alterKeepCommunity(self): - ## community accepts both 1 paramater and 3 paramaters - ## comunity should not accept 2 paramaters + ## community accepts both 1 paramater, 2 parmaters and 3 paramaters + ## but paramaters other than paramater 1 will be ignored + ## only paramater 1 will be used tdSql.query('show databases') tdSql.checkData(0,7,'3650,3650,3650') @@ -59,26 +60,30 @@ class TDTestCase: tdSql.query('show databases') tdSql.checkData(0,7,'20,20,20') - ## the order for altering keep is keep(D), keep0, keep1. - ## if the order is changed, please modify the following test - ## to make sure the the test is accurate tdSql.execute('alter database db keep 100, 98 ,99') tdSql.query('show databases') - tdSql.checkData(0,7,'98,99,100') + tdSql.checkData(0,7,'100,100,100') - tdSql.execute('alter database db keep 200, 200 ,200') + tdSql.execute('alter database db keep 99, 100 ,101') + tdSql.query('show databases') + tdSql.checkData(0,7,'99,99,99') + + tdSql.execute('alter database db keep 200, 199 ,198') tdSql.query('show databases') tdSql.checkData(0,7,'200,200,200') - tdSql.error('alter database db keep 198, 199 ,200') + tdSql.execute('alter database db keep 4000,4001') tdSql.query('show databases') - tdSql.checkData(0,7,'200,200,200') + tdSql.checkData(0,7,'4000,4000,4000') - tdSql.execute('alter database db keep 3650,3650,3650') - tdSql.error('alter database db keep 4000,4000') - tdSql.error('alter database db keep 5000,50') + tdSql.execute('alter database db keep 5000,50') tdSql.query('show databases') - tdSql.checkData(0,7,'3650,3650,3650') + tdSql.checkData(0,7,'5000,5000,5000') + + tdSql.execute('alter database db keep 50,5000') + tdSql.query('show databases') + tdSql.checkData(0,7,'50,50,50') + def alterKeepEnterprise(self): ## enterprise only accept three inputs From f797c397e436d1d39536fc1adf5adabc50eee028 Mon Sep 17 00:00:00 2001 From: bryanchang0603 Date: Thu, 3 Jun 2021 16:54:15 +0800 Subject: [PATCH 6/6] [TD-4463] enterprise test pass --- tests/pytest/alter/alter_keep.py | 57 ++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index 88f3529539..cb630963a7 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -21,25 +21,6 @@ class TDTestCase: def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) tdSql.init(conn.cursor(), logSql) - - ##TODO: test keep keep hot alter, cannot be tested for now as test.py's output - ## is inconsistent with the actual output. - # tdSql.execute('insert into tb values (now, 10)') - # tdSql.execute('insert into tb values (now + 10m, 10)') - # tdSql.query('select * from tb') - # tdSql.checkRows(2) - # tdSql.execute('alter database db keep 40,40,40') - # os.system('systemctl restart taosd') - # tdSql.execute('insert into tb values (now-60d, 10)') - # tdSql.execute('insert into tb values (now-30d, 10)') - # tdSql.query('select * from tb') - # tdSql.showQueryResult() - # tdSql.checkRows(2) - # tdSql.execute('alter database db keep 20,20,20') - # tdSql.checkRows(3) - # os.system('systemctl restart taosd') - # tdSql.query('select * from tb') - # tdSql.checkRows(2) def alterKeepCommunity(self): ## community accepts both 1 paramater, 2 parmaters and 3 paramaters @@ -99,6 +80,10 @@ class TDTestCase: ## if the order is changed, please modify the following test ## to make sure the the test is accurate + tdSql.execute('alter database db keep 10, 10 ,10') + tdSql.query('show databases') + tdSql.checkData(0,7,'10,10,10') + tdSql.execute('alter database db keep 100, 98 ,99') tdSql.query('show databases') tdSql.checkData(0,7,'98,99,100') @@ -111,15 +96,14 @@ class TDTestCase: tdSql.query('show databases') tdSql.checkData(0,7,'200,200,200') - tdSql.execute('alter database db keep 3650,3650,3650') - tdSql.error('alter database db keep 4000,3640') - tdSql.error('alter database db keep 10,10') - tdSql.query('show databases') - tdSql.checkData(0,7,'3650,3650,3650') + # tdSql.execute('alter database db keep 3650,3650,3650') + # tdSql.error('alter database db keep 4000,3640') + # tdSql.error('alter database db keep 10,10') + # tdSql.query('show databases') + # tdSql.checkData(0,7,'3650,3650,3650') def run(self): tdSql.prepare() - tdSql.execute('create table tb (ts timestamp, speed int)') selfPath = os.path.dirname(os.path.realpath(__file__)) if ("community" in selfPath): @@ -128,6 +112,29 @@ class TDTestCase: else: tdLog.debug('running community test') self.alterKeepCommunity() + + + ##TODO: need to wait for TD-4445 to implement the following + ## tests + # tdSql.prepare() + # tdSql.execute('create table tb (ts timestamp, speed int)') + # tdSql.execute('alter database db keep 10,10,10') + # tdSql.execute('insert into tb values (now, 10)') + # tdSql.execute('insert into tb values (now + 10m, 10)') + # tdSql.query('select * from tb') + # tdSql.checkRows(2) + # tdSql.execute('alter database db keep 40,40,40') + # tdSql.query('show databases') + # tdSql.checkData(0,7,'40,40,40') + # tdSql.error('insert into tb values (now-60d, 10)') + # tdSql.execute('insert into tb values (now-30d, 10)') + # tdSql.query('select * from tb') + # tdSql.checkRows(3) + # tdSql.execute('alter database db keep 20,20,20') + # tdSql.query('show databases') + # tdSql.checkData(0,7,'20,20,20') + # tdSql.query('select * from tb') + # tdSql.checkRows(2) def stop(self):