mirror of
https://github.com/prowler-cloud/prowler.git
synced 2025-12-19 05:17:47 +00:00
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import { test } from "@playwright/test";
|
|
import { ScansPage } from "./scans-page";
|
|
import { ProvidersPage } from "../providers/providers-page";
|
|
import { deleteProviderIfExists, addAWSProvider } from "../helpers";
|
|
|
|
// Scans E2E suite scaffold
|
|
test.describe("Scans", () => {
|
|
test.describe.serial("Execute Scans", () => {
|
|
// Scans page object
|
|
let scansPage: ScansPage;
|
|
|
|
// Use scans-specific authenticated user
|
|
test.use({ storageState: "playwright/.auth/admin_user.json" });
|
|
|
|
// Before each scans test, ensure an AWS provider exists using admin context
|
|
test.beforeEach(async ({ page }) => {
|
|
// Create scans page object
|
|
const providersPage = new ProvidersPage(page);
|
|
|
|
// Test data from environment variables
|
|
const accountId = process.env.E2E_AWS_PROVIDER_ACCOUNT_ID;
|
|
const accessKey = process.env.E2E_AWS_PROVIDER_ACCESS_KEY;
|
|
const secretKey = process.env.E2E_AWS_PROVIDER_SECRET_KEY;
|
|
|
|
if (!accountId || !accessKey || !secretKey) {
|
|
throw new Error(
|
|
"E2E_AWS_PROVIDER_ACCOUNT_ID, E2E_AWS_PROVIDER_ACCESS_KEY, and E2E_AWS_PROVIDER_SECRET_KEY environment variables are not set",
|
|
);
|
|
}
|
|
|
|
// Clean up existing provider to ensure clean test state
|
|
await deleteProviderIfExists(providersPage, accountId);
|
|
// Add AWS provider
|
|
await addAWSProvider(providersPage.page, accountId, accessKey, secretKey);
|
|
});
|
|
|
|
test(
|
|
"should execute on demand scan",
|
|
{
|
|
tag: ["@e2e", "@scans", "@critical", "@serial", "@SCAN-E2E-001"],
|
|
},
|
|
async ({ page }) => {
|
|
|
|
const accountId = process.env.E2E_AWS_PROVIDER_ACCOUNT_ID;
|
|
|
|
if (!accountId) {
|
|
throw new Error(
|
|
"E2E_AWS_PROVIDER_ACCOUNT_ID environment variable is not set",
|
|
);
|
|
}
|
|
|
|
scansPage = new ScansPage(page);
|
|
await scansPage.goto();
|
|
|
|
// Select provider by UID (accountId)
|
|
await scansPage.selectProviderByUID(accountId);
|
|
|
|
// Complete scan alias
|
|
await scansPage.fillScanAlias("E2E Test Scan - On Demand");
|
|
|
|
// Press start now button
|
|
await scansPage.clickStartNowButton();
|
|
|
|
// Verify the scan was launched
|
|
await scansPage.verifyScanLaunched("E2E Test Scan - On Demand");
|
|
|
|
|
|
},
|
|
);
|
|
});
|
|
});
|