41 lines
1.2 KiB
PL/PgSQL
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;
|