import test from 'brittle' import { createRequire } from 'module' import os from 'os' import path from 'path' import fs from 'fs' const require = createRequire(import.meta.url) const { start } = require('../client/holesailBareControl.cjs') test('holesail Bare control HTTP health + auth', async (t) => { const statePath = path.join(os.tmpdir(), `pd-hs-${Date.now()}.json`) const ctl = await start({ statePath }) t.ok(ctl.baseUrl) t.ok(fs.existsSync(statePath)) const health = await fetch(`${ctl.baseUrl}/health`) t.is(health.status, 200) const hj = await health.json() t.is(hj.service, 'holesail-local') const unauth = await fetch(`${ctl.baseUrl}/list`) t.is(unauth.status, 401) const list = await fetch(`${ctl.baseUrl}/list`, { headers: { 'X-Peardock-Token': ctl.token }, }) t.is(list.status, 200) const lj = await list.json() t.ok(lj.ok) t.alike(lj.result, []) await ctl.close() t.absent(fs.existsSync(statePath)) })