Skip to content
Merged
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
13 changes: 6 additions & 7 deletions ui/apps/platform/cypress/helpers/vulnmanagement/entities.js
Original file line number Diff line number Diff line change
Expand Up @@ -286,16 +286,15 @@ export function getCountAndNounFromNodeCVEsLinkResults([, count]) {
export function verifySecondaryEntities(
entitiesKey1,
entitiesKey2,
columnIndex,
columnIndex, // one-based index includes checkbox, hidden, invisible
entitiesRegExp2,
getCountAndNounFromLinkResults = getCountAndNounFromSecondaryEntitiesLinkResults
) {
// 1. Visit list page for primary entities.
visitVulnerabilityManagementEntities(entitiesKey1);

// Find the first link for secondary entities.
// Plus 1 because of invisible .rt-td.hidden cell.
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex + 1})`)
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex})`)
.contains('a', entitiesRegExp2)
.then(($a) => {
const { panelHeaderText, relatedEntitiesCount, relatedEntitiesNoun } =
Expand Down Expand Up @@ -339,15 +338,15 @@ export function verifySecondaryEntities(
export function verifyFilteredSecondaryEntitiesLink(
entitiesKey1,
_entitiesKey2, // unused because response might have been cached
columnIndex,
columnIndex, // one-based index includes checkbox, hidden, invisible
filteredEntitiesRegExp,
getCountAndNounFromLinkResults
) {
// 1. Visit list page for primary entities.
visitVulnerabilityManagementEntities(entitiesKey1);

// Find the first link for secondary entities.
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex + 1})`)
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex})`)
.contains('a', filteredEntitiesRegExp)
.then(($a) => {
const { panelHeaderText } = getCountAndNounFromLinkResults(
Expand All @@ -371,15 +370,15 @@ export function verifyFilteredSecondaryEntitiesLink(
export function verifyFixableCVEsLinkAndRiskAcceptanceTabs(
entitiesKey1,
_entitiesKey2, // unused because response might have been cached
columnIndex,
columnIndex, // one-based index includes checkbox, hidden, invisible
fixableCVEsRegExp,
getCountAndNounFromLinkResults
) {
// 1. Visit list page for primary entities.
visitVulnerabilityManagementEntities(entitiesKey1);

// Find the first link for secondary entities.
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex + 1})`)
cy.get(`.rt-tbody .rt-td:nth-child(${columnIndex})`)
.contains('a', fixableCVEsRegExp)
.then(($a) => {
const { panelHeaderText } = getCountAndNounFromLinkResults(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ describe('Vulnerability Management Cluster (Platform) CVEs', () => {
);
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Count the checkbox as the first column.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for clusters', () => {
verifySecondaryEntities(entitiesKey, 'clusters', 8, /^\d+ clusters?$/);
verifySecondaryEntities(entitiesKey, 'clusters', 9, /^\d+ clusters?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,16 @@ describe('Vulnerability Management Clusters', () => {
// Do not assert because of potential timing problem: get td elements before table re-renders.
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all image CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'image-cves',
2,
3,
/^\d+ CVEs?$/,
getCountAndNounFromImageCVEsLinkResults
);
Expand All @@ -106,7 +107,7 @@ describe('Vulnerability Management Clusters', () => {
verifyFilteredSecondaryEntitiesLink(
entitiesKey,
'image-cves',
2,
3,
/^\d+ Fixable$/,
getCountAndNounFromImageCVEsLinkResults
);
Expand All @@ -116,7 +117,7 @@ describe('Vulnerability Management Clusters', () => {
verifySecondaryEntities(
entitiesKey,
'node-cves',
3,
4,
/^\d+ CVEs?$/,
getCountAndNounFromNodeCVEsLinkResults
);
Expand All @@ -126,21 +127,21 @@ describe('Vulnerability Management Clusters', () => {
verifySecondaryEntities(
entitiesKey,
'cluster-cves',
4,
5,
/^\d+ CVEs?$/,
getCountAndNounFromClusterCVEsLinkResults
);
});

it('should display links for namespaces', () => {
verifySecondaryEntities(entitiesKey, 'namespaces', 6, /^\d+ namespaces?$/);
verifySecondaryEntities(entitiesKey, 'namespaces', 7, /^\d+ namespaces?$/);
});

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 6, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 7, /^\d+ deployments?$/);
});

it('should display links for nodes', () => {
verifySecondaryEntities(entitiesKey, 'nodes', 6, /^\d+ nodes?$/);
verifySecondaryEntities(entitiesKey, 'nodes', 7, /^\d+ nodes?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,16 @@ describe('Vulnerability Management Components', () => {
// Do not assert because of potential timing problem: get td elements before table re-renders.
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'cves',
2,
3,
/^\d+ CVEs?$/,
getCountAndNounFromCVEsLinkResults
);
Expand All @@ -103,18 +104,18 @@ describe('Vulnerability Management Components', () => {
verifyFilteredSecondaryEntitiesLink(
entitiesKey,
'cves',
2,
3,
/^\d+ Fixable$/,
getCountAndNounFromCVEsLinkResults
);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 5, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 6, /^\d+ images?$/);
});

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 6, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 7, /^\d+ deployments?$/);
});

// Skip assertion about nodes because many component do not have a nodes link.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,20 +84,20 @@ describe('Vulnerability Management CVEs', () => {
);
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Count the checkbox as the first column.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 8, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 9, /^\d+ deployments?$/);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 8, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 9, /^\d+ images?$/);
});

it('should display links for components', () => {
verifySecondaryEntities(entitiesKey, 'components', 8, /^\d+ components?$/);
verifySecondaryEntities(entitiesKey, 'components', 9, /^\d+ components?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -78,15 +78,16 @@ describe('Vulnerability Management Deployments', () => {
// Do not assert because of potential timing problem: get td elements before table re-renders.
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all image CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'image-cves',
2,
3,
/^\d+ CVEs?$/,
getCountAndNounFromImageCVEsLinkResults
);
Expand All @@ -96,13 +97,13 @@ describe('Vulnerability Management Deployments', () => {
verifyFilteredSecondaryEntitiesLink(
entitiesKey,
'image-cves',
2,
3,
/^\d+ Fixable$/,
getCountAndNounFromImageCVEsLinkResults
);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 7, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 8, /^\d+ images?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,16 @@ describe('Vulnerability Management Deployments', () => {
// Do not assert because of potential timing problem: get td elements before table re-renders.
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'cves',
2,
3,
/^\d+ CVEs?$/,
getCountAndNounFromCVEsLinkResults
);
Expand All @@ -102,13 +103,13 @@ describe('Vulnerability Management Deployments', () => {
verifyFilteredSecondaryEntitiesLink(
entitiesKey,
'cves',
2,
3,
/^\d+ Fixable$/,
getCountAndNounFromCVEsLinkResults
);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 7, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 8, /^\d+ images?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -119,15 +119,16 @@ describe('Vulnerability Management Image Components', () => {
});
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all image CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'image-cves',
3,
4,
/^\d+ CVEs?$/,
getCountAndNounFromImageCVEsLinkResults
);
Expand All @@ -137,17 +138,17 @@ describe('Vulnerability Management Image Components', () => {
verifyFilteredSecondaryEntitiesLink(
entitiesKey,
'image-cves',
3,
4,
/^\d+ Fixable$/,
getCountAndNounFromImageCVEsLinkResults
);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 6, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 7, /^\d+ images?$/);
});

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 7, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 8, /^\d+ deployments?$/);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -128,21 +128,21 @@ describe('Vulnerability Management Image CVEs', () => {
);
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Count the checkbox as the first column.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 9, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 10, /^\d+ deployments?$/);
});

it('should display links for images', () => {
verifySecondaryEntities(entitiesKey, 'images', 9, /^\d+ images?$/);
verifySecondaryEntities(entitiesKey, 'images', 10, /^\d+ images?$/);
});

it('should display links for image-components', () => {
verifySecondaryEntities(entitiesKey, 'image-components', 9, /^\d+ image components?$/);
verifySecondaryEntities(entitiesKey, 'image-components', 10, /^\d+ image components?$/);
});

// @TODO: Rework this test. Seems like each of these do the same thing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,15 +115,16 @@ describe('Vulnerability Management Images', () => {
});
});

// Argument 3 in verify functions is one-based index of column which has the links.
// Argument 3 in verify functions is index of column which has the links.
// The one-based index includes checkbox, hidden, invisible.

// Some tests might fail in local deployment.

it('should display links for all image CVEs', () => {
verifySecondaryEntities(
entitiesKey,
'image-cves',
2,
3,
/^\d+ CVEs?$/,
getCountAndNounFromImageCVEsLinkResults
);
Expand All @@ -133,18 +134,18 @@ describe('Vulnerability Management Images', () => {
verifyFixableCVEsLinkAndRiskAcceptanceTabs(
entitiesKey,
'image-cves',
2,
3,
/^\d+ Fixable$/,
getCountAndNounFromImageCVEsLinkResults
);
});

it('should display links for deployments', () => {
verifySecondaryEntities(entitiesKey, 'deployments', 8, /^\d+ deployments?$/);
verifySecondaryEntities(entitiesKey, 'deployments', 9, /^\d+ deployments?$/);
});

it('should display links for image-components', () => {
verifySecondaryEntities(entitiesKey, 'image-components', 8, /^\d+ image components?$/);
verifySecondaryEntities(entitiesKey, 'image-components', 9, /^\d+ image components?$/);
});

it('should show entity icon, not back button, if there is only one item on the side panel stack', () => {
Expand Down
Loading