diff options
Diffstat (limited to 'mysql-test/main/grant_server.test')
-rw-r--r-- | mysql-test/main/grant_server.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/mysql-test/main/grant_server.test b/mysql-test/main/grant_server.test new file mode 100644 index 00000000..58c6b4e9 --- /dev/null +++ b/mysql-test/main/grant_server.test @@ -0,0 +1,75 @@ +-- source include/not_embedded.inc + +--echo # +--echo # Start of 10.5 tests +--echo # + +--echo # +--echo # Test that SERVER DDL statements are not allowed without FEDERATED ADMIN or SUPER +--echo # + +CREATE USER user1@localhost IDENTIFIED BY ''; +GRANT ALL PRIVILEGES ON *.* TO user1@localhost; +REVOKE FEDERATED ADMIN, SUPER ON *.* FROM user1@localhost; + +connect (con1,localhost,user1,,); +connection con1; +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +CREATE SERVER IF NOT EXISTS server_1 + FOREIGN DATA WRAPPER mysql + OPTIONS (USER 'mysqltest_1', HOST 'localhost', DATABASE 'test2'); +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +ALTER SERVER server_1 OPTIONS(HOST 'Server.Example.Org'); +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +DROP SERVER server_1; +disconnect con1; + +connection default; +DROP USER user1@localhost; + + +--echo # +--echo # Test that SERVER DDL statements are allowed with FEDERATED ADMIN +--echo # + +CREATE USER user1@localhost IDENTIFIED BY ''; +GRANT FEDERATED ADMIN ON *.* TO user1@localhost; +SHOW GRANTS FOR user1@localhost; + +connect (con1,localhost,user1,,); +connection con1; +CREATE SERVER IF NOT EXISTS server_1 + FOREIGN DATA WRAPPER mysql + OPTIONS (USER 'mysqltest_1', HOST 'localhost', DATABASE 'test2'); +ALTER SERVER server_1 OPTIONS(HOST 'Server.Example.Org'); +DROP SERVER server_1; +disconnect con1; + +connection default; +DROP USER user1@localhost; + + +--echo # +--echo # Test that SERVER DDL statements are allowed with SUPER +--echo # + +CREATE USER user1@localhost IDENTIFIED BY ''; +GRANT SUPER ON *.* TO user1@localhost; +SHOW GRANTS FOR user1@localhost; + +connect (con1,localhost,user1,,); +connection con1; +CREATE SERVER IF NOT EXISTS server_1 + FOREIGN DATA WRAPPER mysql + OPTIONS (USER 'mysqltest_1', HOST 'localhost', DATABASE 'test2'); +ALTER SERVER server_1 OPTIONS(HOST 'Server.Example.Org'); +DROP SERVER server_1; +disconnect con1; + +connection default; +DROP USER user1@localhost; + + +--echo # +--echo # End of 10.5 tests +--echo # |