aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/serve.test.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-11 19:10:06 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-11 19:10:06 -0700
commita0f9a6ed60145dcaa2ee87f745a3dc0a0e05acfd (patch)
tree13c5fd37a34286f3fdad622f51ed62ad6ff71299 /integration/bunjs-only-snippets/serve.test.ts
parent1d79703d24c5e8271daec9028c825d11c27dbf7d (diff)
downloadbun-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.ts54
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();
+// });