From 842b3cb3078045d7a93ed445e2a471c0bde95126 Mon Sep 17 00:00:00 2001 From: wenzhouwww Date: Thu, 5 Aug 2021 16:04:07 +0800 Subject: [PATCH] [TD-5619] : this is test case about parse timezone which is based on RCF3339/ISO8601 --- tests/pytest/TimeZone/TestCaseTimeZone.py | 253 ++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 tests/pytest/TimeZone/TestCaseTimeZone.py diff --git a/tests/pytest/TimeZone/TestCaseTimeZone.py b/tests/pytest/TimeZone/TestCaseTimeZone.py new file mode 100644 index 0000000000..d99af7b995 --- /dev/null +++ b/tests/pytest/TimeZone/TestCaseTimeZone.py @@ -0,0 +1,253 @@ +################################################################### +# 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 +import os +import subprocess +import time +from util.log import * +from util.cases import * +from util.sql import * +from util.dnodes import * +import datetime + + +class TDTestCase: + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor(), logSql) + + def getBuildPath(self): + selfPath = os.path.dirname(os.path.realpath(__file__)) + + if ("community" in selfPath): + projPath = selfPath[:selfPath.find("community")] + else: + projPath = selfPath[:selfPath.find("tests")] + + for root, dirs, files in os.walk(projPath): + if ("taosd" in files): + rootRealPath = os.path.dirname(os.path.realpath(root)) + if ("packaging" not in rootRealPath): + buildPath = root[:len(root)-len("/build/bin")] + break + return buildPath + + def run(self): + tdSql.prepare() + buildPath = self.getBuildPath() + if (buildPath == ""): + tdLog.exit("taosd not found!") + else: + tdLog.info("taosd found in %s" % buildPath) + binPath = buildPath+ "/build/bin/" + + tdSql.execute("create database timezone") + tdSql.execute("use timezone") + tdSql.execute("create stable st (ts timestamp, id int ) tags (index int)") + + tdSql.execute("insert into tb0 using st tags (1) values ('2021-07-01 00:00:00.000',0)") + res = tdSql.getResult("select * from tb0") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 0)]: + tdLog.info("time format is check pass : '2021-07-01 00:00:00.000' ") + else: + tdLog.info(" '2021-07-01 00:00:00.000' failed ") + + tdSql.execute("insert into tb1 using st tags (1) values ('2021-07-01T00:00:00.000+07:50',1)") + res = tdSql.getResult("select * from tb1") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 10), 1)]: + tdLog.info("time format is check pass : '2021-07-01T00:00:00.000+07:50' ") + else: + tdLog.info(" '2021-07-01T00:00:00.000+07:50' failed ") + + tdSql.execute("insert into tb2 using st tags (1) values ('2021-07-01T00:00:00.000+08:00',2)") + res = tdSql.getResult("select * from tb2") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 2)]: + tdLog.info("time format is check pass : '2021-07-01T00:00:00.000+08:00' ") + else: + tdLog.info(" '2021-07-01T00:00:00.000+08:00' failed ") + + tdSql.execute("insert into tb3 using st tags (1) values ('2021-07-01T00:00:00.000Z',3)") + res = tdSql.getResult("select * from tb3") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 8, 0), 3)]: + tdLog.info("time format is check pass : '2021-07-01T00:00:00.000Z' ") + else: + tdLog.info(" '2021-07-01T00:00:00.000Z' failed ") + + tdSql.execute("insert into tb4 using st tags (1) values ('2021-07-01 00:00:00.000+07:50',4)") + res = tdSql.getResult("select * from tb4") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 10), 4)]: + tdLog.info("time format is check pass : '2021-07-01 00:00:00.000+07:50' ") + else: + tdLog.info(" '2021-07-01 00:00:00.000+07:50' failed ") + + tdSql.execute("insert into tb5 using st tags (1) values ('2021-07-01 00:00:00.000Z',5)") + res = tdSql.getResult("select * from tb5") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 8, 0), 5)]: + tdLog.info("time format is check pass : '2021-07-01 00:00:00.000Z' ") + else: + tdLog.info(" '2021-07-01 00:00:00.000Z' failed ") + + tdSql.execute("insert into tb6 using st tags (1) values ('2021-07-01T00:00:00.000+0800',6)") + res = tdSql.getResult("select * from tb6") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 6)]: + tdLog.info("time format is check pass : '2021-07-01T00:00:00.000+0800' ") + else: + tdLog.info(" '2021-07-01T00:00:00.000+0800' failed ") + + tdSql.execute("insert into tb7 using st tags (1) values ('2021-07-01 00:00:00.000+0800',7)") + res = tdSql.getResult("select * from tb7") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 7)]: + tdLog.info("time format is check pass : '2021-07-01 00:00:00.000+0800' ") + else: + tdLog.info(" '2021-07-01 00:00:00.000+0800' failed ") + + tdSql.execute("insert into tb8 using st tags (1) values ('2021-07-0100:00:00.000',8)") + res = tdSql.getResult("select * from tb8") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 8)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000' ") + else: + tdLog.info(" '2021-07-0100:00:00.000' failed ") + + tdSql.execute("insert into tb9 using st tags (1) values ('2021-07-0100:00:00.000+0800',9)") + res = tdSql.getResult("select * from tb9") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 9)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+0800' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+0800' failed ") + + tdSql.execute("insert into tb10 using st tags (1) values ('2021-07-0100:00:00.000+08:00',10)") + res = tdSql.getResult("select * from tb10") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 0), 10)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+08:00' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+08:00' failed ") + + tdSql.execute("insert into tb11 using st tags (1) values ('2021-07-0100:00:00.000+07:00',11)") + res = tdSql.getResult("select * from tb11") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 1, 0), 11)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+07:00' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+07:00' failed ") + + tdSql.execute("insert into tb12 using st tags (1) values ('2021-07-0100:00:00.000+07:00',12)") + res = tdSql.getResult("select * from tb12") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 1, 0), 12)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+07' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+07' failed ") + + tdSql.execute("insert into tb13 using st tags (1) values ('2021-07-0100:00:00.000+07:12',13)") + res = tdSql.getResult("select * from tb13") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 48), 13)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+07:12' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+07:12' failed ") + + tdSql.execute("insert into tb14 using st tags (1) values ('2021-07-0100:00:00.000+712',14)") + res = tdSql.getResult("select * from tb14") + print(res) + if res == [(datetime.datetime(2021, 6, 28, 8, 58), 14)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+712' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+712' failed ") + + tdSql.execute("insert into tb15 using st tags (1) values ('2021-07-0100:00:00.000Z',15)") + res = tdSql.getResult("select * from tb15") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 8, 0), 15)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000Z' ") + else: + tdLog.info(" '2021-07-0100:00:00.000Z' failed ") + + tdSql.execute("insert into tb16 using st tags (1) values ('2021-7-1 00:00:00.000Z',16)") + res = tdSql.getResult("select * from tb16") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 8, 0), 16)]: + tdLog.info("time format is check pass : '2021-7-1 00:00:00.000Z' ") + else: + tdLog.info(" '2021-7-1 00:00:00.000Z' failed ") + + tdSql.execute("insert into tb17 using st tags (1) values ('2021-07-0100:00:00.000+0750',17)") + res = tdSql.getResult("select * from tb17") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 10), 17)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+0750' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+0750' failed ") + + tdSql.execute("insert into tb18 using st tags (1) values ('2021-07-0100:00:00.000+0752',18)") + res = tdSql.getResult("select * from tb18") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 8), 18)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+0752' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+0752' failed ") + + tdSql.execute("insert into tb19 using st tags (1) values ('2021-07-0100:00:00.000+075',19)") + res = tdSql.getResult("select * from tb19") + print(res) + if res == [(datetime.datetime(2021, 7, 1, 0, 55), 19)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+075' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+075' failed ") + + tdSql.execute("insert into tb20 using st tags (1) values ('2021-07-0100:00:00.000+75',20)") + res = tdSql.getResult("select * from tb20") + print(res) + if res == [(datetime.datetime(2021, 6, 28, 5, 0), 20)]: + tdLog.info("time format is check pass : '2021-07-0100:00:00.000+75' ") + else: + tdLog.info(" '2021-07-0100:00:00.000+75' failed ") + + + tdSql.error("insert into tberror using st tags (1) values ('20210701 00:00:00.000+0800',0)") + tdSql.error("insert into tberror using st tags (1) values ('2021070100:00:00.000+0800',0)") + tdSql.error("insert into tberror using st tags (1) values ('202171 00:00:00.000+0800',0)") + tdSql.error("insert into tberror using st tags (1) values ('2021 07 01 00:00:00.000+0800',0)") + tdSql.error("insert into tberror using st tags (1) values ('2021 -07-0100:00:00.000+0800',0)") + + + + + + + + + + + + + + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase())