chatai/postgres_15.8.1.044/nix/tests/smoke/0003-pgsodium-vault.sql

41 lines
1.2 KiB
PL/PgSQL

BEGIN;
select plan(3);
select id as test_new_key_id from pgsodium.create_key(name:='test_new_key') \gset
select vault.create_secret (
's3kr3t_k3y', 'a_name', 'this is the foo secret key') test_secret_id \gset
select vault.create_secret (
's3kr3t_k3y_2', 'another_name', 'this is another foo key',
(select id from pgsodium.key where name = 'test_new_key')) test_secret_id_2 \gset
SELECT results_eq(
$$
SELECT decrypted_secret = 's3kr3t_k3y', description = 'this is the foo secret key'
FROM vault.decrypted_secrets WHERE name = 'a_name';
$$,
$$VALUES (true, true)$$,
'can select from masking view with custom key');
SELECT results_eq(
$$
SELECT decrypted_secret = 's3kr3t_k3y_2', description = 'this is another foo key'
FROM vault.decrypted_secrets WHERE key_id = (select id from pgsodium.key where name = 'test_new_key');
$$,
$$VALUES (true, true)$$,
'can select from masking view');
SELECT lives_ok(
format($test$
select vault.update_secret(
%L::uuid, new_name:='a_new_name',
new_secret:='new_s3kr3t_k3y', new_description:='this is the bar key')
$test$, :'test_secret_id'),
'can update name, secret and description'
);
SELECT * FROM finish();
ROLLBACK;