mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-11 08:42:11 +00:00
34 lines
1 KiB
JavaScript
34 lines
1 KiB
JavaScript
/**
|
|
* Tests for OAuth-session Electron net.request helpers.
|
|
*
|
|
* Run with: node --test electron/oauth-net-request.test.cjs
|
|
*/
|
|
|
|
const test = require('node:test')
|
|
const assert = require('node:assert/strict')
|
|
|
|
const { serializeJsonBody, setJsonRequestHeaders } = require('./oauth-net-request.cjs')
|
|
|
|
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)
|
|
})
|