2026-05-20 21:39:12 +08:00

35 lines
1.2 KiB
TypeScript

import { SkillSecretService } from '../src/modules/netaclaw/service/skill_secret.js';
describe('SkillSecretService storage format', () => {
const originalSkillSecretKey = process.env.SKILL_SECRET_KEY;
const originalAppSecret = process.env.APP_SECRET;
afterEach(() => {
if (originalSkillSecretKey === undefined) delete process.env.SKILL_SECRET_KEY;
else process.env.SKILL_SECRET_KEY = originalSkillSecretKey;
if (originalAppSecret === undefined) delete process.env.APP_SECRET;
else process.env.APP_SECRET = originalAppSecret;
});
it('stores and reads skill secrets without requiring SKILL_SECRET_KEY or APP_SECRET', () => {
delete process.env.SKILL_SECRET_KEY;
delete process.env.APP_SECRET;
const service = new SkillSecretService();
const stored = service.encrypt({
ARK_API_KEY: 'ark-key',
DAMAGE_DETECT_MODEL: 'doubao-seed-2-0-pro-260215',
});
expect(stored).toBe(JSON.stringify({
ARK_API_KEY: 'ark-key',
DAMAGE_DETECT_MODEL: 'doubao-seed-2-0-pro-260215',
}));
expect(service.decrypt(stored)).toEqual({
ARK_API_KEY: 'ark-key',
DAMAGE_DETECT_MODEL: 'doubao-seed-2-0-pro-260215',
});
});
});