chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { expect, test, describe } from 'vitest'
|
||||
import {
|
||||
waitForFile,
|
||||
waitForPort,
|
||||
waitForProcess,
|
||||
waitForTimeout,
|
||||
waitForURL,
|
||||
} from '../../../src/template/readycmd'
|
||||
|
||||
describe('readycmd', () => {
|
||||
test('waitForPort matches the exact listening port', () => {
|
||||
const cmd = waitForPort(80).getCmd()
|
||||
expect(cmd).toBe('[ -n "$(ss -Htuln sport = :80)" ]')
|
||||
})
|
||||
|
||||
test('waitForURL quotes the url', () => {
|
||||
const cmd = waitForURL('http://localhost:3000/health?ready=1&x=y').getCmd()
|
||||
expect(cmd).toBe(
|
||||
'curl -s -o /dev/null -w "%{http_code}" \'http://localhost:3000/health?ready=1&x=y\' | grep -q "200"'
|
||||
)
|
||||
})
|
||||
|
||||
test('waitForURL keeps simple urls unquoted', () => {
|
||||
const cmd = waitForURL('http://localhost:3000/health').getCmd()
|
||||
expect(cmd).toBe(
|
||||
'curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/health | grep -q "200"'
|
||||
)
|
||||
})
|
||||
|
||||
test('waitForProcess quotes the process name', () => {
|
||||
const cmd = waitForProcess('my daemon').getCmd()
|
||||
expect(cmd).toBe("pgrep 'my daemon' > /dev/null")
|
||||
})
|
||||
|
||||
test('waitForFile quotes the filename', () => {
|
||||
const cmd = waitForFile('/tmp/ready file').getCmd()
|
||||
expect(cmd).toBe("[ -f '/tmp/ready file' ]")
|
||||
})
|
||||
|
||||
test('waitForFile keeps simple paths unquoted', () => {
|
||||
const cmd = waitForFile('/tmp/ready').getCmd()
|
||||
expect(cmd).toBe('[ -f /tmp/ready ]')
|
||||
})
|
||||
|
||||
test('waitForTimeout converts milliseconds to seconds', () => {
|
||||
expect(waitForTimeout(5000).getCmd()).toBe('sleep 5')
|
||||
expect(waitForTimeout(100).getCmd()).toBe('sleep 1')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user