mirror of
https://github.com/EvoMap/evolver.git
synced 2026-09-18 21:47:53 +08:00
66 lines
3.3 KiB
JavaScript
66 lines
3.3 KiB
JavaScript
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;
|
|
const origNodeEnv = process.env.NODE_ENV;
|
|
process.env.A2A_HUB_URL = 'https://example.com';
|
|
process.env.EVOLVER_SOLIDIFY_VERIFY = 'false';
|
|
process.env.NODE_ENV = 'test';
|
|
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;
|
|
if (origNodeEnv !== undefined) process.env.NODE_ENV = origNodeEnv; else delete process.env.NODE_ENV;
|
|
});
|
|
|
|
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;
|
|
});
|
|
|
|
it('consumeOfflinePermit returns error with offline flag when no token cached', function () {
|
|
const { consumeOfflinePermit } = require('../src/gep/hubVerify');
|
|
const result = consumeOfflinePermit();
|
|
assert.strictEqual(result.ok, false);
|
|
assert.strictEqual(result.offline, true);
|
|
});
|
|
|
|
it('isSolidifyVerifyEnabled ignores env var disable in non-test env', function () {
|
|
const origUrl = process.env.A2A_HUB_URL;
|
|
const origVerify = process.env.EVOLVER_SOLIDIFY_VERIFY;
|
|
const origNodeEnv = process.env.NODE_ENV;
|
|
process.env.A2A_HUB_URL = 'https://example.com';
|
|
process.env.EVOLVER_SOLIDIFY_VERIFY = 'false';
|
|
process.env.NODE_ENV = 'production';
|
|
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;
|
|
if (origNodeEnv !== undefined) process.env.NODE_ENV = origNodeEnv; else delete process.env.NODE_ENV;
|
|
});
|
|
});
|