polardbxengine/mysql-test/suite/x/r/connection_default_schema.r...

106 lines
2.5 KiB
Plaintext

#
## Preamble
#
#
## Testcase prepare
#
call mtr.add_suppression("Plugin mysqlx reported: '.*: Unsuccessful login attempt");
CREATE DATABASE xdb;
CREATE DATABASE ydb;
CREATE USER 'user_with_access_to_xdb'@'%';
CREATE USER 'user_with_access_to_ydb'@'%';
GRANT SELECT ON xdb.* TO 'user_with_access_to_xdb'@'%';
GRANT SELECT ON ydb.* TO 'user_with_access_to_ydb'@'%';
#
## Testcase execute
#
#
## Test group 1.
##
## Authenticate using plain X Protocol flows to schema that:
##
## * account has permissions
## * account has not permissions
## * account has permissions still db-doesn't exist
#
connecting...
active session is now 'non_root_user'
Login OK
closing session non_root_user
Mysqlx.Ok {
msg: "bye!"
}
switched to session default
connecting...
active session is now 'non_root_user'
Got expected error: Access denied for user 'user_with_access_to_ydb'@'%' to database 'xdb' (code 1044)
aborting session non_root_user
switched to session default
connecting...
active session is now 'root_user'
Got expected error: Unknown database 'non_existing_schema' (code 1049)
aborting session root_user
switched to session default
Mysqlx.Ok {
msg: "bye!"
}
#
## Test group 2.
##
## Authenticate using an account which has permissions
## to selected schema.
#
# Using MySQL client
# Checking if requested schema was selected.
IF(DATABASE()='xdb','Success','Failure')
Success
# Using mysqlxtest
# Checking if requested schema was selected.
RUN SELECT IF(DATABASE()='xdb','Success','Failure')
IF(DATABASE()='xdb','Success','Failure')
Success
0 rows affected
Mysqlx.Ok {
msg: "bye!"
}
ok
#
## Test group 3.
##
## Authenticate using an account which has not permissions
## to selected schema.
#
# Using MySQL client
# Checking if requested schema was selected.
EXPECTED_ERROR_CODE(42000): Access denied for user 'user_with_access_to_xdb'@'%' to database 'ydb'
# Using mysqlxtest
# Checking if requested schema was selected.
in main, line 0:ERROR: Access denied for user 'user_with_access_to_xdb'@'%' to database 'ydb' (EXPECTED_ERROR_CODE)
not ok
#
## Test group 4.
##
## Authenticate using an valid account to non existing
## schema.
#
# Using MySQL client
# Checking if requested schema was selected.
EXPECTED_ERROR_CODE(42000): Unknown database 'non_existing_schema'
# Using mysqlxtest
# Checking if requested schema was selected.
in main, line 0:ERROR: Unknown database 'non_existing_schema' (EXPECTED_ERROR_CODE)
not ok
#
## Cleanup
#
DROP USER 'user_with_access_to_xdb'@'%';
DROP USER 'user_with_access_to_ydb'@'%';
DROP DATABASE xdb;
DROP DATABASE ydb;