diff --git a/ui/admin/tests/e2e/tests/session-recording-aws-ent.spec.js b/ui/admin/tests/e2e/tests/session-recording-aws-ent.spec.js index bdd598482..71af211dd 100644 --- a/ui/admin/tests/e2e/tests/session-recording-aws-ent.spec.js +++ b/ui/admin/tests/e2e/tests/session-recording-aws-ent.spec.js @@ -95,6 +95,7 @@ test('Session Recording Test (AWS) @ent @aws', async ({ page }) => { // Create target await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await page.getByRole('link', { name: projectName }).click(); const targetName = await createSshTargetWithAddressAndWorkerFilterEnt( @@ -119,6 +120,7 @@ test('Session Recording Test (AWS) @ent @aws', async ({ page }) => { // Create storage policy in org scope: keep session recordings forever await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await expect( page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(orgName), @@ -186,6 +188,7 @@ test('Session Recording Test (AWS) @ent @aws', async ({ page }) => { (obj) => obj.name == policyName, )[0]; await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await expect( page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(orgName), @@ -234,6 +237,23 @@ test('Session Recording Test (AWS) @ent @aws', async ({ page }) => { page.getByRole('alert').getByText('Success', { exact: true }), ).toBeVisible(); await page.getByRole('button', { name: 'Dismiss' }).click(); + + // Detach storage bucket from target + await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); + await page.getByRole('link', { name: orgName }).click(); + await page.getByRole('link', { name: projectName }).click(); + await page.getByRole('link', { name: 'Targets', exact: true }).click(); + await page.getByRole('link', { name: targetName }).click(); + await page + .getByRole('link', { name: 'Session Recording settings' }) + .click(); + await page.getByLabel('Record sessions for this target').uncheck(); + await page.getByRole('button', { name: 'Save' }).click(); + await expect( + page.getByRole('alert').getByText('Success', { exact: true }), + ).toBeVisible(); + await page.getByRole('button', { name: 'Dismiss' }).click(); } finally { if (storagePolicy) { await deletePolicyCli(storagePolicy.id); diff --git a/ui/admin/tests/e2e/tests/session-recording-minio-ent.spec.js b/ui/admin/tests/e2e/tests/session-recording-minio-ent.spec.js index 4e20342a8..8e08d4abf 100644 --- a/ui/admin/tests/e2e/tests/session-recording-minio-ent.spec.js +++ b/ui/admin/tests/e2e/tests/session-recording-minio-ent.spec.js @@ -97,6 +97,7 @@ test('Session Recording Test (MinIO) @ent @docker', async ({ page }) => { // Create target await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await page.getByRole('link', { name: projectName }).click(); const targetName = await createSshTargetWithAddressAndWorkerFilterEnt( @@ -121,6 +122,7 @@ test('Session Recording Test (MinIO) @ent @docker', async ({ page }) => { // Create storage policy in org scope: keep session recordings forever await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await expect( page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(orgName), @@ -188,6 +190,7 @@ test('Session Recording Test (MinIO) @ent @docker', async ({ page }) => { (obj) => obj.name == policyName, )[0]; await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); await page.getByRole('link', { name: orgName }).click(); await expect( page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(orgName), @@ -236,6 +239,23 @@ test('Session Recording Test (MinIO) @ent @docker', async ({ page }) => { page.getByRole('alert').getByText('Success', { exact: true }), ).toBeVisible(); await page.getByRole('button', { name: 'Dismiss' }).click(); + + // Detach storage bucket from target + await page.getByRole('link', { name: 'Orgs', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible(); + await page.getByRole('link', { name: orgName }).click(); + await page.getByRole('link', { name: projectName }).click(); + await page.getByRole('link', { name: 'Targets', exact: true }).click(); + await page.getByRole('link', { name: targetName }).click(); + await page + .getByRole('link', { name: 'Session Recording settings' }) + .click(); + await page.getByLabel('Record sessions for this target').uncheck(); + await page.getByRole('button', { name: 'Save' }).click(); + await expect( + page.getByRole('alert').getByText('Success', { exact: true }), + ).toBeVisible(); + await page.getByRole('button', { name: 'Dismiss' }).click(); } finally { if (storagePolicy) { await deletePolicyCli(storagePolicy.id);