Skip to content

Commit

Permalink
Merge branch 'split-query-config-files' into LA-95-masking-without-pr…
Browse files Browse the repository at this point in the history
…imary-keys
  • Loading branch information
galvana authored Dec 19, 2024
2 parents 3c3c63c + 12ce3d6 commit 74f6b22
Show file tree
Hide file tree
Showing 343 changed files with 6,202 additions and 27,532 deletions.
14 changes: 14 additions & 0 deletions .fides/db_dataset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2340,3 +2340,17 @@ dataset:
data_categories: [system.operations]
- name: updated_at
data_categories: [system.operations]
- name: dbcache
fields:
- name: id
data_categories: [system.operations]
- name: namespace
data_categories: [system.operations]
- name: cache_key
data_categories: [system.operations]
- name: cache_value
data_categories: [system.operations]
- name: created_at
data_categories: [system.operations]
- name: updated_at
data_categories: [system.operations]
14 changes: 14 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,20 @@ updates:
- dependencies
- javascript
- dependabot
- package-ecosystem: npm
directory: "/clients/fides-js"
schedule:
interval: weekly
labels:
- dependencies
- javascript
- dependabot
allow:
- dependency-name: "@iabtechlabtcf*"
dependency-type: "direct"
- dependency-name: "@iabgpp*"
dependency-type: "direct"

- package-ecosystem: github-actions
directory: "/"
schedule:
Expand Down
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,44 @@ The types of changes are:
- `Fixed` for any bug fixes.
- `Security` in case of vulnerabilities.

## [Unreleased](https://github.com/ethyca/fides/compare/2.51.1...main)
## [Unreleased](https://github.com/ethyca/fides/compare/2.52.0...main)



## [2.52.0](https://github.com/ethyca/fides/compare/2.51.2...2.52.0)

### Added
- New page in the Cookie House sample app to demonstrate the use of embedding the FidesJS SDK on the page [#5564](https://github.com/ethyca/fides/pull/5564)
- Added event based communication example to the Cookie House sample app [#5597](https://github.com/ethyca/fides/pull/5597)
- Added new erasure tests for BigQuery Enterprise [#5554](https://github.com/ethyca/fides/pull/5554)
- Added new `has_next` parameter for the `link` pagination strategy [#5596](https://github.com/ethyca/fides/pull/5596)
- Added a `DBCache` model for database-backed caching [#5613](https://github.com/ethyca/fides/pull/5613)
- Adds "reclassify" button to discovery result tables [#5574](https://github.com/ethyca/fides/pull/5574)
- Added support for exporting datamaps with column renaming, reordering and visibility options [#5543](https://github.com/ethyca/fides/pull/5543)

### Changed
- Adjusted Ant's Select component colors and icon [#5594](https://github.com/ethyca/fides/pull/5594)
- Replaced taxonomies page with new UI based on an interactive tree visualization [#5602](https://github.com/ethyca/fides/pull/5602)
- Adjusted functionality around updating taxonomy active field, includes data migration to re-activate taxonomy nodes [#5617](https://github.com/ethyca/fides/pull/5617)
- Migrated breadcrumbs to Ant Design [#5610](https://github.com/ethyca/fides/pull/5610)
- Updated `CustomReportConfig` to be more intuitive on its contents [#5543](https://github.com/ethyca/fides/pull/5543)

### Fixed
- Fixing quickstart.py script [#5585](https://github.com/ethyca/fides/pull/5585)
- Removed unnecessary double notification when updating database integrations [#5612](https://github.com/ethyca/fides/pull/5612)

## [2.51.2](https://github.com/ethyca/fides/compare/2.51.1...2.51.2)

### Fixed
- Fixed miscellaneous performance issues with Systems and PrivacyDeclarations [#5601](https://github.com/ethyca/fides/pull/5601)

## [2.51.1](https://github.com/ethyca/fides/compare/2.51.0...2.51.1)

### Fixed
- SaaS integrations using `oauth_client_credentials` now properly update their access token when editing the secrets. [#5548](https://github.com/ethyca/fides/pull/5548)
- Saas integrations using `oauth_client_credentials` now properly refresh their access token when the current token expires [#5569](https://github.com/ethyca/fides/pull/5569)
- Adding `dsr_testing_tools_enabled` security setting [#5573](https://github.com/ethyca/fides/pull/5573)
- Reverted elimination of connection pool in worker tasks to prevent DB performance issues [#5592](https://github.com/ethyca/fides/pull/5592)

## [2.51.0](https://github.com/ethyca/fides/compare/2.50.0...2.51.0)

Expand Down
26 changes: 16 additions & 10 deletions clients/admin-ui/cypress/e2e/datamap-report.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,16 @@ describe("Data map report table", () => {
cy.getByTestId("save-button").click();

cy.getByTestId("row-0-col-system_undeclared_data_categories").contains(
"2 system undeclared data categories",
"User Contact Email",
);
cy.getByTestId("row-0-col-system_undeclared_data_categories").contains(
"Cookie ID",
);
cy.getByTestId("row-0-col-data_use_undeclared_data_categories").contains(
"User Contact Email",
);
cy.getByTestId("row-0-col-data_use_undeclared_data_categories").contains(
"2 data use undeclared data categories",
"Cookie ID",
);
});
});
Expand Down Expand Up @@ -276,36 +282,36 @@ describe("Data map report table", () => {
it("should cancel renaming columns", () => {
cy.getByTestId("more-menu").click();
cy.getByTestId("rename-columns-btn").click();
cy.getByTestId("column-data_use-input")
cy.getByTestId("column-data_uses-input")
.clear()
.then(() => {
cy.getByTestId("column-data_use-input").type("Custom Title");
cy.getByTestId("column-data_uses-input").type("Custom Title");
});
cy.getByTestId("rename-columns-cancel-btn").click({ force: true });
cy.getByTestId("rename-columns-reset-btn").should("not.exist");
cy.getByTestId("rename-columns-cancel-btn").should("not.exist");
cy.getByTestId("rename-columns-apply-btn").should("not.exist");
cy.getByTestId("column-data_use").should("contain.text", "Data use");
cy.getByTestId("column-data_uses").should("contain.text", "Data use");
});
it("should reset columns", () => {
cy.getByTestId("more-menu").click();
cy.getByTestId("rename-columns-btn").click();
cy.getByTestId("column-data_use-input")
cy.getByTestId("column-data_uses-input")
.clear()
.then(() => {
cy.getByTestId("column-data_use-input").type("Custom Title");
cy.getByTestId("column-data_uses-input").type("Custom Title");
});
cy.getByTestId("rename-columns-apply-btn").click({ force: true });
cy.getByTestId("more-menu").click();
cy.getByTestId("rename-columns-btn").click();
cy.getByTestId("rename-columns-reset-btn").click({ force: true });
cy.getByTestId("column-data_use").should("contain.text", "Data use");
cy.getByTestId("column-data_uses").should("contain.text", "Data use");
});
it("should support pressing the Enter key to apply renamed columns", () => {
cy.getByTestId("more-menu").click();
cy.getByTestId("rename-columns-btn").click();
cy.getByTestId("column-data_use-input").type("Custom Title{enter}");
cy.getByTestId("column-data_use").should(
cy.getByTestId("column-data_uses-input").type("Custom Title{enter}");
cy.getByTestId("column-data_uses").should(
"contain.text",
"Custom Title",
);
Expand Down
9 changes: 9 additions & 0 deletions clients/admin-ui/cypress/e2e/discovery-detection.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,15 @@ describe("discovery and detection", () => {
"test_dataset_1",
);
});

it("should be able to reclassify", () => {
cy.getByTestId(
"row-my_bigquery_monitor.prj-bigquery-418515.test_dataset_1",
).within(() => {
cy.getByTestId("action-Reclassify").click();
cy.wait("@confirmResource");
});
});
});

describe("table-level view", () => {
Expand Down
126 changes: 126 additions & 0 deletions clients/admin-ui/cypress/e2e/taxonomies-plus.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import {
stubDatamap,
stubPlus,
stubTaxonomyEntities,
} from "cypress/support/stubs";

import { ResourceTypes } from "~/types/api";

describe("Taxonomy management with Plus features", () => {
beforeEach(() => {
cy.login();
stubTaxonomyEntities();
stubPlus(true);
stubDatamap();
cy.visit("/taxonomy");
});

const RESOURCE_TYPE = {
label: "Data Categories",
key: ResourceTypes.DATA_CATEGORY,
};
const RESOURCE_CHILD = {
label: "Job Title",
key: "user.job_title",
};

const navigateToEditor = () => {
cy.getByTestId(`taxonomy-node-${RESOURCE_CHILD.key}`).click({});
};

describe("Using custom fields", () => {
beforeEach(() => {
cy.intercept(
{
method: "GET",
pathname: "/api/v1/plus/custom-metadata/allow-list",
query: {
show_values: "true",
},
},
{
fixture: "taxonomy/custom-metadata/allow-list/list.json",
},
).as("getAllowLists");
cy.intercept(
"GET",
// Cypress route matching doesn't escape special characters (whitespace).
`/api/v1/plus/custom-metadata/custom-field-definition/resource-type/${encodeURIComponent(
RESOURCE_TYPE.key,
)}`,

{
fixture: "taxonomy/custom-metadata/custom-field-definition/list.json",
},
).as("getCustomFieldDefinitions");
cy.intercept(
"GET",
`/api/v1/plus/custom-metadata/custom-field/resource/${RESOURCE_CHILD.key}`,
{
fixture: "taxonomy/custom-metadata/custom-field/list.json",
},
).as("getCustomFields");

navigateToEditor();

cy.wait([
"@getAllowLists",
"@getCustomFieldDefinitions",
"@getCustomFields",
]);
});

const testIdSingle =
"select-custom-fields-form_id-custom-field-definition-starter-pokemon";
const testIdMulti =
"select-custom-fields-form_id-custom-field-definition-pokemon-party";

it("initializes form fields with values returned by the API", () => {
cy.getByTestId("custom-fields-form");
cy.getByTestId(testIdSingle).contains("Squirtle");

["Charmander", "Eevee", "Snorlax"].forEach((value) => {
cy.getByTestId(testIdMulti).contains(value);
});
});

it("allows choosing and changing selections", () => {
cy.getByTestId("custom-fields-form");

cy.getByTestId(testIdSingle).antClearSelect();
cy.getByTestId(testIdSingle).antSelect("Snorlax");
cy.getByTestId(testIdSingle).contains("Snorlax");
cy.getByTestId(testIdSingle).antClearSelect();

cy.getByTestId(testIdMulti).antRemoveSelectTag("Eevee");
cy.getByTestId(testIdMulti).antRemoveSelectTag("Snorlax");

cy.getByTestId(testIdMulti).antSelect("Eevee");

["Charmander", "Eevee"].forEach((value) => {
cy.getByTestId(testIdMulti).contains(value);
});

cy.intercept("POST", `/api/v1/plus/custom-metadata/custom-field/bulk`, {
body: {},
}).as("bulkUpdateCustomField");

cy.getByTestId("save-btn").click();

cy.wait("@bulkUpdateCustomField").then((interception) => {
const { body } = interception.request;
expect(body.resource_id).to.eql(RESOURCE_CHILD.key);
expect(body.delete).to.eql(["id-custom-field-starter-pokemon"]);
expect(body.upsert).to.eql([
{
custom_field_definition_id:
"id-custom-field-definition-pokemon-party",
resource_id: "user.job_title",
id: "id-custom-field-pokemon-party",
value: ["Charmander", "Eevee"],
},
]);
});
});
});
});
Loading

0 comments on commit 74f6b22

Please sign in to comment.