86 lines
2.3 KiB
JavaScript
86 lines
2.3 KiB
JavaScript
import test from 'brittle'
|
|
import {
|
|
BARE_HOLESAIL_STATE_USER,
|
|
bareHolesailManagedEnvForConnectionId,
|
|
bareHolesailManagedNormalizeEntry,
|
|
bareHolesailManagedStatePath,
|
|
bareHolesailManagedValidateId
|
|
} from './lib/bare-holesail-managed.js'
|
|
import { holesailCliParseAdd } from './lib/holesail-cli.js'
|
|
|
|
test('bareHolesailManagedStatePath defaults to ~/.holesail and honors override', (t) => {
|
|
t.is(
|
|
bareHolesailManagedStatePath({
|
|
USER: 'guest',
|
|
HOME: '/home/guest'
|
|
}),
|
|
BARE_HOLESAIL_STATE_USER
|
|
)
|
|
t.is(
|
|
bareHolesailManagedStatePath({
|
|
USER: 'alice',
|
|
HOME: '/home/alice'
|
|
}),
|
|
BARE_HOLESAIL_STATE_USER
|
|
)
|
|
t.is(
|
|
bareHolesailManagedStatePath({
|
|
USER: 'alice',
|
|
HOME: '/home/alice',
|
|
BARE_OS_HOLESAIL_STATE: '/tmp/custom.json'
|
|
}),
|
|
'/tmp/custom.json'
|
|
)
|
|
t.is(bareHolesailManagedStatePath({}), BARE_HOLESAIL_STATE_USER)
|
|
})
|
|
|
|
test('bareHolesailManagedEnvForConnectionId is identity on env', (t) => {
|
|
const env = { USER: 'u', HOME: '/home/u', BARE_OS_HOLESAIL_STATE: '/x.json' }
|
|
const g = bareHolesailManagedEnvForConnectionId(env, 'bare-www-8088')
|
|
t.is(g, env)
|
|
const u = bareHolesailManagedEnvForConnectionId(env, 'my-tunnel')
|
|
t.is(u, env)
|
|
})
|
|
|
|
test('bareHolesailManagedValidateId', (t) => {
|
|
t.ok(bareHolesailManagedValidateId('a').ok)
|
|
t.ok(bareHolesailManagedValidateId('t1._-x').ok)
|
|
t.absent(bareHolesailManagedValidateId('').ok)
|
|
t.absent(bareHolesailManagedValidateId('bad id').ok)
|
|
})
|
|
|
|
test('bareHolesailManagedNormalizeEntry server', (t) => {
|
|
const r = bareHolesailManagedNormalizeEntry({ server: true, port: '8080' })
|
|
t.ok(r.ok)
|
|
t.is(r.entry.server, true)
|
|
t.is(r.entry.client, false)
|
|
t.is(r.entry.port, 8080)
|
|
})
|
|
|
|
test('bareHolesailManagedNormalizeEntry client needs key', (t) => {
|
|
const r = bareHolesailManagedNormalizeEntry({ client: true })
|
|
t.absent(r.ok)
|
|
})
|
|
|
|
test('holesailCliParseAdd', (t) => {
|
|
const r = holesailCliParseAdd(['t', '--server', '--port', '9000'])
|
|
t.ok(r.ok)
|
|
t.is(r.id, 't')
|
|
t.is(r.entry.server, true)
|
|
t.is(r.entry.port, 9000)
|
|
})
|
|
|
|
test('holesailCliParseAdd implicit hs key', (t) => {
|
|
const r = holesailCliParseAdd([
|
|
't',
|
|
'--client',
|
|
'hs://s000477b2d983364922df1296a65aeaa2d2a',
|
|
'--port',
|
|
'8888'
|
|
])
|
|
t.ok(r.ok)
|
|
t.is(r.entry.client, true)
|
|
t.is(r.entry.key, 'hs://s000477b2d983364922df1296a65aeaa2d2a')
|
|
t.is(r.entry.port, 8888)
|
|
})
|