diff --git a/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.reference b/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.reference new file mode 100644 index 00000000000..8268df7a65b --- /dev/null +++ b/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.reference @@ -0,0 +1,7 @@ +CREATE USER user_03231 IDENTIFIED WITH no_password DEFAULT ROLE role_a_03231 SETTINGS custom_x = \'x\' +GRANT role_a_03231 TO user_03231 +CREATE ROLE role_a_03231 +GRANT INSERT ON *.* TO role_a_03231 +GRANT role_b_03231 TO role_a_03231 +CREATE ROLE role_b_03231 +GRANT SELECT ON *.* TO role_b_03231 diff --git a/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.sh b/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.sh new file mode 100755 index 00000000000..550db582b30 --- /dev/null +++ b/tests/queries/0_stateless/03231_old_backup_without_access_entities_dependents.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Tags: no-fasttest, no-parallel +# Tag no-fasttest: we restore from a zip-archived backup here. +# Tag no-parallel: we drop and restore fixed users and roles. + +CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +# shellcheck source=../shell_config.sh +. "$CURDIR"/../shell_config.sh + +# In this test we restore from "/tests/queries/0_stateless/backups/old_backup_without_access_entities_dependents.zip" +backup_name="$($CURDIR/helpers/install_predefined_backup.sh old_backup_without_access_entities_dependents.zip)" + +${CLICKHOUSE_CLIENT} -m --query " +DROP USER IF EXISTS user_03231; +DROP ROLE IF EXISTS role_a_03231, role_b_03231; +" + +${CLICKHOUSE_CLIENT} --query "RESTORE ALL FROM Disk('backups', '${backup_name}') FORMAT Null" + +${CLICKHOUSE_CLIENT} --query "SHOW CREATE USER user_03231" +${CLICKHOUSE_CLIENT} --query "SHOW GRANTS FOR user_03231" +${CLICKHOUSE_CLIENT} --query "SHOW CREATE ROLE role_a_03231" +${CLICKHOUSE_CLIENT} --query "SHOW GRANTS FOR role_a_03231" +${CLICKHOUSE_CLIENT} --query "SHOW CREATE ROLE role_b_03231" +${CLICKHOUSE_CLIENT} --query "SHOW GRANTS FOR role_b_03231" + +${CLICKHOUSE_CLIENT} -m --query " +DROP USER user_03231; +DROP ROLE role_a_03231, role_b_03231; +" diff --git a/tests/queries/0_stateless/backups/old_backup_without_access_entities_dependents.zip b/tests/queries/0_stateless/backups/old_backup_without_access_entities_dependents.zip new file mode 100644 index 00000000000..a20e66b2f6b Binary files /dev/null and b/tests/queries/0_stateless/backups/old_backup_without_access_entities_dependents.zip differ