80 lines
2.3 KiB
PHP
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
|