hostToolSettings.test.ts 994 B

123456789101112131415161718192021
  1. // @vitest-environment node
  2. import { mkdtempSync, rmSync, writeFileSync } from 'node:fs'
  3. import { tmpdir } from 'node:os'
  4. import { join } from 'node:path'
  5. import { afterEach, describe, expect, it } from 'vitest'
  6. import { deniedHostToolsets, readHostTools, saveHostTools } from '../../src/server/hostToolSettings'
  7. let home = ''
  8. afterEach(() => { if (home) rmSync(home, { recursive: true, force: true }) })
  9. describe('host tool settings', () => {
  10. it('denies server tools until an admin turns the global option off', () => {
  11. home = mkdtempSync(join(tmpdir(), 'yaoyao-host-tools-'))
  12. expect(readHostTools(home)).toEqual({ denyServerTools: true })
  13. expect(deniedHostToolsets(home)).toEqual(['terminal', 'file'])
  14. expect(saveHostTools(home, { denyServerTools: false })).toEqual({ denyServerTools: false })
  15. expect(deniedHostToolsets(home)).toEqual([])
  16. writeFileSync(join(home, 'host-tools.json'), '{')
  17. expect(deniedHostToolsets(home)).toEqual(['terminal', 'file'])
  18. })
  19. })