polardbxengine/mysql-test/suite/auth_sec/t/keyring_file_data_qa.test

76 lines
3.3 KiB
Plaintext

# WL5769
# Keyring_file plugin and keyring_file_data variable testing.
--disable_ps_protocol
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Function 'keyring_file' already exists");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Couldn't load plugin named 'keyring_file' with soname 'keyring_file.so'.");
call mtr.add_suppression("keyring_file_data cannot be set to new value as the keyring file cannot be created/accessed in the provided path");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'keyring_file initialization failure.");
call mtr.add_suppression("Plugin keyring_file reported: 'Could not create keyring directory The keyring_file will stay unusable until correct path to the keyring directory gets provided");
call mtr.add_suppression("Error while loading keyring content. The keyring might be malformed");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'File .*keyring' not found .*");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'File .*keyring/' not found .*");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'File 'MYSQL_test_invalid/dir/' not found .*");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'File '/' not found .*");
call mtr.add_suppression("\\[ERROR\\] \\[[^]]*\\] \\[[^]]*\\] Plugin keyring_file reported: 'Incorrect Keyring file");
# Installing keyring plugin.
--disable_warnings
--replace_regex /\.dll/.so/
eval INSTALL PLUGIN keyring_file SONAME '$KEYRING_PLUGIN';
--enable_warnings
# Check keyring plugin
query_vertical SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
--echo
SET @@global.keyring_file_data='keyring_file';
SELECT @@global.keyring_file_data;
# Creating table with encryption.
CREATE TABLE t1(c1 INT, c2 char(20)) ENCRYPTION="Y" ENGINE = InnoDB;
# Setting keyring_file_data value to file.
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval SET @@global.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
--file_exists $MYSQL_TMP_DIR/new_keyring_file_data
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SELECT @@global.keyring_file_data;
# Invalid values
--error ER_WRONG_VALUE_FOR_VAR
SET @@global.keyring_file_data='';
--error ER_WRONG_TYPE_FOR_VAR
SET @@global.keyring_file_data=1;
--error ER_WRONG_VALUE_FOR_VAR
SET @@global.keyring_file_data='/';
--error ER_WRONG_VALUE_FOR_VAR
SET @@global.keyring_file_data='/keyring/';
--error ER_WRONG_VALUE_FOR_VAR
--error ER_GLOBAL_VARIABLE
SET @@session.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
--error ER_GLOBAL_VARIABLE
SET @@local.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
# Setting keyring_file_data value to dir.
--Error ER_WRONG_VALUE_FOR_VAR
SET @@global.keyring_file_data= 'MYSQL_test_invalid/dir/';
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SELECT @@global.keyring_file_data;
--echo
UNINSTALL PLUGIN keyring_file;
# Check keyring plugin
query_vertical SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
--file_exists $MYSQL_TMP_DIR/new_keyring_file_data
--echo
# Cleanup
DROP TABLE t1;
--remove_file $MYSQL_TMP_DIR/mydummy_key
--source include/force_restart.inc
--echo
--echo #End: