Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
87c2c784
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
87c2c784
编写于
5月 12, 2022
作者:
C
cpwu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add case
上级
1e8c6183
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
144 addition
and
4 deletion
+144
-4
tests/system-test/0-others/user_control.py
tests/system-test/0-others/user_control.py
+144
-4
未找到文件。
tests/system-test/0-others/user_control.py
浏览文件 @
87c2c784
from
distutils.command.config
import
config
import
taos
import
sys
...
...
@@ -5,27 +6,166 @@ from util.log import *
from
util.sql
import
*
from
util.cases
import
*
PRIVILEGES_ALL
=
"ALL"
PRIVILEGES_READ
=
"READ"
PRIVILEGES_WRITE
=
"WRITE"
class
TDconnect
:
def
__init__
(
self
,
host
=
None
,
port
=
None
,
user
=
None
,
password
=
None
,
database
=
None
,
config
=
None
,
)
->
None
:
self
.
_conn
=
None
self
.
_host
=
host
self
.
_user
=
user
self
.
_password
=
password
self
.
_database
=
database
self
.
_port
=
port
self
.
_config
=
config
def
__enter__
(
self
):
self
.
_conn
=
taos
.
connect
(
host
=
self
.
_host
,
port
=
self
.
_port
,
user
=
self
.
_user
,
password
=
self
.
_password
,
database
=
self
.
_database
,
config
=
self
.
_config
)
self
.
cursor
=
self
.
_conn
.
cursor
()
return
self
.
cursor
def
__exit__
(
self
,
types
,
values
,
trace
):
if
self
.
_conn
:
self
.
cursor
.
close
()
self
.
_conn
.
close
()
def
taos_connect
(
host
=
"127.0.0.1"
,
port
=
6030
,
user
=
"root"
,
passwd
=
"taosdata"
,
database
=
None
,
config
=
None
):
return
TDconnect
(
host
=
host
,
port
=
port
,
user
=
user
,
password
=
passwd
,
database
=
database
,
config
=
config
)
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdSql
.
init
(
conn
.
cursor
())
@
property
def
__user_list
(
self
):
return
[
f
"user_test
{
i
}
"
for
i
in
range
(
self
.
users_count
)
]
@
property
def
__passwd_list
(
self
):
return
[
f
"taosdata
{
i
}
"
for
i
in
range
(
self
.
users_count
)
]
@
property
def
__privilege
(
self
):
return
[
PRIVILEGES_ALL
,
PRIVILEGES_READ
,
PRIVILEGES_WRITE
]
def
__priv_level
(
self
,
dbname
=
None
):
return
f
"
{
dbname
}
.*"
if
dbname
else
"*.*"
def
create_user_current
(
self
):
users
=
self
.
__user_list
passwds
=
self
.
__passwd_list
for
i
in
range
(
self
.
users_count
):
tdSql
.
execute
(
f
"create user
test
{
i
}
pass 'taosdata
{
i
}
' "
)
tdSql
.
execute
(
f
"create user
{
users
[
i
]
}
pass '
{
passwds
[
i
]
}
' "
)
def
grant_user_privileges
(
self
,
dbname
):
return
"grant "
tdSql
.
query
(
"show users"
)
tdSql
.
checkRows
(
self
.
users_count
+
1
)
def
create_user_err
(
self
):
sqls
=
[
"create users u1 pass 'u1passwd' "
,
"create user '' pass 'u1passwd' "
,
"create user pass 'u1passwd' "
,
"create user u1 pass u1passwd "
,
"create user u1 password 'u1passwd' "
,
"create user u1 pass u1passwd "
,
"create user u1 pass '' "
,
"create user u1 pass ' ' "
,
"create user u1 pass "
,
"create user u1 u2 pass 'u1passwd' 'u2passwd' "
,
"create user u1 u2 pass 'u1passwd', 'u2passwd' "
,
"create user u1, u2 pass 'u1passwd', 'u2passwd' "
,
"create user u1, u2 pass 'u1passwd' 'u2passwd' "
,
# length of user_name must <= 23
"create user u12345678901234567890123 pass 'u1passwd' "
,
# length of passwd must <= 15
"create user u1 pass 'u123456789012345' "
,
# password must have not " ' ~ ` \
"create user u1 pass 'u1passwd
\\
' "
,
"create user u1 pass 'u1passwd~' "
,
"create user u1 pass 'u1passwd
\"
' "
,
"create user u1 pass 'u1passwd
\'
' "
,
"create user u1 pass 'u1passwd`' "
,
# must after create a user named u1
"create user u1 pass 'u1passwd' "
,
]
tdSql
.
execute
(
"create user u1 pass 'u1passwd' "
)
for
sql
in
sqls
:
tdSql
.
error
(
sql
)
def
grant_user_privileges
(
self
,
privilege
,
dbname
=
None
,
user_name
=
"root"
):
return
f
"GRANT
{
privilege
}
ON
{
self
.
__priv_level
(
dbname
)
}
TO
{
user_name
}
"
def
test_user_create
(
self
):
self
.
create_user_current
()
self
.
create_user_err
()
def
run
(
self
):
# 默认只有 root 用户
tdLog
.
printNoPrefix
(
"==========step0: init, user list only has root account"
)
tdSql
.
query
(
"show users"
)
tdSql
.
checkData
(
0
,
0
,
"root"
)
tdSql
.
checkData
(
0
,
1
,
"super"
)
# root用户权限
# 创建用户测试
tdLog
.
printNoPrefix
(
"==========step1: create user test"
)
self
.
users_count
=
5
tdSql
.
execute
(
""
)
self
.
test_user_create
()
# 查看用户
tdLog
.
printNoPrefix
(
"==========step2: show user test"
)
tdSql
.
query
(
"show users"
)
tdSql
.
checkRows
(
self
.
users_count
+
2
)
# 修改密码
#
# 密码登录认证
# 删除用户测试
tdLog
.
printNoPrefix
(
"==========step2: drop user"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录