test(e2e): Add check for credential store worker filters (#2696)

This commit is contained in:
Michael Li authored and GitHub committed 2025-03-04 14:43:01 -05:00
1 parent 06dc05be08
commit cd8480bc67
3 files changed
+48 -4

No files matched your search

@@ -70,6 +70,47 @@ export class CredentialStoresPage extends BaseResourcePage {
return credentialStoreName;
}
/**
* Creates a vault credential store. Assumes you have selected the desired project.
* @param {string} vaultAddr address of the vault server
* @param {string} clientToken vault token to connect to boundary
* @param {string} workerFilter Worker filter for the Storage Bucket
* @returns Name of the credential store
*/
async createVaultCredentialStoreWithWorkerFilter(
vaultAddr,
clientToken,
workerFilter,
) {
const credentialStoreName = 'Credential Store ' + nanoid();
await this.page
.getByRole('navigation', { name: 'Resources' })
.getByRole('link', { name: 'Credential Stores' })
.click();
await this.page.getByRole('link', { name: 'New', exact: true }).click();
await this.page.getByLabel('Name (Optional)').fill(credentialStoreName);
await this.page.getByLabel('Description').fill('This is an automated test');
await this.page
.getByRole('group', { name: 'Type' })
.getByLabel('Vault')
.click();
await this.page.getByLabel('Address').fill(vaultAddr);
await this.page
.getByLabel('Worker filter')
.locator('textarea')
.fill(workerFilter);
await this.page.getByLabel('Token').fill(clientToken);
await this.page.getByRole('button', { name: 'Save' }).click();
await this.dismissSuccessAlert();
await expect(
this.page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialStoreName),
).toBeVisible();
return credentialStoreName;
}
/**
* Creates a static key pair credential. Assumes you have selected the desired project.
* @param {string} username username for the credential
@@ -47,7 +47,8 @@ test(
sshKeyPath,
targetAddress,
targetPort,
vaultAddr,
vaultAddrPrivate,
workerTagEgress,
}) => {
let orgId;
let connect;
@@ -88,9 +89,10 @@ test(
targetPort,
);
const credentialStoresPage = new CredentialStoresPage(page);
await credentialStoresPage.createVaultCredentialStore(
vaultAddr,
await credentialStoresPage.createVaultCredentialStoreWithWorkerFilter(
vaultAddrPrivate,
clientToken,
`"${workerTagEgress}" in "/tags/type"`,
);
const credentialLibraryName =
await credentialStoresPage.createVaultGenericCredentialLibraryEnt(
+2 -1
View File
@@ -83,6 +83,7 @@ export const test = baseTest.extend({
sshUser: process.env.E2E_SSH_USER,
targetAddress: process.env.E2E_TARGET_ADDRESS,
targetPort: process.env.E2E_TARGET_PORT,
vaultAddr: process.env.E2E_VAULT_ADDR,
vaultAddr: process.env.E2E_VAULT_ADDR_PUBLIC,
vaultAddrPrivate: process.env.E2E_VAULT_ADDR_PRIVATE,
workerTagEgress: process.env.E2E_WORKER_TAG_EGRESS,
});