1import assert from 'node:assert/strict';2import test from 'node:test';34import {5 committedRustConnection,6 disconnectRejectedRustConnection,7} from './connection-attempt.mjs';89test('only an explicitly connected result owns committed Rust state', () => {10 assert.equal(committedRustConnection({ connected: true }), true);11 assert.equal(committedRustConnection({ connected: false }), false);12 assert.equal(committedRustConnection({ connected: 1 }), false);13 assert.equal(committedRustConnection(null), false);14});1516test('rejected committed connections invoke native disconnect exactly once', async () => {17 const commands = [];18 const invoke = async (command) => { commands.push(command); };19 assert.equal(await disconnectRejectedRustConnection(invoke, true), true);20 assert.deepEqual(commands, ['iroh_client_disconnect']);21 assert.equal(await disconnectRejectedRustConnection(invoke, false), false);22 assert.deepEqual(commands, ['iroh_client_disconnect']);23});