polardbxengine/mysql-test/suite/x/include/system_variable_timeout.inc

80 lines
2.3 KiB
PHP

## Test body
##
--write_file $MYSQL_TMP_DIR/mysqlx-session-variable-timeout.tmp
-->import assert_variable.macro
-->newsession power_user %POWER_USER%
-->stmtsql SET SESSION %TIMEOUT_VARIABLE%=10;
-->recvresult
-->callmacro Assert_session_variable %TIMEOUT_VARIABLE% 10
-->newsession regular_user %REGULAR_USER%
-->stmtsql SET SESSION %TIMEOUT_VARIABLE%=20;
-->recvresult
-->callmacro Assert_session_variable %TIMEOUT_VARIABLE% 20
EOF
--echo #
--echo # Verify access to $timeout_variable system variable after plugin installation
--echo #
--echo # * invalid values
--echo # * user with permissions
--echo # * user without permissions
--echo #
--let $assert_text= $timeout_variable global variablem must exist
--let $assert_cond= [SELECT COUNT(@@GLOBAL.$timeout_variable) as Result;, Result, 1] =1
--source include/assert.inc
--error ER_WRONG_TYPE_FOR_VAR
eval SET @@GLOBAL.$timeout_variable="TEXT";
eval SELECT @@GLOBAL.$timeout_variable;
--let $assert_text= Invalid set doesn't change the value of $timeout_variable (global variable)
--let $assert_cond= [SELECT @@GLOBAL.$timeout_variable = $timeout_default_value as Result;, Result, 1] =1
--source include/assert.inc
--echo #
--echo ## user with permissions
--connect(con_user2, 127.0.0.1, $user_with_permissions,'',,,,)
eval SET @@GLOBAL.$timeout_variable=10;
--let $assert_text= User with permissions can change $timeout_variable value
--let $assert_cond= [SELECT @@GLOBAL.$timeout_variable = 10 as Result;, Result, 1] =1
--source include/assert.inc
--echo #
--echo ## user without permissions
--connect(con_user1, 127.0.0.1, $user_without_permissions,'',,,,)
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
eval SET @@GLOBAL.$timeout_variable=11;
--let $assert_text= User without permissions can't change $timeout_variable value
--let $assert_cond= [SELECT @@GLOBAL.$timeout_variable = 10 as Result;, Result, 1] =1
--source include/assert.inc
if ($is_session > 0)
{
exec $MYSQLXTEST
-u x_root
-v%REGULAR_USER%=$user_without_permissions
-v%POWER_USER%=$user_with_permissions
-v%TIMEOUT_VARIABLE%=$timeout_variable
--file $MYSQL_TMP_DIR/mysqlx-session-variable-timeout.tmp;
}
## Cleanup
##
--connection default
--disconnect con_user2
--disconnect con_user1
eval SET @@GLOBAL.$timeout_variable=DEFAULT;
--remove_file $MYSQL_TMP_DIR/mysqlx-session-variable-timeout.tmp