From c97547d7bd3c66c3b5dd88aa9707149084ff57fb Mon Sep 17 00:00:00 2001 From: Andreas Karlsson Date: Fri, 30 May 2025 22:57:30 +0200 Subject: [PATCH] Add test for duplicate key provider name Additionally remove some pointless queries from the test. --- contrib/pg_tde/expected/key_provider.out | 13 ++----------- contrib/pg_tde/sql/key_provider.sql | 6 +----- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/contrib/pg_tde/expected/key_provider.out b/contrib/pg_tde/expected/key_provider.out index fbf9eec4d90a0..82a199ee18b9f 100644 --- a/contrib/pg_tde/expected/key_provider.out +++ b/contrib/pg_tde/expected/key_provider.out @@ -4,29 +4,20 @@ ERROR: Principal key does not exists for the database HINT: Use set_key interface to set the principal key SELECT pg_tde_add_database_key_provider_file('incorrect-file-provider', json_object('foo' VALUE '/tmp/pg_tde_test_keyring.per')); ERROR: unexpected field "foo" for external value "path" -SELECT * FROM pg_tde_list_all_database_key_providers(); - id | provider_name | provider_type | options -----+---------------+---------------+--------- -(0 rows) - SELECT pg_tde_add_database_key_provider_file('file-provider','/tmp/pg_tde_test_keyring.per'); pg_tde_add_database_key_provider_file --------------------------------------- (1 row) -SELECT * FROM pg_tde_list_all_database_key_providers(); - id | provider_name | provider_type | options -----+---------------+---------------+------------------------------------------- - 1 | file-provider | file | {"path" : "/tmp/pg_tde_test_keyring.per"} -(1 row) - SELECT pg_tde_add_database_key_provider_file('file-provider2','/tmp/pg_tde_test_keyring2.per'); pg_tde_add_database_key_provider_file --------------------------------------- (1 row) +SELECT pg_tde_add_database_key_provider_file('file-provider','/tmp/pg_tde_test_keyring_dup.per'); +ERROR: Key provider "file-provider" already exists. SELECT * FROM pg_tde_list_all_database_key_providers(); id | provider_name | provider_type | options ----+----------------+---------------+-------------------------------------------- diff --git a/contrib/pg_tde/sql/key_provider.sql b/contrib/pg_tde/sql/key_provider.sql index 665aa28049be1..f2b1f5ff40941 100644 --- a/contrib/pg_tde/sql/key_provider.sql +++ b/contrib/pg_tde/sql/key_provider.sql @@ -3,16 +3,12 @@ CREATE EXTENSION IF NOT EXISTS pg_tde; SELECT * FROM pg_tde_key_info(); SELECT pg_tde_add_database_key_provider_file('incorrect-file-provider', json_object('foo' VALUE '/tmp/pg_tde_test_keyring.per')); -SELECT * FROM pg_tde_list_all_database_key_providers(); - SELECT pg_tde_add_database_key_provider_file('file-provider','/tmp/pg_tde_test_keyring.per'); -SELECT * FROM pg_tde_list_all_database_key_providers(); - SELECT pg_tde_add_database_key_provider_file('file-provider2','/tmp/pg_tde_test_keyring2.per'); +SELECT pg_tde_add_database_key_provider_file('file-provider','/tmp/pg_tde_test_keyring_dup.per'); SELECT * FROM pg_tde_list_all_database_key_providers(); SELECT pg_tde_verify_key(); - SELECT pg_tde_set_key_using_database_key_provider('test-db-key','file-provider'); SELECT pg_tde_verify_key();