@halsp/native
Version:
Halsp 的 NodeJS 原生环境
42 lines (37 loc) • 1.18 kB
text/typescript
import "../../src";
import request from "supertest";
import { createReadStream } from "fs";
import { Startup } from "@halsp/core";
test("stream body", async () => {
const server = await new Startup()
.useNative({
port: 0,
})
.use(async (ctx) => {
ctx.res.ok(createReadStream("./LICENSE"));
})
.listen();
const res = await request(server).get("");
server.close();
expect(res.status).toBe(200);
expect(res.headers["content-type"]).toBe("application/octet-stream");
const buffer = res.body as Buffer;
expect(buffer.toString().startsWith("MIT License")).toBeTruthy();
});
test("stream body explicit type", async () => {
const server = await new Startup()
.useNative({
port: 0,
})
.use(async (ctx) => {
ctx.res.setHeader("content-type", "application/octet-stream");
ctx.res.ok(createReadStream("./LICENSE"));
})
.listen();
const res = await request(server).get("");
server.close();
expect(res.status).toBe(200);
expect(res.headers["content-type"]).toBe("application/octet-stream");
const buffer = res.body as Buffer;
expect(buffer.toString().startsWith("MIT License")).toBeTruthy();
});