You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/db/sqltest/tests/target/target_credential_library.sql

48 lines
1.7 KiB

-- Copyright (c) HashiCorp, Inc.
-- SPDX-License-Identifier: BUSL-1.1
begin;
select plan(3);
select wtt_load('widgets', 'iam', 'kms', 'auth', 'hosts', 'targets', 'credentials');
-- validate the setup data
select is(count(*), 1::bigint)
from credential_library cl
join credential_store cs on cl.store_id = cs.public_id
where cs.project_id = 'p____bwidget'
and cs.public_id = 'vs_______wvs'
and cl.public_id = 'vl______wvl1';
insert into target
(project_id, public_id)
values
('p____bwidget', 'test______wb');
prepare insert_valid_target_credential_library as
insert into target_credential_library
(project_id, target_id, credential_library_id, credential_purpose)
values
('p____bwidget', 'test______wb', 'vl______wvl1', 'brokered');
select lives_ok('insert_valid_target_credential_library', 'insert valid target_credential_library failed');
-- create a credential_store and credential_library in a different project
insert into credential_store
(project_id, public_id)
values
('p____swidget', 'test______cs');
insert into credential_library
(project_id, store_id, public_id, credential_type)
values
('p____swidget', 'test______cs', 'test______cl', 'unspecified');
prepare insert_invalid_target_credential_library as
insert into target_credential_library
(project_id, target_id, credential_library_id, credential_purpose)
values
('p____bwidget', 'test______wb', 'test______cl', 'brokered');
select throws_ok('insert_invalid_target_credential_library', '23503', null, 'insert invalid target_credential_library succeeded');
select * from finish();
rollback;