mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-15 14:22:43 +00:00
38 lines
1 KiB
TypeScript
38 lines
1 KiB
TypeScript
/**
|
|
* Tests for OAuth-session Electron net.request helpers.
|
|
*
|
|
* Run with: node --test electron/oauth-net-request.test.ts
|
|
*/
|
|
|
|
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import { serializeJsonBody, setJsonRequestHeaders } from './oauth-net-request'
|
|
|
|
test('serializeJsonBody returns undefined for absent bodies', () => {
|
|
assert.equal(serializeJsonBody(undefined), undefined)
|
|
})
|
|
|
|
test('serializeJsonBody JSON-encodes request bodies', () => {
|
|
const body = serializeJsonBody({ archived: true })
|
|
assert.ok(Buffer.isBuffer(body))
|
|
assert.equal(body.toString('utf8'), '{"archived":true}')
|
|
})
|
|
|
|
test('setJsonRequestHeaders does not set Electron-restricted Content-Length', () => {
|
|
const headers = []
|
|
|
|
const request = {
|
|
setHeader(name, value) {
|
|
headers.push([name, value])
|
|
}
|
|
}
|
|
|
|
setJsonRequestHeaders(request)
|
|
|
|
assert.deepEqual(headers, [['Content-Type', 'application/json']])
|
|
assert.equal(
|
|
headers.some(([name]) => name.toLowerCase() === 'content-length'),
|
|
false
|
|
)
|
|
})
|