mirror of
https://github.com/zoriya/elysia.git
synced 2026-08-15 18:44:25 +00:00
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'bun:test'
|
|
|
|
import { Elysia } from '../../src'
|
|
|
|
describe('Stop', () => {
|
|
it('shuts down the server when stop(true) is called', async () => {
|
|
const app = new Elysia()
|
|
app.get('/health', 'hi')
|
|
|
|
const port = 8080
|
|
const server = app.listen(port)
|
|
|
|
await fetch(`http://localhost:${port}/health`)
|
|
|
|
await server.stop(true)
|
|
|
|
// Check if the server is still running
|
|
try {
|
|
await fetch(`http://localhost:${port}/health`)
|
|
throw new Error('Server is still running after teardown')
|
|
} catch (error) {
|
|
expect((error as Error).message).toContain('Unable to connect')
|
|
}
|
|
})
|
|
|
|
it('does not shut down the server when stop(false) is called', async () => {
|
|
const app = new Elysia()
|
|
app.get('/health', 'hi')
|
|
|
|
const port = 8081
|
|
const server = app.listen(port)
|
|
|
|
await fetch(`http://localhost:${port}/health`)
|
|
|
|
await server.stop(false)
|
|
|
|
// Check if the server is still running
|
|
try {
|
|
const response = await fetch(`http://localhost:${port}/health`)
|
|
expect(response.status).toBe(200)
|
|
expect(await response.text()).toBe('hi')
|
|
} catch (error) {
|
|
throw new Error('Server unexpectedly shut down')
|
|
}
|
|
})
|
|
})
|