Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f7b27930
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
f7b27930
编写于
5月 12, 2022
作者:
C
cpwu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix case
上级
cdded063
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
71 addition
and
11 deletion
+71
-11
tests/system-test/0-others/user_control.py
tests/system-test/0-others/user_control.py
+71
-11
未找到文件。
tests/system-test/0-others/user_control.py
浏览文件 @
f7b27930
import
taos
import
sys
import
inspect
import
traceback
from
util.log
import
*
from
util.sql
import
*
...
...
@@ -50,13 +51,30 @@ class TDconnect:
if
expectErrNotOccured
:
caller
=
inspect
.
getframeinfo
(
inspect
.
stack
()[
1
][
0
])
tdLog
.
exit
(
"%s(%d) failed: sql:%s, expect error not occured"
%
(
caller
.
filename
,
caller
.
lineno
,
sql
)
)
tdLog
.
exit
(
f
"
{
caller
.
filename
}
(
{
caller
.
lineno
}
) failed: sql:
{
sql
}
, expect error not occured"
)
else
:
self
.
queryRows
=
0
self
.
queryCols
=
0
self
.
queryResult
=
None
tdLog
.
info
(
f
"sql:
{
sql
}
, expect error occured"
)
def
query
(
self
,
sql
,
row_tag
=
None
):
# sourcery skip: raise-from-previous-error, raise-specific-error
self
.
sql
=
sql
try
:
self
.
cursor
.
execute
(
sql
)
self
.
queryResult
=
self
.
cursor
.
fetchall
()
self
.
queryRows
=
len
(
self
.
queryResult
)
self
.
queryCols
=
len
(
self
.
cursor
.
description
)
except
Exception
as
e
:
caller
=
inspect
.
getframeinfo
(
inspect
.
stack
()[
1
][
0
])
tdLog
.
notice
(
f
"
{
caller
.
filename
}
(
{
caller
.
lineno
}
) failed: sql:
{
sql
}
,
{
repr
(
e
)
}
"
)
traceback
.
print_exc
()
raise
Exception
(
repr
(
e
))
if
row_tag
:
return
self
.
queryResult
return
self
.
queryRows
def
__exit__
(
self
,
types
,
values
,
trace
):
if
self
.
_conn
:
self
.
cursor
.
close
()
...
...
@@ -127,8 +145,8 @@ class TDTestCase:
"create user u1, u2 pass 'u1passwd' 'u2passwd' "
,
# length of user_name must <= 23
"create user u12345678901234567890123 pass 'u1passwd' "
,
# length of passwd must <= 1
5
"create user u1 pass 'u123456789012345' "
,
# length of passwd must <= 1
28
"create user u1 pass 'u123456789012345
67890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
' "
,
# password must have not " ' ~ ` \
"create user u1 pass 'u1passwd
\\
' "
,
"create user u1 pass 'u1passwd~' "
,
...
...
@@ -205,7 +223,32 @@ class TDTestCase:
else
:
tdLog
.
exit
(
"connect successfully, except error not occrued!"
)
def
__drop_user
(
self
,
user
):
return
f
"DROP USER
{
user
}
"
def
drop_user_current
(
self
):
for
user
in
self
.
__user_list
:
tdSql
.
query
(
self
.
__drop_user
(
user
))
def
drop_user_error
(
self
):
sqls
=
[
f
"DROP
{
self
.
__user_list
[
0
]
}
"
,
f
"DROP user
{
self
.
__user_list
[
0
]
}
{
self
.
__user_list
[
1
]
}
"
,
f
"DROP user
{
self
.
__user_list
[
0
]
}
,
{
self
.
__user_list
[
1
]
}
"
,
f
"DROP users
{
self
.
__user_list
[
0
]
}
{
self
.
__user_list
[
1
]
}
"
,
f
"DROP users
{
self
.
__user_list
[
0
]
}
,
{
self
.
__user_list
[
1
]
}
"
,
"DROP user root"
,
"DROP user abcde"
,
"DROP user ALL"
,
]
for
sql
in
sqls
:
tdSql
.
error
(
sql
)
def
test_drop_user
(
self
):
# must drop err first
self
.
drop_user_error
()
self
.
drop_user_current
()
def
run
(
self
):
...
...
@@ -240,21 +283,38 @@ class TDTestCase:
self
.
login_currrent
(
self
.
__user_list
[
0
],
f
"new
{
self
.
__passwd_list
[
0
]
}
"
)
# 普通用户权限
# 密码登录
_
,
user
=
self
.
user_login
(
self
.
__user_list
[
0
],
f
"new
{
self
.
__passwd_list
[
0
]
}
"
)
with
taos_connect
(
user
=
self
.
__user_list
[
0
],
passwd
=
f
"new
{
self
.
__passwd_list
[
0
]
}
"
)
as
conn
:
user
=
conn
# 不能创建用户
tdLog
.
printNoPrefix
(
"==========step5: normal user can not create user"
)
user
.
error
(
"create use utest1 pass 'utest1pass'"
)
# 可以查看用户
tdLog
.
printNoPrefix
(
"==========step6: normal user can show user"
)
user
.
query
(
"show users"
)
assert
user
.
queryRows
==
self
.
users_count
+
2
# 不可以修改其他用户的密码
tdLog
.
printNoPrefix
(
"==========step7: normal user can not alter other user pass"
)
user
.
error
(
self
.
__alter_pass_sql
(
self
.
__user_list
[
1
],
self
.
__passwd_list
[
1
]
))
user
.
error
(
"root"
,
"taosdata_root"
)
# 可以修改自己的密码
tdLog
.
printNoPrefix
(
"==========step8: normal user can alter owner pass"
)
user
.
query
(
self
.
__alter_pass_sql
(
self
.
__user_list
[
0
],
self
.
__passwd_list
[
0
]))
# 不可以删除用户,包括自己
tdLog
.
printNoPrefix
(
"==========step9: normal user can not drop any user "
)
user
.
error
(
f
"drop user
{
self
.
__user_list
[
0
]
}
"
)
user
.
error
(
f
"drop user
{
self
.
__user_list
[
1
]
}
"
)
user
.
error
(
"drop user root"
)
# root删除用户测试
tdLog
.
printNoPrefix
(
"==========step10: super user drop normal user"
)
self
.
test_drop_user
()
# 删除用户测试
tdLog
.
printNoPrefix
(
"==========step2: drop user"
)
tdSql
.
query
(
"show users"
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkData
(
0
,
0
,
"root"
)
tdSql
.
checkData
(
0
,
1
,
"super"
)
def
stop
(
self
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录