4 lines
916 B
JavaScript
4 lines
916 B
JavaScript
import test from 'node:test';import assert from 'node:assert/strict';import fs from 'node:fs';import os from 'node:os';import path from 'node:path';import {validate,publish,verify,status} from './console.mjs';
|
|
const fixture=path.resolve('broadcasts/BRD-GLW-ERA-REALITY-0001.json');
|
|
test('broadcast requires typed publisher, boundary and evidence',()=>{assert.equal(validate(JSON.parse(fs.readFileSync(fixture))).broadcast_id,'BRD-GLW-ERA-REALITY-0001');assert.throws(()=>validate({schema:'guanghu.glp-broadcast/v1'}),/BROADCAST_INVALID/)});
|
|
test('publish appends hash chain and CURRENT reads ledger tip',()=>{const root=fs.mkdtempSync(path.join(os.tmpdir(),'gh-broadcast-'));try{const r=publish(fixture,root);assert.equal(r.target_readback,true);assert.equal(status(root).broadcast_id,'BRD-GLW-ERA-REALITY-0001');assert.equal(verify(root).publication_count,1)}finally{fs.rmSync(root,{recursive:true,force:true})}});
|