SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
f0634fb verified
Raw History Blame Contribute Delete
1.6 kB
import { existsSync, mkdtempSync, rmSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { afterEach, describe, expect, it } from 'vitest';
import { ensureKimiHome, resolveConfigPath, resolveKimiHome } from '#/app/bootstrap/bootstrap';
describe('bootstrap path helpers', () => {
describe('resolveKimiHome', () => {
it('uses explicit homeDir when provided', () => {
expect(resolveKimiHome('/tmp/kimi')).toBe('/tmp/kimi');
});
it('falls back to KIMI_CODE_HOME env', () => {
const prev = process.env['KIMI_CODE_HOME'];
process.env['KIMI_CODE_HOME'] = '/env/kimi';
try {
expect(resolveKimiHome()).toBe('/env/kimi');
} finally {
if (prev === undefined) delete process.env['KIMI_CODE_HOME'];
else process.env['KIMI_CODE_HOME'] = prev;
}
});
});
describe('resolveConfigPath', () => {
it('uses explicit configPath when provided', () => {
expect(resolveConfigPath({ configPath: '/x/config.toml' })).toBe('/x/config.toml');
});
it('joins homeDir with config.toml', () => {
expect(resolveConfigPath({ homeDir: '/tmp/kimi' })).toBe('/tmp/kimi/config.toml');
});
});
describe('ensureKimiHome', () => {
let dir: string | undefined;
afterEach(() => {
if (dir) rmSync(dir, { recursive: true, force: true });
});
it('creates the directory with 0700 permissions', () => {
dir = join(mkdtempSync(join(tmpdir(), 'kimi-home-')), 'nested');
ensureKimiHome(dir);
expect(existsSync(dir)).toBe(true);
});
});
});