Files
bare-operating-system/packages/bare-os-booter/test.bare-os-chat-wire.js
T
2026-04-21 20:43:06 -04:00

35 lines
976 B
JavaScript

import test from 'brittle'
import b4a from 'b4a'
import { createBareOsChatService } from './lib/bare-os-chat-service.js'
test('broadcastLocal senderPk equals Noise socket.publicKey', async (t) => {
const wirePk = b4a.alloc(32)
wirePk[7] = 42
/** @type {{ sent?: Uint8Array }} */
const cap = {}
const disk = {
localNoiseWirePk: wirePk,
peers: new Set([
{
socket: { publicKey: wirePk },
chatChan: {
messages: [, , , , { send(evt) {
cap.sent = /** @type {Uint8Array} */ (evt.senderPk)
} }]
}
}
]),
protomuxChatChannelRxTotal: 0
}
const svc = createBareOsChatService({ env: {} })
svc.broadcastLocal(disk, 'hello', { displayName: 'x' })
t.ok(cap.sent && b4a.equals(cap.sent, wirePk), 'multiplex frame carries Noise static pk')
const hist = svc.history()
const last = hist[hist.length - 1]
t.ok(last && b4a.equals(/** @type {Uint8Array} */ (last.senderPk), wirePk))
})