render a slim 404 message on /api/* (#31818)

This commit is contained in:
Peter Bengtsson 2022-10-18 19:19:06 +02:00 коммит произвёл GitHub
Родитель b1610289b2
Коммит bf870f2960
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 23 добавлений и 0 удалений

Просмотреть файл

@ -37,4 +37,8 @@ if (process.env.ELASTICSEARCH_URL) {
)
}
router.get('*', (req, res, next) => {
res.status(404).json({ error: `${req.path} not found` })
})
export default router

19
tests/rendering/api.js Normal file
Просмотреть файл

@ -0,0 +1,19 @@
import { expect, jest, test } from '@jest/globals'
import { get } from '../helpers/e2etest.js'
describe('general /api pages', () => {
jest.setTimeout(60 * 1000)
test("any /api URL that isn't found should JSON", async () => {
const res = await get('/api')
expect(res.statusCode).toBe(404)
expect(res.headers['content-type']).toMatch(/application\/json/)
})
test("any /api/* URL that isn't found should be JSON", async () => {
const res = await get('/api/yadayada')
expect(res.statusCode).toBe(404)
expect(JSON.parse(res.text).error).toBe('/yadayada not found')
})
})