Skip to content

Commit d809ecc

Browse files
committed
wip
1 parent e7a6708 commit d809ecc

File tree

1 file changed

+96
-2
lines changed

1 file changed

+96
-2
lines changed

test/unit/node/app.test.ts

Lines changed: 96 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,110 @@ import { createApp, ensureAddress, handleArgsSocketCatchError, handleServerError
77
import { OptionalString, setDefaults } from "../../../src/node/cli"
88
import { getAvailablePort, tmpdir } from "../../utils/helpers"
99

10+
// wip: todo@jsjoeio fix this
11+
const FAKE_CRT = `-----BEGIN CERTIFICATE-----
12+
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
42+
-----END CERTIFICATE-----`
43+
44+
const FAKE_KEY = `-----BEGIN PRIVATE KEY-----
45+
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
94+
Tg+GmU9QQHC8AIKkHqHsjger8K9paw==
95+
-----END PRIVATE KEY-----`
96+
1097
describe("createApp", () => {
1198
let spy: jest.SpyInstance
1299
let unlinkSpy: jest.SpyInstance
13100
let port: number
14101
let tmpDirPath: string
15102
let tmpFilePath: string
103+
let certPath: string
104+
let certKeyPath: string
16105

17106
beforeAll(async () => {
18107
tmpDirPath = await tmpdir("unlink-socket")
19108
tmpFilePath = path.join(tmpDirPath, "unlink-socket-file")
109+
certPath = path.join(tmpDirPath, "test.crt")
110+
certKeyPath = path.join(tmpDirPath, "test.key")
111+
112+
await promises.writeFile(certPath, FAKE_CRT)
113+
await promises.writeFile(certKeyPath, FAKE_KEY)
20114
})
21115

22116
beforeEach(async () => {
@@ -138,12 +232,12 @@ describe("createApp", () => {
138232
})
139233

140234
it("should create an https server if args.cert exists", async () => {
141-
const cert = new OptionalString("./test/utils/test.crt")
235+
const cert = new OptionalString(certKeyPath)
142236
const defaultArgs = await setDefaults({
143237
port,
144238
cert,
145239
_: [],
146-
["cert-key"]: "./test/utils/test.key",
240+
["cert-key"]: certKeyPath,
147241
})
148242
const app = await createApp(defaultArgs)
149243
const server = app[2]

0 commit comments

Comments
 (0)