134c33cef5
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
26 lines
773 B
JavaScript
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'));
|
|
});
|
|
});
|