mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-26 00:04:33 +00:00
46 lines
2.1 KiB
JavaScript
46 lines
2.1 KiB
JavaScript
const columns = {podName : 1, namespace : 2, tapping : 3};
|
|
|
|
function getDomPathInStatusBar(line, column) {
|
|
return `[data-cy="expandedStatusBar"] > :nth-child(2) > > :nth-child(2) > :nth-child(${line}) > :nth-child(${column})`;
|
|
}
|
|
|
|
export function checkLine(line, expectedValues) {
|
|
cy.get(getDomPathInStatusBar(line, columns.podName)).invoke('text').then(podValue => {
|
|
const podName = getOnlyPodName(podValue);
|
|
expect(podName).to.equal(expectedValues.podName);
|
|
|
|
cy.get(getDomPathInStatusBar(line, columns.namespace)).invoke('text').then(namespaceValue => {
|
|
expect(namespaceValue).to.equal(expectedValues.namespace);
|
|
cy.get(getDomPathInStatusBar(line, columns.tapping)).children().should('have.attr', 'src').and("match", /success.*\.svg/);
|
|
});
|
|
});
|
|
}
|
|
|
|
export function findLineAndCheck(expectedValues) {
|
|
cy.get('[data-cy="expandedStatusBar"] > :nth-child(2) > > :nth-child(2) > > :nth-child(1)').then(pods => {
|
|
cy.get('[data-cy="expandedStatusBar"] > :nth-child(2) > > :nth-child(2) > > :nth-child(2)').then(namespaces => {
|
|
// organizing namespaces array
|
|
const podObjectsArray = Object.values(pods ?? {});
|
|
const namespacesObjectsArray = Object.values(namespaces ?? {});
|
|
let lineNumber = -1;
|
|
namespacesObjectsArray.forEach((namespaceObj, index) => {
|
|
const currentLine = index + 1;
|
|
lineNumber = (namespaceObj.getAttribute && namespaceObj.innerHTML === expectedValues.namespace && (getOnlyPodName(podObjectsArray[index].innerHTML)) === expectedValues.podName) ? currentLine : lineNumber;
|
|
});
|
|
lineNumber === -1 ? throwError(expectedValues) : checkLine(lineNumber, expectedValues);
|
|
});
|
|
});
|
|
}
|
|
|
|
function throwError(expectedValues) {
|
|
throw new Error(`The pod named ${expectedValues.podName} doesn't match any namespace named ${expectedValues.namespace}`);
|
|
}
|
|
|
|
export function getExpectedDetailsDict(podName, namespace) {
|
|
return {podName : podName, namespace : namespace};
|
|
}
|
|
|
|
function getOnlyPodName(podElementFullStr) {
|
|
return podElementFullStr.substring(0, podElementFullStr.indexOf('-'));
|
|
}
|