Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d598ca1c
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1181
Star
22014
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
d598ca1c
编写于
7月 02, 2022
作者:
H
Hui Li
提交者:
GitHub
7月 02, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #14398 from taosdata/3.0test/jcy
test:update now.py and today.py
上级
bf61e749
68726070
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
214 addition
and
166 deletion
+214
-166
tests/system-test/1-insert/alter_stable.py
tests/system-test/1-insert/alter_stable.py
+134
-119
tests/system-test/1-insert/alter_table.py
tests/system-test/1-insert/alter_table.py
+6
-1
tests/system-test/2-query/Now.py
tests/system-test/2-query/Now.py
+22
-15
tests/system-test/2-query/Today.py
tests/system-test/2-query/Today.py
+52
-31
未找到文件。
tests/system-test/1-insert/alter_stable.py
浏览文件 @
d598ca1c
...
...
@@ -16,132 +16,147 @@ import string
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sqlset
import
*
from
util
import
constant
from
util.common
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
())
self
.
setsql
=
TDSetSql
()
self
.
ntbname
=
'ntb'
self
.
stbname
=
'stb'
self
.
binary_length
=
20
# the length of binary for column_dict
self
.
nchar_length
=
20
# the length of nchar for column_dict
self
.
column_dict
=
{
'ts'
:
'timestamp'
,
'col1'
:
'tinyint'
,
'col2'
:
'smallint'
,
'col3'
:
'int'
,
'col4'
:
'bigint'
,
'col5'
:
'tinyint unsigned'
,
'col6'
:
'smallint unsigned'
,
'col7'
:
'int unsigned'
,
'col8'
:
'bigint unsigned'
,
'col9'
:
'float'
,
'col10'
:
'double'
,
'col11'
:
'bool'
,
'col12'
:
f
'binary(
{
self
.
binary_length
}
)'
,
'col13'
:
f
'nchar(
{
self
.
nchar_length
}
)'
}
self
.
tag_dict
=
{
'ts_tag'
:
'timestamp'
,
't1'
:
'tinyint'
,
't2'
:
'smallint'
,
't3'
:
'int'
,
't4'
:
'bigint'
,
't5'
:
'tinyint unsigned'
,
't6'
:
'smallint unsigned'
,
't7'
:
'int unsigned'
,
't8'
:
'bigint unsigned'
,
't9'
:
'float'
,
't10'
:
'double'
,
't11'
:
'bool'
,
't12'
:
f
'binary(
{
self
.
binary_length
}
)'
,
't13'
:
f
'nchar(
{
self
.
nchar_length
}
)'
}
self
.
tag_list
=
[
f
'now,1,2,3,4,5,6,7,8,9.9,10.1,true,"abcd","涛思数据"'
]
self
.
tbnum
=
1
self
.
values_list
=
[
f
'now,1,2,3,4,5,6,7,8,9.9,10.1,true,"abcd","涛思数据"'
]
self
.
column_add_dict
=
{
'col_time'
:
'timestamp'
,
'col_tinyint'
:
'tinyint'
,
'col_smallint'
:
'smallint'
,
'col_int'
:
'int'
,
'col_bigint'
:
'bigint'
,
'col_untinyint'
:
'tinyint unsigned'
,
'col_smallint'
:
'smallint unsigned'
,
'col_int'
:
'int unsigned'
,
'col_bigint'
:
'bigint unsigned'
,
'col_bool'
:
'bool'
,
'col_float'
:
'float'
,
'col_double'
:
'double'
,
'col_binary'
:
f
'binary(
{
constant
.
BINARY_LENGTH_MAX
}
)'
,
'col_nchar'
:
f
'nchar(
{
constant
.
NCAHR_LENGTH_MAX
}
)'
def
get_long_name
(
self
,
length
,
mode
=
"mixed"
):
"""
generate long name
mode could be numbers/letters/letters_mixed/mixed
"""
if
mode
==
"numbers"
:
population
=
string
.
digits
elif
mode
==
"letters"
:
population
=
string
.
ascii_letters
.
lower
()
elif
mode
==
"letters_mixed"
:
population
=
string
.
ascii_letters
.
upper
()
+
string
.
ascii_letters
.
lower
()
else
:
population
=
string
.
ascii_letters
.
lower
()
+
string
.
digits
return
""
.
join
(
random
.
choices
(
population
,
k
=
length
))
def
alter_stable_column_check
(
self
,
dbname
,
stbname
,
tbname
):
tdSql
.
execute
(
f
'create database if not exists
{
dbname
}
'
)
tdSql
.
execute
(
f
'use
{
dbname
}
'
)
tdSql
.
execute
(
f
'create stable
{
stbname
}
(ts timestamp, c1 tinyint, c2 smallint, c3 int,
\
c4 bigint, c5 tinyint unsigned, c6 smallint unsigned, c7 int unsigned, c8 bigint unsigned, c9 float, c10 double, c11 bool,c12 binary(20),c13 nchar(20)) tags(t0 int) '
)
tdSql
.
execute
(
f
'create table
{
tbname
}
using
{
stbname
}
tags(1)'
)
tdSql
.
execute
(
f
'insert into
{
tbname
}
values (now,1,2,3,4,5,6,7,8,9.9,10.1,true,"abcd","涛思数据")'
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
add column c14 int'
)
tdSql
.
query
(
f
'select c14 from
{
stbname
}
'
)
tdSql
.
checkRows
(
1
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
add column `c15` int'
)
tdSql
.
query
(
f
'select c15 from
{
stbname
}
'
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
17
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
drop column c14'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
16
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
drop column `c15`'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
15
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify column c12 binary(30)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
12
,
2
,
30
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify column `c12` binary(35)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
12
,
2
,
35
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column `c12` binary(34)'
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify column c13 nchar(30)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
13
,
2
,
30
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c13 nchar(29)'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
rename column c1 c21'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c1 int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c4 int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c8 int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c1 unsigned int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c9 double'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c10 float'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify column c11 int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
drop tag t0'
)
tdSql
.
execute
(
f
'drop database
{
dbname
}
'
)
def
alter_stable_tag_check
(
self
,
dbname
,
stbname
,
tbname
):
tdSql
.
execute
(
f
'create database if not exists
{
dbname
}
'
)
tdSql
.
execute
(
f
'use
{
dbname
}
'
)
tdSql
.
execute
(
f
'create stable
{
stbname
}
(ts timestamp, c1 int) tags(ts_tag timestamp, t1 tinyint, t2 smallint, t3 int,
\
t4 bigint, t5 tinyint unsigned, t6 smallint unsigned, t7 int unsigned, t8 bigint unsigned, t9 float, t10 double, t11 bool,t12 binary(20),t13 nchar(20)) '
)
tdSql
.
execute
(
f
'create table
{
tbname
}
using
{
stbname
}
tags(now,1,2,3,4,5,6,7,8,9.9,10.1,true,"abcd","涛思数据")'
)
tdSql
.
execute
(
f
'insert into
{
tbname
}
values(now,1)'
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
add tag t14 int'
)
tdSql
.
query
(
f
'select t14 from
{
stbname
}
'
)
tdSql
.
checkRows
(
1
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
add tag `t15` int'
)
tdSql
.
query
(
f
'select t14 from
{
stbname
}
'
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
18
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
drop tag t14'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
17
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
drop tag `t15`'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkRows
(
16
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify tag t12 binary(30)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
14
,
2
,
30
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify tag `t12` binary(35)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
14
,
2
,
35
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify tag `t12` binary(34)'
)
tdSql
.
execute
(
f
'alter stable
{
stbname
}
modify tag t13 nchar(30)'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
15
,
2
,
30
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify tag t13 nchar(29)'
)
tdSql
.
execute
(
f
'alter table
{
stbname
}
rename tag t1 t21'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
3
,
0
,
't21'
)
tdSql
.
execute
(
f
'alter table
{
stbname
}
rename tag `t21` t1'
)
tdSql
.
query
(
f
'describe
{
stbname
}
'
)
tdSql
.
checkData
(
3
,
0
,
't1'
)
for
i
in
[
'bigint'
,
'unsigned int'
,
'float'
,
'double'
,
'binary(10)'
,
'nchar(10)'
]:
for
j
in
[
1
,
2
,
3
]:
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify tag t
{
j
}
{
i
}
'
)
for
i
in
[
'int'
,
'unsigned int'
,
'float'
,
'binary(10)'
,
'nchar(10)'
]:
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify tag t8
{
i
}
'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
modify tag t4 int'
)
tdSql
.
error
(
f
'alter stable
{
stbname
}
drop column t0'
)
#!bug TD-16410
# tdSql.error(f'alter stable {tbname} set tag t1=100 ')
# tdSql.execute(f'create table ntb (ts timestamp,c0 int)')
tdSql
.
error
(
f
'alter stable ntb add column c2 '
)
tdSql
.
execute
(
f
'drop database
{
dbname
}
'
)
}
def
alter_stable_check
(
self
):
tdSql
.
prepare
()
tdSql
.
execute
(
self
.
setsql
.
set_create_stable_sql
(
self
.
stbname
,
self
.
column_dict
,
self
.
tag_dict
))
tdSql
.
execute
(
self
.
setsql
.
set_create_normaltable_sql
(
self
.
ntbname
,
self
.
column_dict
))
for
i
in
self
.
values_list
:
tdSql
.
execute
(
f
'insert into
{
self
.
ntbname
}
values(
{
i
}
)'
)
for
i
in
range
(
self
.
tbnum
):
tdSql
.
execute
(
f
'create table
{
self
.
stbname
}
_
{
i
}
using
{
self
.
stbname
}
tags(
{
self
.
tag_list
[
i
]
}
)'
)
for
j
in
self
.
values_list
:
tdSql
.
execute
(
f
'insert into
{
self
.
stbname
}
_
{
i
}
values(
{
j
}
)'
)
for
key
,
values
in
self
.
column_add_dict
.
items
():
tdSql
.
execute
(
f
'alter stable
{
self
.
stbname
}
add column
{
key
}
{
values
}
'
)
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
'
)
tdSql
.
checkRows
(
len
(
self
.
column_dict
)
+
len
(
self
.
tag_dict
)
+
1
)
for
i
in
range
(
self
.
tbnum
):
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
_
{
i
}
'
)
tdSql
.
checkRows
(
len
(
self
.
column_dict
)
+
len
(
self
.
tag_dict
)
+
1
)
tdSql
.
query
(
f
'select
{
key
}
from
{
self
.
stbname
}
_
{
i
}
'
)
tdSql
.
checkRows
(
len
(
self
.
values_list
))
for
i
in
range
(
self
.
tbnum
):
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
_
{
i
}
add column
{
key
}
{
values
}
'
)
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
_
{
i
}
drop column
{
key
}
'
)
#! bug TD-16921
#tdSql.error(f'alter stable {self.ntbname} add column {key} {values}')
#tdSql.error(f'alter stable {self.ntbname} drop column {key}')
tdSql
.
execute
(
f
'alter stable
{
self
.
stbname
}
drop column
{
key
}
'
)
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
'
)
tdSql
.
checkRows
(
len
(
self
.
column_dict
)
+
len
(
self
.
tag_dict
))
for
i
in
range
(
self
.
tbnum
):
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
_
{
i
}
'
)
tdSql
.
checkRows
(
len
(
self
.
column_dict
)
+
len
(
self
.
tag_dict
))
tdSql
.
error
(
f
'select
{
key
}
from
{
self
.
stbname
}
'
)
for
key
,
values
in
self
.
column_dict
.
items
():
if
'binary'
in
values
.
lower
():
v
=
f
'binary(
{
self
.
binary_length
+
1
}
)'
v_error
=
f
'binary(
{
self
.
binary_length
-
1
}
)'
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
modify column
{
key
}
{
v_error
}
'
)
tdSql
.
execute
(
f
'alter stable
{
self
.
stbname
}
modify column
{
key
}
{
v
}
'
)
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
'
)
result
=
tdCom
.
getOneRow
(
1
,
'VARCHAR'
)
tdSql
.
checkEqual
(
result
[
0
][
2
],
self
.
binary_length
+
1
)
for
i
in
range
(
self
.
tbnum
):
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
_
{
i
}
'
)
result
=
tdCom
.
getOneRow
(
1
,
'VARCHAR'
)
tdSql
.
checkEqual
(
result
[
0
][
2
],
self
.
binary_length
+
1
)
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
_
{
i
}
modify column
{
key
}
{
v
}
'
)
#! bug TD-16921
# tdSql.error(f'alter stable {self.ntbname} modify column {key} {v}')
elif
'nchar'
in
values
.
lower
():
v
=
f
'nchar(
{
self
.
binary_length
+
1
}
)'
v_error
=
f
'nchar(
{
self
.
binary_length
-
1
}
)'
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
modify column
{
key
}
{
v_error
}
'
)
tdSql
.
execute
(
f
'alter stable
{
self
.
stbname
}
modify column
{
key
}
{
v
}
'
)
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
'
)
result
=
tdCom
.
getOneRow
(
1
,
'NCHAR'
)
tdSql
.
checkEqual
(
result
[
0
][
2
],
self
.
binary_length
+
1
)
for
i
in
range
(
self
.
tbnum
):
tdSql
.
query
(
f
'describe
{
self
.
stbname
}
_
{
i
}
'
)
result
=
tdCom
.
getOneRow
(
1
,
'NCHAR'
)
tdSql
.
checkEqual
(
result
[
0
][
2
],
self
.
binary_length
+
1
)
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
_
{
i
}
modify column
{
key
}
{
v
}
'
)
#! bug TD-16921
#tdSql.error(f'alter stable {self.ntbname} modify column {key} {v}')
else
:
for
v
in
self
.
column_dict
.
values
():
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
modify column
{
key
}
{
v
}
'
)
# tdSql.error(f'alter stable {self.ntbname} modify column {key} {v}')
for
i
in
range
(
self
.
tbnum
):
tdSql
.
error
(
f
'alter stable
{
self
.
stbname
}
_
{
i
}
modify column
{
key
}
{
v
}
'
)
def
run
(
self
):
dbname
=
self
.
get_long_name
(
length
=
10
,
mode
=
"letters"
)
stbname
=
self
.
get_long_name
(
length
=
5
,
mode
=
"letters"
)
tbname
=
self
.
get_long_name
(
length
=
5
,
mode
=
"letters"
)
self
.
alter_stable_column_check
(
dbname
,
stbname
,
tbname
)
self
.
alter_stable_tag_check
(
dbname
,
stbname
,
tbname
)
self
.
alter_stable_check
()
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/system-test/1-insert/alter_table.py
浏览文件 @
d598ca1c
...
...
@@ -126,6 +126,7 @@ class TDTestCase:
tdSql
.
execute
(
f
'alter table
{
self
.
ntbname
}
rename column
{
key
}
{
rename_str
}
'
)
tdSql
.
query
(
f
'select
{
rename_str
}
from
{
self
.
ntbname
}
'
)
tdSql
.
checkRows
(
1
)
tdSql
.
error
(
f
'select
{
key
}
from
{
self
.
ntbname
}
'
)
def
alter_check_tb
(
self
):
tag_tinyint
=
random
.
randint
(
constant
.
TINYINT_MIN
,
constant
.
TINYINT_MAX
)
...
...
@@ -277,7 +278,11 @@ class TDTestCase:
else
:
for
v
in
self
.
column_dict
.
values
():
tdSql
.
error
(
f
'alter table
{
self
.
stbname
}
modify column
{
key
}
{
v
}
'
)
for
key
,
values
in
self
.
column_dict
.
items
():
rename_str
=
f
'
{
tdCom
.
getLongName
(
constant
.
COL_NAME_LENGTH_MAX
,
"letters"
)
}
'
tdSql
.
error
(
f
'alter table
{
self
.
stbname
}
rename column
{
key
}
{
rename_str
}
'
)
for
i
in
range
(
self
.
tbnum
):
tdSql
.
error
(
f
'alter table
{
self
.
stbname
}
_
{
i
}
rename column
{
key
}
{
rename_str
}
'
)
def
run
(
self
):
self
.
alter_check_ntb
()
self
.
alter_check_tb
()
...
...
tests/system-test/2-query/Now.py
浏览文件 @
d598ca1c
...
...
@@ -40,6 +40,7 @@ class TDTestCase:
self
.
time_unit
=
[
'b'
,
'u'
,
'a'
,
's'
,
'm'
,
'h'
,
'd'
,
'w'
]
self
.
symbol
=
[
'+'
,
'-'
,
'*'
,
'/'
]
self
.
error_values
=
[
1.5
,
'abc'
,
'"abc"'
,
'!@'
,
'today()'
]
self
.
db_percision
=
[
'ms'
,
'us'
,
'ns'
]
def
tbtype_check
(
self
,
tb_type
):
if
tb_type
==
'normal table'
or
tb_type
==
'child table'
:
tdSql
.
checkRows
(
len
(
self
.
values_list
))
...
...
@@ -70,15 +71,20 @@ class TDTestCase:
tdSql
.
checkData
(
i
,
0
,
None
)
def
now_check_ntb
(
self
):
tdSql
.
prepare
()
for
time_unit
in
self
.
db_percision
:
tdSql
.
execute
(
f
'create database db precision "
{
time_unit
}
"'
)
tdSql
.
execute
(
'use db'
)
tdSql
.
execute
(
self
.
setsql
.
set_create_normaltable_sql
(
self
.
ntbname
,
self
.
column_dict
))
for
value
in
self
.
values_list
:
tdSql
.
execute
(
f
'insert into
{
self
.
ntbname
}
values(
{
value
}
)'
)
self
.
data_check
(
self
.
ntbname
,
'normal table'
)
tdSql
.
execute
(
'drop database db'
)
def
now_check_stb
(
self
):
tdSql
.
prepare
()
for
time_unit
in
self
.
db_percision
:
tdSql
.
execute
(
f
'create database db precision "
{
time_unit
}
"'
)
tdSql
.
execute
(
'use db'
)
tdSql
.
execute
(
self
.
setsql
.
set_create_stable_sql
(
self
.
stbname
,
self
.
column_dict
,
self
.
tag_dict
))
for
i
in
range
(
self
.
tbnum
):
tdSql
.
execute
(
f
"create table
{
self
.
stbname
}
_
{
i
}
using
{
self
.
stbname
}
tags(
{
self
.
tag_values
[
0
]
}
)"
)
...
...
@@ -87,6 +93,7 @@ class TDTestCase:
for
i
in
range
(
self
.
tbnum
):
self
.
data_check
(
f
'
{
self
.
stbname
}
_
{
i
}
'
,
'child table'
)
self
.
data_check
(
self
.
stbname
,
'stable'
)
tdSql
.
execute
(
'drop database db'
)
def
run
(
self
):
# sourcery skip: extract-duplicate-method
self
.
now_check_ntb
()
...
...
tests/system-test/2-query/Today.py
浏览文件 @
d598ca1c
...
...
@@ -5,6 +5,7 @@ from util.log import *
from
util.sql
import
*
from
util.cases
import
*
import
datetime
import
pandas
as
pd
class
TDTestCase
:
...
...
@@ -12,8 +13,8 @@ class TDTestCase:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdSql
.
init
(
conn
.
cursor
())
self
.
today_date
=
datetime
.
datetime
.
strptime
(
datetime
.
datetime
.
now
().
strftime
(
"%Y-%m-%d"
),
"%Y-%m-%d"
)
self
.
today_date
=
datetime
.
datetime
.
strptime
(
datetime
.
datetime
.
now
().
strftime
(
"%Y-%m-%d"
),
"%Y-%m-%d"
)
self
.
today_ts
=
datetime
.
datetime
.
strptime
(
datetime
.
datetime
.
now
().
strftime
(
"%Y-%m-%d"
),
"%Y-%m-%d"
).
timestamp
(
)
self
.
time_unit
=
[
'b'
,
'u'
,
'a'
,
's'
,
'm'
,
'h'
,
'd'
,
'w'
]
self
.
error_param
=
[
'1.5'
,
'abc'
,
'!@#'
,
'"abc"'
,
'today()'
]
self
.
arithmetic_operators
=
[
'+'
,
'-'
,
'*'
,
'/'
]
...
...
@@ -41,7 +42,7 @@ class TDTestCase:
f
'today(),3,3.333,333.333333,now()'
,
f
'today()-1d,10,11.11,99.999999,now()'
,
f
'today()+1d,1,1.55,100.555555,today()'
]
self
.
db_percision
=
[
'ms'
,
'us'
,
'ns'
]
def
set_create_normaltable_sql
(
self
,
ntbname
,
column_dict
):
column_sql
=
''
for
k
,
v
in
column_dict
.
items
():
...
...
@@ -57,7 +58,8 @@ class TDTestCase:
tag_sql
+=
f
"
{
k
}
{
v
}
,"
create_stb_sql
=
f
'create table
{
stbname
}
(
{
column_sql
[:
-
1
]
}
) tags(
{
tag_sql
[:
-
1
]
}
)'
return
create_stb_sql
def
data_check
(
self
,
column_dict
=
{},
tbname
=
''
,
values_list
=
[],
tb_num
=
1
,
tb
=
'tb'
):
def
data_check
(
self
,
column_dict
=
{},
tbname
=
''
,
values_list
=
[],
tb_num
=
1
,
tb
=
'tb'
,
precision
=
'ms'
):
for
k
,
v
in
column_dict
.
items
():
num_up
=
0
num_down
=
0
...
...
@@ -65,11 +67,26 @@ class TDTestCase:
if
v
.
lower
()
==
'timestamp'
:
tdSql
.
query
(
f
'select
{
k
}
from
{
tbname
}
'
)
for
i
in
tdSql
.
queryResult
:
if
i
[
0
]
>
self
.
today_date
:
if
precision
==
'ms'
:
if
int
(
i
[
0
].
timestamp
())
*
1000
>
int
(
self
.
today_ts
)
*
1000
:
num_up
+=
1
elif
int
(
i
[
0
].
timestamp
())
*
1000
==
int
(
self
.
today_ts
)
*
1000
:
num_same
+=
1
elif
int
(
i
[
0
].
timestamp
())
*
1000
<
int
(
self
.
today_ts
)
*
1000
:
num_down
+=
1
elif
precision
==
'us'
:
if
int
(
i
[
0
].
timestamp
())
*
1000000
>
int
(
self
.
today_ts
)
*
1000000
:
num_up
+=
1
elif
int
(
i
[
0
].
timestamp
())
*
1000000
==
int
(
self
.
today_ts
)
*
1000000
:
num_same
+=
1
elif
int
(
i
[
0
].
timestamp
())
*
1000000
<
int
(
self
.
today_ts
)
*
1000000
:
num_down
+=
1
elif
precision
==
'ns'
:
if
i
[
0
]
>
int
(
self
.
today_ts
)
*
1000000000
:
num_up
+=
1
elif
i
[
0
]
==
self
.
today_date
:
elif
i
[
0
]
==
int
(
self
.
today_ts
)
*
1000000000
:
num_same
+=
1
elif
i
[
0
]
<
self
.
today_date
:
elif
i
[
0
]
<
int
(
self
.
today_ts
)
*
1000000000
:
num_down
+=
1
tdSql
.
query
(
f
"select today() from
{
tbname
}
"
)
tdSql
.
checkRows
(
len
(
values_list
)
*
tb_num
)
...
...
@@ -130,15 +147,21 @@ class TDTestCase:
for
i
in
range
(
num_same
):
tdSql
.
checkData
(
i
,
0
,
str
(
self
.
today_date
))
def
today_check_ntb
(
self
):
tdSql
.
prepare
()
for
time_unit
in
self
.
db_percision
:
print
(
time_unit
)
tdSql
.
execute
(
f
'create database db precision "
{
time_unit
}
"'
)
tdSql
.
execute
(
'use db'
)
tdSql
.
execute
(
self
.
set_create_normaltable_sql
(
self
.
ntbname
,
self
.
column_dict
))
for
i
in
self
.
values_list
:
tdSql
.
execute
(
f
'insert into
{
self
.
ntbname
}
values(
{
i
}
)'
)
self
.
data_check
(
self
.
column_dict
,
self
.
ntbname
,
self
.
values_lis
t
)
self
.
data_check
(
self
.
column_dict
,
self
.
ntbname
,
self
.
values_list
,
1
,
'tb'
,
time_uni
t
)
tdSql
.
execute
(
'drop database db'
)
def
today_check_stb_tb
(
self
):
tdSql
.
prepare
()
for
time_unit
in
self
.
db_percision
:
print
(
time_unit
)
tdSql
.
execute
(
f
'create database db precision "
{
time_unit
}
"'
)
tdSql
.
execute
(
'use db'
)
tdSql
.
execute
(
self
.
set_create_stable_sql
(
self
.
stbname
,
self
.
column_dict
,
self
.
tag_dict
))
for
i
in
range
(
self
.
tbnum
):
tdSql
.
execute
(
f
'create table if not exists
{
self
.
stbname
}
_
{
i
}
using
{
self
.
stbname
}
tags(
{
self
.
tag_values
[
i
]
}
)'
)
...
...
@@ -146,16 +169,14 @@ class TDTestCase:
tdSql
.
execute
(
f
'insert into
{
self
.
stbname
}
_
{
i
}
values (
{
j
}
)'
)
# check child table
for
i
in
range
(
self
.
tbnum
):
self
.
data_check
(
self
.
column_dict
,
f
'
{
self
.
stbname
}
_
{
i
}
'
,
self
.
values_lis
t
)
self
.
data_check
(
self
.
column_dict
,
f
'
{
self
.
stbname
}
_
{
i
}
'
,
self
.
values_list
,
1
,
'tb'
,
time_uni
t
)
# check stable
self
.
data_check
(
self
.
column_dict
,
self
.
stbname
,
self
.
values_list
,
self
.
tbnum
,
'stb'
)
self
.
data_check
(
self
.
column_dict
,
self
.
stbname
,
self
.
values_list
,
self
.
tbnum
,
'stb'
,
time_unit
)
tdSql
.
execute
(
'drop database db'
)
def
run
(
self
):
# sourcery skip: extract-duplicate-method
tdLog
.
printNoPrefix
(
"==========check today() for normal table =========="
)
self
.
today_check_ntb
()
tdLog
.
printNoPrefix
(
"==========check today() for stable and child table=========="
)
self
.
today_check_stb_tb
()
def
stop
(
self
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录