From 8795c5823514e49f36d2a84a2c61e60f07927472 Mon Sep 17 00:00:00 2001 From: webzwo0i Date: Wed, 23 Dec 2020 17:34:26 +0100 Subject: [PATCH] test missing files and missing jsonp callbacks, currently failing --- tests/backend/specs/caching_middleware.js | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/backend/specs/caching_middleware.js b/tests/backend/specs/caching_middleware.js index 081484047..c032c93bf 100644 --- a/tests/backend/specs/caching_middleware.js +++ b/tests/backend/specs/caching_middleware.js @@ -129,6 +129,30 @@ describe(__filename, function () { })); }); + it('should 200 for unknown resources with jsonp callback', async function() { + const missingResource = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner2.js?callback=require.define'; + const expectedResource = "require.define({\n \"ep_etherpad-lite/static/js/ace2_inner2.js\": null\n});\n"; + await agent.get(missingResource) + .then((res) => { + assert.equal(expectedResource, res.text); + assert.equal(res.statusCode, 200); + }); + }); + + // TODO should probably be 404 + it('should 502 for unknown and known resources without jsonp callback', async function() { + const missingCallbackUnknownFile = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner2.js'; + const missingCallbackKnownFile = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js'; + await agent.get(missingCallbackUnknownFile) + .then((res) => { + assert.equal(res.statusCode, 502); + }); + await agent.get(missingCallbackKnownFile) + .then((res) => { + assert.equal(res.statusCode, 502); + }); + }); + context('expiration', function(){ it('has date, last-modified and expires header', async function() { await Promise.all(packages.map(async (resource) => await agent.get(resource) @@ -238,6 +262,30 @@ describe(__filename, function () { })); }); + it('should 200 for unknown resources with jsonp callback', async function() { + const missingResource = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner2.js?callback=require.define'; + const expectedResource = "require.define({\n \"ep_etherpad-lite/static/js/ace2_inner2.js\": null\n});\n"; + await agent.get(missingResource) + .then((res) => { + assert.equal(expectedResource, res.text); + assert.equal(res.statusCode, 200); + }); + }); + + // TODO should probably be 404 + it('should 502 for unknown and known resources without jsonp callback', async function() { + const missingCallbackUnknownFile = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner2.js'; + const missingCallbackKnownFile = '/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js'; + await agent.get(missingCallbackUnknownFile) + .then((res) => { + assert.equal(res.statusCode, 502); + }); + await agent.get(missingCallbackKnownFile) + .then((res) => { + assert.equal(res.statusCode, 502); + }); + }); + context('expiration', function(){ it('has date, last-modified and expires header', async function() { await Promise.all(packages.map(async (resource) => await agent.get(resource)