diff options
author | 2022-04-11 19:10:06 -0700 | |
---|---|---|
committer | 2022-04-11 19:10:06 -0700 | |
commit | a0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd (patch) | |
tree | 13c5fd37a34286f3fdad622f51ed62ad6ff71299 /integration/bunjs-only-snippets/serve.test.ts | |
parent | 1d79703d24c5e8271daec9028c825d11c27dbf7d (diff) | |
download | bun-a0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd.tar.gz bun-a0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd.tar.zst bun-a0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd.zip |
Add a very simple http server test
Diffstat (limited to 'integration/bunjs-only-snippets/serve.test.ts')
-rw-r--r-- | integration/bunjs-only-snippets/serve.test.ts | 54 |
1 files changed, 54 insertions, 0 deletions
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(); +// }); |