158 lines
5.9 KiB
Python
158 lines
5.9 KiB
Python
|
|
from util.log import *
|
|
from util.sql import *
|
|
from util.cases import *
|
|
|
|
import platform
|
|
import os
|
|
if platform.system().lower() == 'windows':
|
|
import tzlocal
|
|
|
|
|
|
class TDTestCase:
|
|
|
|
def init(self, conn, logSql):
|
|
tdLog.debug(f"start to excute {__file__}")
|
|
tdSql.init(conn.cursor())
|
|
|
|
def run(self): # sourcery skip: extract-duplicate-method
|
|
tdSql.prepare()
|
|
# get system timezone
|
|
if platform.system().lower() == 'windows':
|
|
time_zone_1 = tzlocal.get_localzone_name()
|
|
time_zone_2 = time.strftime('(UTC, %z)')
|
|
time_zone = time_zone_1 + " " + time_zone_2
|
|
else:
|
|
time_zone_arr = os.popen('timedatectl | grep zone').read().strip().split(':')
|
|
if len(time_zone_arr) > 1:
|
|
time_zone = time_zone_arr[1].lstrip()
|
|
else:
|
|
# possibly in a docker container
|
|
time_zone_1 = os.popen('ls -l /etc/localtime|awk -F/ \'{print $(NF-1) "/" $NF}\'').read().strip()
|
|
time_zone_2 = os.popen('date "+(%Z, %z)"').read().strip()
|
|
time_zone = time_zone_1 + " " + time_zone_2
|
|
print("expected time zone: " + time_zone)
|
|
|
|
tdLog.printNoPrefix("==========step1:create tables==========")
|
|
tdSql.execute(
|
|
'''create table if not exists ntb
|
|
(ts timestamp, c1 int, c2 float,c3 double)
|
|
'''
|
|
)
|
|
tdSql.execute(
|
|
'''create table if not exists stb
|
|
(ts timestamp, c1 int, c2 float,c3 double) tags(t0 int)
|
|
'''
|
|
)
|
|
tdSql.execute(
|
|
'''create table if not exists stb_1 using stb tags(100)
|
|
'''
|
|
)
|
|
|
|
tdLog.printNoPrefix("==========step2:insert data==========")
|
|
tdSql.execute(
|
|
"insert into ntb values(now,10,99.99,11.111111)(today(),100,11.111,22.222222)")
|
|
tdSql.execute(
|
|
"insert into stb_1 values(now,111,99.99,11.111111)(today(),1,11.111,22.222222)")
|
|
|
|
tdLog.printNoPrefix("==========step3:query data==========")
|
|
|
|
tdSql.query("select timezone() from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
tdSql.query("select timezone() from db.ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
tdSql.query("select timezone() from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
tdSql.query("select timezone() from db.stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
tdSql.query("select timezone() from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
tdSql.query("select timezone() from db.stb_1 ")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0, 0, time_zone)
|
|
|
|
tdSql.error("select timezone(1) from stb")
|
|
tdSql.error("select timezone(1) from db.stb")
|
|
tdSql.error("select timezone(1) from ntb")
|
|
tdSql.error("select timezone(1) from db.ntb")
|
|
tdSql.error("select timezone(1) from stb_1")
|
|
tdSql.error("select timezone(1) from db.stb_1")
|
|
tdSql.error("select timezone(now()) from stb")
|
|
tdSql.error("select timezone(now()) from db.stb")
|
|
|
|
tdSql.query(f"select * from ntb where timezone()='{time_zone}'")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from db.ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from db.stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1 from db.stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1.5 from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()+1.5 from db.ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()-100 from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()*100 from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.query("select timezone()/10 from ntb")
|
|
# tdSql.query("select timezone()/0 from ntb")
|
|
|
|
|
|
tdSql.query("select timezone()+null from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()-null from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()*null from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()/null from ntb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
# tdSql.query("select timezone()")
|
|
tdSql.query("select timezone()+null from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()-null from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()*null from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()/null from stb")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()+null from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()-null from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()*null from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
tdSql.query("select timezone()/null from stb_1")
|
|
tdSql.checkRows(2)
|
|
tdSql.checkData(0,0,None)
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success(f"{__file__} successfully executed")
|
|
|
|
|
|
tdCases.addLinux(__file__, TDTestCase())
|
|
tdCases.addWindows(__file__, TDTestCase())
|