test(e2e): Add check for worker filters (#2513)

* test(e2e): Add check to add an ingress worker filter

* test(e2e): Add check for editing a worker filter
This commit is contained in:
Michael Li authored and GitHub committed 2024-10-17 12:51:49 -04:00
1 parent c0d7af7899
commit 6454fb7061
4 files changed
+60 -6

No files matched your search

+29
View File
@@ -288,6 +288,35 @@ export class TargetsPage extends BaseResourcePage {
await this.dismissSuccessAlert();
}
/**
* Adds an ingress worker filter to a target. Assume you have selected the desired target.
* @param {string} filter Ingress worker filter to be added to the target
*/
async addIngressWorkerFilterToTarget(filter) {
await this.page.getByRole('link', { name: 'Workers', exact: true }).click();
await expect(
this.page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText('Workers'),
).toBeVisible();
await this.page
.getByText('Ingress workers')
.locator('..')
.getByRole('link', { name: 'Edit worker filter' })
.click();
await expect(
this.page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText('Edit Ingress Worker Filter'),
).toBeVisible();
await this.page.getByRole('textbox').fill(filter);
await this.page.getByRole('button', { name: 'Save' }).click();
await this.dismissSuccessAlert();
}
/**
* Adds an egress worker filter to a target. Assume you have selected the desired target.
* @param {string} filter Egress worker filter to be added to the target
@@ -98,9 +98,7 @@ test('Session Recording Test (AWS) @ent @aws', async ({
await page.getByRole('link', { name: projectName }).click();
const targetsPage = new TargetsPage(page);
const targetName = await targetsPage.createSshTargetWithAddressEnt(targetAddress, targetPort);
await targetsPage.addEgressWorkerFilterToTarget(
`"${workerTagEgress}" in "/tags/type"`,
);
await targetsPage.addEgressWorkerFilterToTarget(`"${workerTagEgress}" in "/tags/type"`);
const credentialStoresPage = new CredentialStoresPage(page);
await credentialStoresPage.createStaticCredentialStore();
const credentialName = await credentialStoresPage.createStaticCredentialKeyPair(sshUser, sshKeyPath);
@@ -101,9 +101,8 @@ test('Session Recording Test (MinIO) @ent @docker', async ({
await page.getByRole('link', { name: projectName }).click();
const targetsPage = new TargetsPage(page);
const targetName = await targetsPage.createSshTargetWithAddressEnt(targetAddress, targetPort);
await targetsPage.addEgressWorkerFilterToTarget(
`"${workerTagEgress}" in "/tags/type"`,
);
await targetsPage.addIngressWorkerFilterToTarget(`"${workerTagEgress}" in "/tags/type"`);
await targetsPage.addEgressWorkerFilterToTarget(`"${workerTagEgress}" in "/tags/type"`);
const credentialStoresPage = new CredentialStoresPage(page);
await credentialStoresPage.createStaticCredentialStore();
+28
View File
@@ -16,6 +16,7 @@ import {
getProjectIdFromNameCli,
getTargetIdFromNameCli,
} from '../helpers/boundary-cli.mjs';
import { BasePage } from '../pages/base.mjs';
import { HostCatalogsPage } from '../pages/host-catalogs.mjs';
import { OrgsPage } from '../pages/orgs.mjs';
import { ProjectsPage } from '../pages/projects.mjs';
@@ -186,6 +187,33 @@ test('Verify TCP target is updated @ce @aws @docker', async ({
await page.getByRole('button', { name: 'Dismiss' }).click();
await targetsPage.addEgressWorkerFilterToTarget('"dev" in "/tags/type"');
// Edit a worker filter
await page.getByRole('link', { name: 'Workers', exact: true }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText('Workers'),
).toBeVisible();
await page
.getByText('Egress workers')
.locator('..')
.getByRole('link', { name: 'Edit worker filter' })
.click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText('Edit Egress Worker Filter'),
).toBeVisible();
await expect(page.getByText('"dev" in "/tags/type"')).toBeVisible();
await page.getByRole('textbox').click({ force: true });
await page.keyboard.press("Meta+A");
await page.keyboard.press('Backspace');
await page.getByRole('textbox').fill('"prod" in "/tags/type"');
await page.getByRole('button', { name: 'Save' }).click();
const basePage = new BasePage(page);
await basePage.dismissSuccessAlert();
} finally {
await authenticateBoundaryCli(
baseURL,