Skip to content

Commit

Permalink
test: add case for custom server implementation (#4000)
Browse files Browse the repository at this point in the history
  • Loading branch information
snitin315 committed Nov 2, 2021
1 parent 2b42431 commit 61e572e
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 0 deletions.
11 changes: 11 additions & 0 deletions test/e2e/__snapshots__/server.test.js.snap.webpack4
Expand Up @@ -624,6 +624,17 @@ exports[`server option as object spdy server with options should handle GET requ
"
`;

exports[`server option as string custom-http should handle GET request to index route (/): console messages 1`] = `Array []`;

exports[`server option as string custom-http should handle GET request to index route (/): page errors 1`] = `Array []`;

exports[`server option as string custom-http should handle GET request to index route (/): response status 1`] = `200`;

exports[`server option as string custom-http should handle GET request to index route (/): response text 1`] = `
"Heyo.
"
`;

exports[`server option as string http should handle GET request to index route (/): console messages 1`] = `Array []`;

exports[`server option as string http should handle GET request to index route (/): page errors 1`] = `Array []`;
Expand Down
11 changes: 11 additions & 0 deletions test/e2e/__snapshots__/server.test.js.snap.webpack5
Expand Up @@ -624,6 +624,17 @@ exports[`server option as object spdy server with options should handle GET requ
"
`;

exports[`server option as string custom-http should handle GET request to index route (/): console messages 1`] = `Array []`;

exports[`server option as string custom-http should handle GET request to index route (/): page errors 1`] = `Array []`;

exports[`server option as string custom-http should handle GET request to index route (/): response status 1`] = `200`;

exports[`server option as string custom-http should handle GET request to index route (/): response text 1`] = `
"Heyo.
"
`;

exports[`server option as string http should handle GET request to index route (/): console messages 1`] = `Array []`;

exports[`server option as string http should handle GET request to index route (/): page errors 1`] = `Array []`;
Expand Down
60 changes: 60 additions & 0 deletions test/e2e/server.test.js
Expand Up @@ -92,6 +92,66 @@ describe("server option", () => {
});
});

describe("custom-http", () => {
beforeEach(async () => {
compiler = webpack(config);

server = new Server(
{
static: {
directory: staticDirectory,
watch: false,
},
server: path.resolve(__dirname, "../helpers/custom-http.js"),
port,
},
compiler
);

await server.start();

({ page, browser } = await runBrowser());

pageErrors = [];
consoleMessages = [];
});

afterEach(async () => {
await browser.close();
await server.stop();
});

it("should handle GET request to index route (/)", async () => {
page
.on("console", (message) => {
consoleMessages.push(message);
})
.on("pageerror", (error) => {
pageErrors.push(error);
});

const response = await page.goto(`http://127.0.0.1:${port}/`, {
waitUntil: "networkidle0",
});

const HTTPVersion = await page.evaluate(
() => performance.getEntries()[0].nextHopProtocol
);

expect(HTTPVersion).not.toEqual("h2");

expect(response.status()).toMatchSnapshot("response status");

expect(await response.text()).toMatchSnapshot("response text");

expect(
consoleMessages.map((message) => message.text())
).toMatchSnapshot("console messages");

expect(pageErrors).toMatchSnapshot("page errors");
});
});

describe("https", () => {
beforeEach(async () => {
compiler = webpack(config);
Expand Down
5 changes: 5 additions & 0 deletions test/helpers/custom-http.js
@@ -0,0 +1,5 @@
"use strict";

const customHTTP = require("http");

module.exports = customHTTP;

0 comments on commit 61e572e

Please sign in to comment.