From e743ab7f7a104f6c7395fc38d54b5a9000073651 Mon Sep 17 00:00:00 2001 From: AmitUp9 <96980485+AmitUp9@users.noreply.github.com> Date: Thu, 16 Jun 2022 10:27:31 +0300 Subject: [PATCH] TRA_4579 - fix acceptance test of right panel body checkboxes (#1150) * #run_acceptance_tests * added data-cy to checkboxes in body section, removed unnecessary tests and fix decoded text testing * #run_acceptance_tests --- acceptanceTests/cypress/e2e/tests/UiTest.js | 61 +++++-------------- .../EntrySections/EntrySections.tsx | 6 +- 2 files changed, 18 insertions(+), 49 deletions(-) diff --git a/acceptanceTests/cypress/e2e/tests/UiTest.js b/acceptanceTests/cypress/e2e/tests/UiTest.js index 8b1976584..12f7b2460 100644 --- a/acceptanceTests/cypress/e2e/tests/UiTest.js +++ b/acceptanceTests/cypress/e2e/tests/UiTest.js @@ -269,7 +269,7 @@ function checkRightSideResponseBody() { const responseBody = JSON.parse(decodedBody); - const expectdJsonBody = { + const expectedJsonBody = { args: RegExp({}), url: RegExp('http://.*/get'), headers: { @@ -279,27 +279,24 @@ function checkRightSideResponseBody() { } }; - expect(responseBody.args).to.match(expectdJsonBody.args); - expect(responseBody.url).to.match(expectdJsonBody.url); - expect(responseBody.headers['User-Agent']).to.match(expectdJsonBody.headers['User-Agent']); - expect(responseBody.headers['Accept-Encoding']).to.match(expectdJsonBody.headers['Accept-Encoding']); - expect(responseBody.headers['X-Forwarded-Uri']).to.match(expectdJsonBody.headers['X-Forwarded-Uri']); + const expectedStringInJsonBody = RegExp('/api/v1/namespaces/.*/services/.*/proxy/get'); + + + expect(responseBody.args).to.match(expectedJsonBody.args); + expect(responseBody.url).to.match(expectedJsonBody.url); + expect(responseBody.headers['User-Agent']).to.match(expectedJsonBody.headers['User-Agent']); + expect(responseBody.headers['Accept-Encoding']).to.match(expectedJsonBody.headers['Accept-Encoding']); + expect(responseBody.headers['X-Forwarded-Uri']).to.match(expectedJsonBody.headers['X-Forwarded-Uri']); cy.get(`${Cypress.env('bodyJsonClass')}`).should('have.text', encodedBody); + cy.get(`[data-cy="lineNumbersCheckBoxInput"]`).should('be.disabled'); + clickCheckbox('Decode Base64'); + cy.get(`[data-cy="lineNumbersCheckBoxInput"]`).should('not.be.disabled'); cy.get(`${Cypress.env('bodyJsonClass')} > `).its('length').should('be.gt', 1).then(linesNum => { cy.get(`${Cypress.env('bodyJsonClass')} > >`).its('length').should('be.gt', linesNum).then(jsonItemsNum => { - // checkPrettyAndLineNums(decodedBody); - - //clickCheckbox('Line numbers'); - //checkPrettyOrNothing(jsonItemsNum, decodedBody); - - // clickCheckbox('Pretty'); - // checkPrettyOrNothing(jsonItemsNum, decodedBody); - // - // clickCheckbox('Line numbers'); - // checkOnlyLineNumberes(jsonItemsNum, decodedBody); + checkOnlyLineNumberes(jsonItemsNum, expectedStringInJsonBody); }); }); }); @@ -309,37 +306,9 @@ function clickCheckbox(type) { cy.contains(`${type}`).prev().children().click(); } -function checkPrettyAndLineNums(decodedBody) { - decodedBody = decodedBody.replaceAll(' ', ''); - cy.get(`${Cypress.env('bodyJsonClass')} >`).then(elements => { - const lines = Object.values(elements); - lines.forEach((line, index) => { - if (line.getAttribute) { - const cleanLine = getCleanLine(line); - const currentLineFromDecodedText = decodedBody.substring(0, cleanLine.length); - - expect(cleanLine).to.equal(currentLineFromDecodedText, `expected the text in line number ${index + 1} to match the text that generated by the base64 decoding`) - - decodedBody = decodedBody.substring(cleanLine.length); - } - }); - }); -} - -function getCleanLine(lineElement) { - return (lineElement.innerText.substring(0, lineElement.innerText.length - 1)).replaceAll(' ', ''); -} - -function checkPrettyOrNothing(jsonItems, decodedBody) { - cy.get(`${Cypress.env('bodyJsonClass')} > `).should('have.length', jsonItems).then(text => { - const json = text.text(); - expect(json).to.equal(decodedBody); - }); -} - function checkOnlyLineNumberes(jsonItems, decodedText) { - cy.get(`${Cypress.env('bodyJsonClass')} >`).should('have.length', 1).and('have.text', decodedText); - cy.get(`${Cypress.env('bodyJsonClass')} > >`).should('have.length', jsonItems) + cy.get(`${Cypress.env('bodyJsonClass')} > >`).should('have.length', jsonItems); + cy.get(`${Cypress.env('bodyJsonClass')} >`).contains(decodedText); } function serviceMapCheck() { diff --git a/ui-common/src/components/EntryDetailed/EntrySections/EntrySections.tsx b/ui-common/src/components/EntryDetailed/EntrySections/EntrySections.tsx index 0b306c121..673ddd582 100644 --- a/ui-common/src/components/EntryDetailed/EntrySections/EntrySections.tsx +++ b/ui-common/src/components/EntryDetailed/EntrySections/EntrySections.tsx @@ -192,17 +192,17 @@ export const EntryBodySection: React.FC = ({ >
{supportsPrettying &&
- { setIsPretty(!isPretty) }} /> + { setIsPretty(!isPretty) }} data-cy="prettyCheckBoxInput"/>
} {supportsPrettying && Pretty}
- { setShowLineNumbers(!showLineNumbers) }} disabled={!isLineNumbersGreaterThenOne || !decodeBase64} /> + { setShowLineNumbers(!showLineNumbers) }} disabled={!isLineNumbersGreaterThenOne || !decodeBase64} data-cy="lineNumbersCheckBoxInput"/>
Line numbers {isBase64Encoding &&
- { setDecodeBase64(!decodeBase64) }} /> + { setDecodeBase64(!decodeBase64) }} data-cy="decodeBase64CheckboxInput"/>
} {isBase64Encoding && Decode Base64} {!isDecodeGrpc && More than one message in protobuf payload is not supported}