Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ui/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ All notable changes to the **Prowler UI** are documented in this file.
- Filter the Overview, Findings, Resources, Scans, and Providers views by provider group [(#11659)](https://github.com/prowler-cloud/prowler/pull/11659)
- CIS Controls v8.1 compliance support, including its detail view and report mapping [(#11700)](https://github.com/prowler-cloud/prowler/pull/11700)

### 🔄 Changed

- OCI provider setup no longer requires a region in the credentials form [(#11565)](https://github.com/prowler-cloud/prowler/pull/11565)

---

## [1.31.1] (Prowler v5.31.1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,6 @@ export const OracleCloudCredentialsForm = ({
variant="bordered"
isRequired
/>
<WizardInputField
control={control}
name={ProviderCredentialFields.OCI_REGION}
type="text"
label="Region"
labelPlacement="inside"
placeholder="e.g. us-ashburn-1"
variant="bordered"
isRequired
/>
<WizardTextareaField
control={control}
name={ProviderCredentialFields.OCI_KEY_CONTENT}
Expand Down
1 change: 0 additions & 1 deletion ui/hooks/use-credentials-form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ export const useCredentialsForm = ({
[ProviderCredentialFields.OCI_FINGERPRINT]: "",
[ProviderCredentialFields.OCI_KEY_CONTENT]: "",
[ProviderCredentialFields.OCI_TENANCY]: providerUid || "",
[ProviderCredentialFields.OCI_REGION]: "",
[ProviderCredentialFields.OCI_PASS_PHRASE]: "",
};
case "mongodbatlas":
Expand Down
41 changes: 41 additions & 0 deletions ui/lib/provider-credentials/build-credentials.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { describe, expect, it, vi } from "vitest";

vi.mock("@/lib", () => ({
filterEmptyValues: (obj: Record<string, unknown>) =>
Object.fromEntries(
Object.entries(obj).filter(([, value]) => {
if (value === 0 || value === false) return true;
if (value === null || value === undefined) return false;
if (typeof value === "string" && value.trim() === "") return false;
if (Array.isArray(value) && value.length === 0) return false;

return true;
}),
),
getFormValue: (formData: FormData, field: string) => formData.get(field),
}));

import { buildOracleCloudSecret } from "./build-credentials";
import { ProviderCredentialFields } from "./provider-credential-fields";

describe("buildOracleCloudSecret", () => {
it("omits region filters for the basic credentials flow", () => {
const formData = new FormData();
formData.set(ProviderCredentialFields.OCI_USER, "ocid1.user.oc1..example");
formData.set(ProviderCredentialFields.OCI_FINGERPRINT, "fingerprint");
formData.set(ProviderCredentialFields.OCI_KEY_CONTENT, "private-key");

const secret = buildOracleCloudSecret(
formData,
"ocid1.tenancy.oc1..example",
);

expect(secret).toMatchObject({
user: "ocid1.user.oc1..example",
fingerprint: "fingerprint",
tenancy: "ocid1.tenancy.oc1..example",
});
expect(secret).not.toHaveProperty("region");
expect(secret).not.toHaveProperty("regions");
});
});
4 changes: 0 additions & 4 deletions ui/lib/provider-credentials/build-credentials.ts
Original file line number Diff line number Diff line change
Expand Up @@ -385,10 +385,6 @@ export const buildOracleCloudSecret = (
[ProviderCredentialFields.OCI_TENANCY]:
providerUid ||
getFormValue(formData, ProviderCredentialFields.OCI_TENANCY),
[ProviderCredentialFields.OCI_REGION]: getFormValue(
formData,
ProviderCredentialFields.OCI_REGION,
),
[ProviderCredentialFields.OCI_PASS_PHRASE]: getFormValue(
formData,
ProviderCredentialFields.OCI_PASS_PHRASE,
Expand Down
8 changes: 0 additions & 8 deletions ui/tests/providers/providers-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,6 @@ export interface OCIProviderCredential {
userId?: string;
fingerprint?: string;
keyContent?: string;
region?: string;
}

// AlibabaCloud credential options
Expand Down Expand Up @@ -366,7 +365,6 @@ export class ProvidersPage extends BasePage {
readonly ociUserIdInput: Locator;
readonly ociFingerprintInput: Locator;
readonly ociKeyContentInput: Locator;
readonly ociRegionInput: Locator;

// AlibabaCloud provider form elements
readonly alibabacloudAccountIdInput: Locator;
Expand Down Expand Up @@ -510,7 +508,6 @@ export class ProvidersPage extends BasePage {
this.ociKeyContentInput = page.getByRole("textbox", {
name: /Private Key Content/i,
});
this.ociRegionInput = page.getByRole("textbox", { name: /Region/i });

// AlibabaCloud provider form inputs
this.alibabacloudAccountIdInput = page.getByRole("textbox", {
Expand Down Expand Up @@ -1300,9 +1297,6 @@ export class ProvidersPage extends BasePage {
if (credentials.keyContent) {
await this.ociKeyContentInput.fill(credentials.keyContent);
}
if (credentials.region) {
await this.ociRegionInput.fill(credentials.region);
}
}

async verifyOCICredentialsPageLoaded(): Promise<void> {
Expand All @@ -1313,7 +1307,6 @@ export class ProvidersPage extends BasePage {
await expect(this.ociUserIdInput).toBeVisible();
await expect(this.ociFingerprintInput).toBeVisible();
await expect(this.ociKeyContentInput).toBeVisible();
await expect(this.ociRegionInput).toBeVisible();
}

async verifyOCIUpdateCredentialsPageLoaded(): Promise<void> {
Expand All @@ -1324,7 +1317,6 @@ export class ProvidersPage extends BasePage {
await expect(this.ociUserIdInput).toBeVisible();
await expect(this.ociFingerprintInput).toBeVisible();
await expect(this.ociKeyContentInput).toBeVisible();
await expect(this.ociRegionInput).toBeVisible();
}

async selectAlibabaCloudProvider(): Promise<void> {
Expand Down
10 changes: 2 additions & 8 deletions ui/tests/providers/providers.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1029,12 +1029,10 @@ test.describe("Add Provider", () => {
const userId = process.env.E2E_OCI_USER_ID ?? "";
const fingerprint = process.env.E2E_OCI_FINGERPRINT ?? "";
const keyContent = process.env.E2E_OCI_KEY_CONTENT ?? "";
const region = process.env.E2E_OCI_REGION ?? "";

// Setup before each test
test.beforeEach(async ({ page }) => {
test.skip(
!tenancyId || !userId || !fingerprint || !keyContent || !region,
!tenancyId || !userId || !fingerprint || !keyContent,
"OCI E2E env vars are not set",
);
providersPage = new ProvidersPage(page);
Expand Down Expand Up @@ -1071,7 +1069,6 @@ test.describe("Add Provider", () => {
userId: userId,
fingerprint: fingerprint,
keyContent: keyContent,
region: region,
};

// Navigate to providers page
Expand Down Expand Up @@ -1516,12 +1513,10 @@ test.describe("Update Provider Credentials", () => {
const userId = process.env.E2E_OCI_USER_ID ?? "";
const fingerprint = process.env.E2E_OCI_FINGERPRINT ?? "";
const keyContent = process.env.E2E_OCI_KEY_CONTENT ?? "";
const region = process.env.E2E_OCI_REGION ?? "";

// Setup before each test
test.beforeEach(async ({ page }) => {
test.skip(
!tenancyId || !userId || !fingerprint || !keyContent || !region,
!tenancyId || !userId || !fingerprint || !keyContent,
"OCI E2E env vars are not set",
);
providersPage = new ProvidersPage(page);
Expand All @@ -1543,7 +1538,6 @@ test.describe("Update Provider Credentials", () => {
userId: userId,
fingerprint: fingerprint,
keyContent: keyContent,
region: region,
};

// Navigate to providers page
Expand Down
1 change: 0 additions & 1 deletion ui/types/components.ts
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,6 @@ export type OCICredentials = {
[ProviderCredentialFields.OCI_FINGERPRINT]: string;
[ProviderCredentialFields.OCI_KEY_CONTENT]: string;
[ProviderCredentialFields.OCI_TENANCY]: string;
[ProviderCredentialFields.OCI_REGION]: string;
[ProviderCredentialFields.OCI_PASS_PHRASE]?: string;
[ProviderCredentialFields.PROVIDER_ID]: string;
};
Expand Down
3 changes: 0 additions & 3 deletions ui/types/formSchemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,6 @@ export const addCredentialsFormSchema = (
[ProviderCredentialFields.OCI_TENANCY]: z
.string()
.min(1, "Tenancy OCID is required"),
[ProviderCredentialFields.OCI_REGION]: z
.string()
.min(1, "Region is required"),
[ProviderCredentialFields.OCI_PASS_PHRASE]: z
.union([z.string(), z.literal("")])
.optional(),
Expand Down