CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
install-state.test.ts72 linesDownload Raw Back to computer-use
1import { describe, it, expect, beforeEach, afterEach } from 'vitest';2import {3  loadInstallState,4  saveInstallState,5  isPackageSpecApproved,6  installStatePathFor,7} from './install-state.js';8import { mkdtempSync, rmSync } from 'node:fs';9import { tmpdir } from 'node:os';10import { join as pathJoin } from 'node:path';11 12describe('install-state', () => {13  let tmpHome: string;14 15  beforeEach(() => {16    tmpHome = mkdtempSync(pathJoin(tmpdir(), 'qwen-cu-test-'));17  });18 19  afterEach(() => {20    rmSync(tmpHome, { recursive: true, force: true });21  });22 23  it('returns undefined when no state file exists', async () => {24    expect(await loadInstallState(tmpHome)).toBeUndefined();25  });26 27  it('round-trips state', async () => {28    await saveInstallState(tmpHome, {29      approvedPackageSpec: 'cua-driver-rs@0.5.2',30      approvedAtIso: '2026-05-28T10:00:00Z',31    });32    const loaded = await loadInstallState(tmpHome);33    expect(loaded).toEqual({34      approvedPackageSpec: 'cua-driver-rs@0.5.2',35      approvedAtIso: '2026-05-28T10:00:00Z',36    });37  });38 39  it('isPackageSpecApproved returns false when no state', async () => {40    expect(await isPackageSpecApproved(tmpHome, 'cua-driver-rs@0.5.2')).toBe(41      false,42    );43  });44 45  it('isPackageSpecApproved returns true on exact match', async () => {46    await saveInstallState(tmpHome, {47      approvedPackageSpec: 'cua-driver-rs@0.5.2',48      approvedAtIso: '2026-05-28T10:00:00Z',49    });50    expect(await isPackageSpecApproved(tmpHome, 'cua-driver-rs@0.5.2')).toBe(51      true,52    );53  });54 55  it('isPackageSpecApproved returns false when version differs', async () => {56    await saveInstallState(tmpHome, {57      approvedPackageSpec: 'cua-driver-rs@0.5.2',58      approvedAtIso: '2026-05-28T10:00:00Z',59    });60    expect(await isPackageSpecApproved(tmpHome, 'cua-driver-rs@0.6.0')).toBe(61      false,62    );63  });64 65  it('installStatePathFor returns correct path', () => {66    const path = installStatePathFor(tmpHome);67    expect(path).toBe(68      pathJoin(tmpHome, '.qwen', 'computer-use', 'installed.json'),69    );70  });71});72 
basant307/AI_Governance_Project · CoolFace