CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
path-freshness.test.ts66 linesDownload Raw Back to config
1/**2 * @license3 * Copyright 2025 Google LLC4 * SPDX-License-Identifier: Apache-2.05 */6 7import { afterEach, beforeEach, describe, expect, it } from 'vitest';8import * as path from 'node:path';9import { homedir } from 'node:os';10import { getUserSettingsDir, getUserSettingsPath } from './settings.js';11import { getTrustedFoldersPath } from './trustedFolders.js';12 13// Regression guard: `QWEN_HOME` is resolved by `preResolveHomeEnvOverrides()`14// AFTER any module that imports a settings/trustedFolders path has loaded.15// A top-level `const` would freeze the pre-bootstrap value and split state16// across callers. Each test mutates `process.env.QWEN_HOME` post-load and17// asserts the exported path getters reflect the new value.18 19describe('settings/trustedFolders path getters are lazy', () => {20  let originalQwenHome: string | undefined;21  let originalTrustedPath: string | undefined;22 23  beforeEach(() => {24    originalQwenHome = process.env['QWEN_HOME'];25    originalTrustedPath = process.env['QWEN_CODE_TRUSTED_FOLDERS_PATH'];26    delete process.env['QWEN_HOME'];27    delete process.env['QWEN_CODE_TRUSTED_FOLDERS_PATH'];28  });29 30  afterEach(() => {31    if (originalQwenHome === undefined) delete process.env['QWEN_HOME'];32    else process.env['QWEN_HOME'] = originalQwenHome;33    if (originalTrustedPath === undefined)34      delete process.env['QWEN_CODE_TRUSTED_FOLDERS_PATH'];35    else process.env['QWEN_CODE_TRUSTED_FOLDERS_PATH'] = originalTrustedPath;36  });37 38  it('getUserSettingsPath() reflects QWEN_HOME set after module load', () => {39    const defaultPath = getUserSettingsPath();40    expect(defaultPath).toBe(path.join(homedir(), '.qwen', 'settings.json'));41 42    process.env['QWEN_HOME'] = '/tmp/qwen-lazy-test';43    expect(getUserSettingsPath()).toBe(44      path.join('/tmp/qwen-lazy-test', 'settings.json'),45    );46  });47 48  it('getUserSettingsDir() reflects QWEN_HOME set after module load', () => {49    expect(getUserSettingsDir()).toBe(path.join(homedir(), '.qwen'));50 51    process.env['QWEN_HOME'] = '/tmp/qwen-lazy-test';52    expect(getUserSettingsDir()).toBe(path.normalize('/tmp/qwen-lazy-test'));53  });54 55  it('getTrustedFoldersPath() reflects QWEN_HOME set after module load', () => {56    expect(getTrustedFoldersPath()).toBe(57      path.join(homedir(), '.qwen', 'trustedFolders.json'),58    );59 60    process.env['QWEN_HOME'] = '/tmp/qwen-lazy-test';61    expect(getTrustedFoldersPath()).toBe(62      path.join('/tmp/qwen-lazy-test', 'trustedFolders.json'),63    );64  });65});66 
basant307/AI_Governance_Project · CoolFace