From a0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Mon, 11 Apr 2022 19:10:06 -0700 Subject: Add a very simple http server test --- integration/bunjs-only-snippets/serve.test.ts | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 integration/bunjs-only-snippets/serve.test.ts (limited to 'integration/bunjs-only-snippets/serve.test.ts') diff --git a/integration/bunjs-only-snippets/serve.test.ts b/integration/bunjs-only-snippets/serve.test.ts new file mode 100644 index 000000000..d5b1b581e --- /dev/null +++ b/integration/bunjs-only-snippets/serve.test.ts @@ -0,0 +1,54 @@ +import { file, serve } from "bun"; +import { expect, it } from "bun:test"; +import { readFileSync } from "fs"; +import { resolve } from "path"; + +var port = 60000; + +it("should work for a hello world", async () => { + const server = serve({ + port: port++, + fetch(req) { + return new Response(`Hello, world!`); + }, + }); + const response = await fetch(`http://localhost:${server.port}`); + expect(await response.text()).toBe("Hello, world!"); + server.stop(); +}); + +it("should work for a file", async () => { + const fixture = resolve(import.meta.dir, "./fetch.js.txt"); + const textToExpect = readFileSync(fixture, "utf-8"); + + const server = serve({ + port: port++, + fetch(req) { + return new Response(file(fixture)); + }, + }); + const response = await fetch(`http://localhost:${server.port}`); + expect(await response.text()).toBe(textToExpect); + server.stop(); +}); + +// var count = 200; +// it(`should work for a file ${count} times`, async () => { +// const fixture = resolve(import.meta.dir, "./fetch.js.txt"); +// const textToExpect = readFileSync(fixture, "utf-8"); +// var ran = 0; +// const server = serve({ +// port: port++, +// async fetch(req) { +// console.log(`Ran ${ran++}`); +// return new Response(file(fixture)); +// }, +// }); + +// for (let i = 0; i < count; i++) { +// const response = await fetch(`http://localhost:${server.port}`); +// expect(await response.text()).toBe(textToExpect); +// } + +// server.stop(); +// }); -- cgit v1.2.3