文件预览

hubVerify.test.js

查看 Evolver 技能包中的文件内容。

文件内容

test/hubVerify.test.js

const { describe, it } = require('node:test');
const assert = require('node:assert/strict');

describe('hubVerify', function () {
  const { isSolidifyVerifyEnabled, requestSolidifyPermitSync } = require('../src/gep/hubVerify');

  it('isSolidifyVerifyEnabled returns false when no hub URL', function () {
    const original = process.env.A2A_HUB_URL;
    delete process.env.A2A_HUB_URL;
    assert.strictEqual(isSolidifyVerifyEnabled(), false);
    if (original !== undefined) process.env.A2A_HUB_URL = original;
  });

  it('isSolidifyVerifyEnabled returns false when explicitly disabled', function () {
    const origUrl = process.env.A2A_HUB_URL;
    const origVerify = process.env.EVOLVER_SOLIDIFY_VERIFY;
    process.env.A2A_HUB_URL = 'https://example.com';
    process.env.EVOLVER_SOLIDIFY_VERIFY = 'false';
    assert.strictEqual(isSolidifyVerifyEnabled(), false);
    if (origUrl !== undefined) process.env.A2A_HUB_URL = origUrl; else delete process.env.A2A_HUB_URL;
    if (origVerify !== undefined) process.env.EVOLVER_SOLIDIFY_VERIFY = origVerify; else delete process.env.EVOLVER_SOLIDIFY_VERIFY;
  });

  it('isSolidifyVerifyEnabled returns true when hub URL is set', function () {
    const origUrl = process.env.A2A_HUB_URL;
    const origVerify = process.env.EVOLVER_SOLIDIFY_VERIFY;
    process.env.A2A_HUB_URL = 'https://evomap.ai';
    delete process.env.EVOLVER_SOLIDIFY_VERIFY;
    assert.strictEqual(isSolidifyVerifyEnabled(), true);
    if (origUrl !== undefined) process.env.A2A_HUB_URL = origUrl; else delete process.env.A2A_HUB_URL;
    if (origVerify !== undefined) process.env.EVOLVER_SOLIDIFY_VERIFY = origVerify; else delete process.env.EVOLVER_SOLIDIFY_VERIFY;
  });

  it('requestSolidifyPermitSync returns offline error when no hub URL', function () {
    const origUrl = process.env.A2A_HUB_URL;
    delete process.env.A2A_HUB_URL;
    const result = requestSolidifyPermitSync({ geneId: 'test_gene', signals: ['a'], mutation: {} });
    assert.strictEqual(result.ok, false);
    assert.strictEqual(result.offline, true);
    if (origUrl !== undefined) process.env.A2A_HUB_URL = origUrl;
  });
});