Ghost/ghost/core/test/e2e-frontend/static-files.test.js
Daniel Lockyer 134c33cef5
🐛 Fixed missing source + resized images producing rendered 404 (#19869)
fixes https://linear.app/tryghost/issue/ENG-746/http-500-responses-when-handle-image-sizes-middleware-hits-missing

- in the event a request comes in for a resized image, but the source
image does not exist, we return a rendered 404 page
- we do this because we pass the NotFoundError to `next`, which skips
over the static asset code where we return a plaintext 404
- also included a breaking test that ensure we go to the next middleware
without an error
2024-03-18 18:32:10 +01:00

26 lines
773 B
JavaScript

const assert = require('assert/strict');
const {agentProvider} = require('../utils/e2e-framework');
describe('Static files', function () {
let frontendAgent;
let ghostServer;
before(async function () {
const agents = await agentProvider.getAgentsWithFrontend();
frontendAgent = agents.frontendAgent;
ghostServer = agents.ghostServer;
});
after(async function () {
await ghostServer.stop();
});
it('serves unstyled 404 for non-existing resized + original files', async function () {
const response = await frontendAgent
.get('/content/images/size/w2000/1995/12/daniel.jpg')
.expect(404);
assert.ok(response.text.includes('NotFoundError: Image not found'));
});
});