feat(lms): add Docker setup guidance and improve remote workspace handling
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import { strict as assert } from 'node:assert'
|
||||
import { test } from 'node:test'
|
||||
import { classifyDockerError } from './dockerStatus'
|
||||
|
||||
test('missing CLI is distinguished from an unavailable daemon', () => {
|
||||
assert.equal(classifyDockerError('ENOENT', 'spawn docker ENOENT'), 'missing')
|
||||
assert.equal(classifyDockerError(1, 'Cannot connect to the Docker daemon'), 'unavailable')
|
||||
assert.equal(classifyDockerError(1, 'dial unix /run/docker.sock: connect: connection refused'), 'unavailable')
|
||||
})
|
||||
|
||||
test('permission errors take precedence over connection errors', () => {
|
||||
assert.equal(classifyDockerError(1, 'Cannot connect: permission denied'), 'permission')
|
||||
assert.equal(classifyDockerError('EACCES', 'spawn docker EACCES'), 'permission')
|
||||
})
|
||||
|
||||
test('timeouts and unknown failures do not imply Docker needs installing', () => {
|
||||
assert.equal(classifyDockerError(null, 'Command failed: docker info'), 'error')
|
||||
assert.equal(classifyDockerError(1, 'context not found'), 'error')
|
||||
})
|
||||
Reference in New Issue
Block a user