Skip to content

Commit 8634ea8

Browse files
committed
test: update unit tests
1 parent 5a7aeb1 commit 8634ea8

File tree

1 file changed

+42
-18
lines changed

1 file changed

+42
-18
lines changed

src/run/headers.test.ts

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ describe('headers', () => {
193193

194194
describe('setCacheControlHeaders', () => {
195195
const defaultUrl = 'https://example.com'
196+
const defaultStatus = 200
196197

197198
describe('route handler responses with a specified `revalidate` value', () => {
198199
test('should not set any headers if "cdn-cache-control" is present', () => {
@@ -204,7 +205,7 @@ describe('headers', () => {
204205
vi.spyOn(headers, 'set')
205206

206207
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
207-
setCacheControlHeaders(headers, request, ctx)
208+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
208209

209210
expect(headers.set).toHaveBeenCalledTimes(0)
210211
})
@@ -218,7 +219,7 @@ describe('headers', () => {
218219
vi.spyOn(headers, 'set')
219220

220221
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
221-
setCacheControlHeaders(headers, request, ctx)
222+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
222223

223224
expect(headers.set).toHaveBeenCalledTimes(0)
224225
})
@@ -232,7 +233,7 @@ describe('headers', () => {
232233
vi.spyOn(headers, 'set')
233234

234235
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
235-
setCacheControlHeaders(headers, request, ctx)
236+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
236237

237238
expect(headers.set).toHaveBeenCalledTimes(1)
238239
expect(headers.set).toHaveBeenNthCalledWith(
@@ -251,7 +252,7 @@ describe('headers', () => {
251252
vi.spyOn(headers, 'set')
252253

253254
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
254-
setCacheControlHeaders(headers, request, ctx)
255+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
255256

256257
expect(headers.set).toHaveBeenCalledTimes(1)
257258
expect(headers.set).toHaveBeenNthCalledWith(
@@ -267,7 +268,7 @@ describe('headers', () => {
267268
vi.spyOn(headers, 'set')
268269

269270
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
270-
setCacheControlHeaders(headers, request, ctx)
271+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
271272

272273
expect(headers.set).toHaveBeenCalledTimes(1)
273274
expect(headers.set).toHaveBeenNthCalledWith(
@@ -283,7 +284,7 @@ describe('headers', () => {
283284
vi.spyOn(headers, 'set')
284285

285286
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: 7200 }
286-
setCacheControlHeaders(headers, request, ctx)
287+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
287288

288289
expect(headers.set).toHaveBeenCalledTimes(1)
289290
expect(headers.set).toHaveBeenNthCalledWith(
@@ -299,7 +300,7 @@ describe('headers', () => {
299300
vi.spyOn(headers, 'set')
300301

301302
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: 7200 }
302-
setCacheControlHeaders(headers, request, ctx)
303+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
303304

304305
expect(headers.set).toHaveBeenCalledTimes(1)
305306
expect(headers.set).toHaveBeenNthCalledWith(
@@ -315,7 +316,7 @@ describe('headers', () => {
315316
vi.spyOn(headers, 'set')
316317

317318
const ctx: RequestContext = { ...createRequestContext(), routeHandlerRevalidate: false }
318-
setCacheControlHeaders(headers, request, ctx)
319+
setCacheControlHeaders(headers, defaultStatus, request, ctx)
319320

320321
expect(headers.set).toHaveBeenCalledTimes(0)
321322
})
@@ -326,7 +327,7 @@ describe('headers', () => {
326327
const request = new Request(defaultUrl)
327328
vi.spyOn(headers, 'set')
328329

329-
setCacheControlHeaders(headers, request, createRequestContext())
330+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
330331

331332
expect(headers.set).toHaveBeenCalledTimes(0)
332333
})
@@ -339,7 +340,30 @@ describe('headers', () => {
339340
const requestContext = createRequestContext()
340341
requestContext.usedFsRead = true
341342

342-
setCacheControlHeaders(headers, request, requestContext, true)
343+
setCacheControlHeaders(headers, defaultStatus, request, requestContext)
344+
345+
expect(headers.set).toHaveBeenNthCalledWith(
346+
1,
347+
'cache-control',
348+
'public, max-age=0, must-revalidate',
349+
)
350+
expect(headers.set).toHaveBeenNthCalledWith(
351+
2,
352+
'netlify-cdn-cache-control',
353+
'max-age=31536000, durable',
354+
)
355+
})
356+
357+
test('should set permanent, durable "netlify-cdn-cache-control" if 404 response for URl ending in .php', () => {
358+
const headers = new Headers()
359+
const request = new Request('https://example.com/admin.php')
360+
const status = 404
361+
vi.spyOn(headers, 'set')
362+
363+
const requestContext = createRequestContext()
364+
requestContext.usedFsRead = true
365+
366+
setCacheControlHeaders(headers, status, request, requestContext)
343367

344368
expect(headers.set).toHaveBeenNthCalledWith(
345369
1,
@@ -362,7 +386,7 @@ describe('headers', () => {
362386
const request = new Request(defaultUrl)
363387
vi.spyOn(headers, 'set')
364388

365-
setCacheControlHeaders(headers, request, createRequestContext())
389+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
366390

367391
expect(headers.set).toHaveBeenCalledTimes(0)
368392
})
@@ -376,7 +400,7 @@ describe('headers', () => {
376400
const request = new Request(defaultUrl)
377401
vi.spyOn(headers, 'set')
378402

379-
setCacheControlHeaders(headers, request, createRequestContext())
403+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
380404

381405
expect(headers.set).toHaveBeenCalledTimes(0)
382406
})
@@ -389,7 +413,7 @@ describe('headers', () => {
389413
const request = new Request(defaultUrl)
390414
vi.spyOn(headers, 'set')
391415

392-
setCacheControlHeaders(headers, request, createRequestContext())
416+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
393417

394418
expect(headers.set).toHaveBeenNthCalledWith(
395419
1,
@@ -411,7 +435,7 @@ describe('headers', () => {
411435
const request = new Request(defaultUrl, { method: 'HEAD' })
412436
vi.spyOn(headers, 'set')
413437

414-
setCacheControlHeaders(headers, request, createRequestContext())
438+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
415439

416440
expect(headers.set).toHaveBeenNthCalledWith(
417441
1,
@@ -433,7 +457,7 @@ describe('headers', () => {
433457
const request = new Request(defaultUrl, { method: 'POST' })
434458
vi.spyOn(headers, 'set')
435459

436-
setCacheControlHeaders(headers, request, createRequestContext())
460+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
437461

438462
expect(headers.set).toHaveBeenCalledTimes(0)
439463
})
@@ -446,7 +470,7 @@ describe('headers', () => {
446470
const request = new Request(defaultUrl)
447471
vi.spyOn(headers, 'set')
448472

449-
setCacheControlHeaders(headers, request, createRequestContext())
473+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
450474

451475
expect(headers.set).toHaveBeenNthCalledWith(1, 'cache-control', 'public')
452476
expect(headers.set).toHaveBeenNthCalledWith(
@@ -464,7 +488,7 @@ describe('headers', () => {
464488
const request = new Request(defaultUrl)
465489
vi.spyOn(headers, 'set')
466490

467-
setCacheControlHeaders(headers, request, createRequestContext())
491+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
468492

469493
expect(headers.set).toHaveBeenNthCalledWith(1, 'cache-control', 'max-age=604800')
470494
expect(headers.set).toHaveBeenNthCalledWith(
@@ -482,7 +506,7 @@ describe('headers', () => {
482506
const request = new Request(defaultUrl)
483507
vi.spyOn(headers, 'set')
484508

485-
setCacheControlHeaders(headers, request, createRequestContext())
509+
setCacheControlHeaders(headers, defaultStatus, request, createRequestContext())
486510

487511
expect(headers.set).toHaveBeenNthCalledWith(
488512
1,

0 commit comments

Comments
 (0)