mirror of
https://github.com/certd/certd.git
synced 2026-06-14 21:27:33 +08:00
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
|
|
import { expect } from "chai";
|
||
|
|
import { createAxiosService, HttpClient, setGlobalHeaders } from "./util.request.js";
|
||
|
|
import { ILogger } from "./util.log.js";
|
||
|
|
|
||
|
|
const testLogger = {
|
||
|
|
info() {},
|
||
|
|
error() {},
|
||
|
|
} as unknown as ILogger;
|
||
|
|
|
||
|
|
describe("util.request", () => {
|
||
|
|
afterEach(() => {
|
||
|
|
setGlobalHeaders({});
|
||
|
|
});
|
||
|
|
|
||
|
|
it("should merge global headers without overriding request headers", async () => {
|
||
|
|
setGlobalHeaders({
|
||
|
|
"X-Common": "common",
|
||
|
|
"X-Override": "global",
|
||
|
|
});
|
||
|
|
|
||
|
|
const http = createAxiosService({ logger: testLogger }) as HttpClient;
|
||
|
|
const res = await http.request({
|
||
|
|
url: "http://example.com",
|
||
|
|
method: "get",
|
||
|
|
logReq: false,
|
||
|
|
logRes: false,
|
||
|
|
headers: {
|
||
|
|
"X-Override": "request",
|
||
|
|
"X-Request": "request",
|
||
|
|
},
|
||
|
|
adapter: async config => {
|
||
|
|
const headers = config.headers;
|
||
|
|
return {
|
||
|
|
config,
|
||
|
|
data: {
|
||
|
|
common: headers.get("X-Common"),
|
||
|
|
override: headers.get("X-Override"),
|
||
|
|
request: headers.get("X-Request"),
|
||
|
|
},
|
||
|
|
headers: {},
|
||
|
|
status: 200,
|
||
|
|
statusText: "OK",
|
||
|
|
};
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
expect(res).to.deep.equal({
|
||
|
|
common: "common",
|
||
|
|
override: "request",
|
||
|
|
request: "request",
|
||
|
|
});
|
||
|
|
});
|
||
|
|
});
|