| 123456789101112131415161718192021 |
- import {test} from 'node:test'
- import assert from 'node:assert/strict'
- import {arch,release} from 'node:os'
- import {HostEnvironmentReporter} from './host-environment.mjs'
- import {HOST_SHELL} from './host-files.mjs'
- test('only sends optional host facts after explicit server negotiation and resets for old servers',()=>{
- const reporter=new HostEnvironmentReporter('/Users/fixture')
- assert.deepEqual(reporter.fields(),{})
- reporter.accept({environmentMetadata:1})
- const {fileTransferVersion,environment}=reporter.fields()
- assert.equal(fileTransferVersion,1)
- assert.deepEqual(environment,{version:1,osRelease:release(),arch:arch(),shell:HOST_SHELL,homeDirectory:'/Users/fixture',defaultCwd:'/Users/fixture',fileRoots:['/Users/fixture'],shellScope:'user',timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})
- assert.equal(Object.keys(environment).some(key=>/token|password|env|secret/i.test(key)),false)
- reporter.accept(undefined)
- assert.deepEqual(reporter.fields(),{})
- reporter.accept({environmentMetadata:2})
- assert.deepEqual(reporter.fields(),{})
- reporter.accept({environmentMetadata:1});reporter.reset()
- assert.deepEqual(reporter.fields(),{})
- })
|