|
| 1 | +describe("TESTS: Configuration => Subsystem => Undertow => Global settings", () => { |
| 2 | + let managementEndpoint: string; |
| 3 | + |
| 4 | + const testValues = { |
| 5 | + serverName: "default-server", |
| 6 | + ajpListener: "test-ajp", |
| 7 | + ajpSocketBindings: "ajp", |
| 8 | + allowedReqAttrsPatternExpression: "${NON-EXISTING:value.*}", |
| 9 | + allowedReqAttrsPatternResolved: "value.*", |
| 10 | + }; |
| 11 | + const address = ["subsystem", "undertow", "server", testValues.serverName, "ajp-listener", testValues.ajpListener]; |
| 12 | + const serverSelectors = { |
| 13 | + serverListenersItem: "#undertow-server-listener-item", |
| 14 | + ajpListenerItem: "#undertow-server-ajp-listener-item", |
| 15 | + }; |
| 16 | + const ajpListenerPageSelectors = { |
| 17 | + ajpListenersTableId: "undertow-server-ajp-listener-table", |
| 18 | + }; |
| 19 | + const ajpListenerForm = { |
| 20 | + id: "undertow-server-ajp-listener-form", |
| 21 | + allowedReqAttrsPattern: "allowed-request-attributes-pattern", |
| 22 | + }; |
| 23 | + |
| 24 | + before(() => { |
| 25 | + cy.startWildflyContainer() |
| 26 | + .then((result) => { |
| 27 | + managementEndpoint = result as string; |
| 28 | + }) |
| 29 | + .then(() => { |
| 30 | + // create fixtures |
| 31 | + cy.task("execute:cli", { |
| 32 | + managementApi: managementEndpoint + "/management", |
| 33 | + address: address, |
| 34 | + operation: "add", |
| 35 | + "socket-binding": testValues.ajpSocketBindings, |
| 36 | + }); |
| 37 | + }); |
| 38 | + }); |
| 39 | + |
| 40 | + after(() => { |
| 41 | + cy.task("stop:containers"); |
| 42 | + }); |
| 43 | + |
| 44 | + beforeEach(() => { |
| 45 | + cy.navigateTo(managementEndpoint, "undertow-server;name=default-server"); |
| 46 | + // the form takes a brief moment to initialize |
| 47 | + cy.wait(200); |
| 48 | + cy.get(serverSelectors.serverListenersItem).click(); |
| 49 | + cy.get(serverSelectors.ajpListenerItem).click(); |
| 50 | + }); |
| 51 | + |
| 52 | + it("Test AJP Listener: allowed request attributes pattern", () => { |
| 53 | + cy.selectInTable(ajpListenerPageSelectors.ajpListenersTableId, testValues.ajpListener); |
| 54 | + |
| 55 | + cy.editForm(ajpListenerForm.id); |
| 56 | + cy.text(ajpListenerForm.id, ajpListenerForm.allowedReqAttrsPattern, testValues.allowedReqAttrsPatternExpression, { |
| 57 | + parseSpecialCharSequences: false, |
| 58 | + }); |
| 59 | + cy.saveForm(ajpListenerForm.id); |
| 60 | + cy.verifySuccess(); |
| 61 | + cy.verifyAttributeAsExpression( |
| 62 | + managementEndpoint, |
| 63 | + ["subsystem", "undertow", "server", testValues.serverName, "ajp-listener", testValues.ajpListener], |
| 64 | + ajpListenerForm.allowedReqAttrsPattern, |
| 65 | + testValues.allowedReqAttrsPatternExpression |
| 66 | + ); |
| 67 | + }); |
| 68 | +}); |
0 commit comments