Skip to content

Commit 2782f43

Browse files
committed
test fixes
1 parent bfacdf8 commit 2782f43

File tree

5 files changed

+47
-45
lines changed

5 files changed

+47
-45
lines changed

tests/e2e/edge-middleware.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ type ExtendedFixtures = {
1616
edgeOrNodeMiddlewareStaticAssetMatcher: Fixture
1717
}
1818

19+
console.log({ hasNodeMiddlewareSupport: hasNodeMiddlewareSupport() })
20+
1921
for (const { expectedRuntime, label, testWithSwitchableMiddlewareRuntime } of [
2022
{
2123
expectedRuntime: 'edge-runtime',
@@ -124,8 +126,6 @@ for (const { expectedRuntime, label, testWithSwitchableMiddlewareRuntime } of [
124126

125127
const h1 = page.locator('h1')
126128
await expect(h1).toHaveText('Other')
127-
128-
expect(await res?.headerValue('x-runtime')).toEqual(expectedRuntime)
129129
})
130130

131131
test('Does not run middleware at the origin', async ({ page, edgeOrNodeMiddleware }) => {

tests/fixtures/middleware-i18n-skip-normalize/middleware-shared.ts

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ export async function middleware(request: NextRequest) {
1010
// @ts-expect-error EdgeRuntime global not declared
1111
response.headers.append('x-runtime', typeof EdgeRuntime !== 'undefined' ? EdgeRuntime : 'node')
1212
response.headers.set('x-hello-from-middleware-res', 'hello')
13+
14+
return response
1315
}
1416
}
1517

@@ -23,75 +25,75 @@ const getResponse = (request: NextRequest) => {
2325

2426
if (url.pathname === '/old-home') {
2527
if (url.searchParams.get('override') === 'external') {
26-
return Response.redirect('https://example.vercel.sh')
28+
return NextResponse.redirect('https://example.vercel.sh')
2729
} else {
2830
url.pathname = '/new-home'
29-
return Response.redirect(url)
31+
return NextResponse.redirect(url)
3032
}
3133
}
3234

3335
if (url.searchParams.get('foo') === 'bar') {
3436
url.pathname = '/new-home'
3537
url.searchParams.delete('foo')
36-
return Response.redirect(url)
38+
return NextResponse.redirect(url)
3739
}
3840

3941
// Chained redirects
4042
if (url.pathname === '/redirect-me-alot') {
4143
url.pathname = '/redirect-me-alot-2'
42-
return Response.redirect(url)
44+
return NextResponse.redirect(url)
4345
}
4446

4547
if (url.pathname === '/redirect-me-alot-2') {
4648
url.pathname = '/redirect-me-alot-3'
47-
return Response.redirect(url)
49+
return NextResponse.redirect(url)
4850
}
4951

5052
if (url.pathname === '/redirect-me-alot-3') {
5153
url.pathname = '/redirect-me-alot-4'
52-
return Response.redirect(url)
54+
return NextResponse.redirect(url)
5355
}
5456

5557
if (url.pathname === '/redirect-me-alot-4') {
5658
url.pathname = '/redirect-me-alot-5'
57-
return Response.redirect(url)
59+
return NextResponse.redirect(url)
5860
}
5961

6062
if (url.pathname === '/redirect-me-alot-5') {
6163
url.pathname = '/redirect-me-alot-6'
62-
return Response.redirect(url)
64+
return NextResponse.redirect(url)
6365
}
6466

6567
if (url.pathname === '/redirect-me-alot-6') {
6668
url.pathname = '/redirect-me-alot-7'
67-
return Response.redirect(url)
69+
return NextResponse.redirect(url)
6870
}
6971

7072
if (url.pathname === '/redirect-me-alot-7') {
7173
url.pathname = '/new-home'
72-
return Response.redirect(url)
74+
return NextResponse.redirect(url)
7375
}
7476

7577
// Infinite loop
7678
if (url.pathname === '/infinite-loop') {
7779
url.pathname = '/infinite-loop-1'
78-
return Response.redirect(url)
80+
return NextResponse.redirect(url)
7981
}
8082

8183
if (url.pathname === '/infinite-loop-1') {
8284
url.pathname = '/infinite-loop'
83-
return Response.redirect(url)
85+
return NextResponse.redirect(url)
8486
}
8587

8688
if (url.pathname === '/to') {
8789
url.pathname = url.searchParams.get('pathname')
8890
url.searchParams.delete('pathname')
89-
return Response.redirect(url)
91+
return NextResponse.redirect(url)
9092
}
9193

9294
if (url.pathname === '/with-fragment') {
9395
console.log(String(new URL('/new-home#fragment', url)))
94-
return Response.redirect(new URL('/new-home#fragment', url))
96+
return NextResponse.redirect(new URL('/new-home#fragment', url))
9597
}
9698

9799
if (url.pathname.includes('/json')) {

tests/fixtures/middleware-i18n/middleware-shared.ts

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@ import { NextResponse } from 'next/server'
44
export async function middleware(request: NextRequest) {
55
const response = getResponse(request)
66

7-
if (response) {
8-
response.headers.append('Deno' in globalThis ? 'x-deno' : 'x-node', Date.now().toString())
9-
// report Next.js Middleware Runtime (not the execution runtime, but target runtime)
10-
// @ts-expect-error EdgeRuntime global not declared
11-
response.headers.append('x-runtime', typeof EdgeRuntime !== 'undefined' ? EdgeRuntime : 'node')
12-
response.headers.set('x-hello-from-middleware-res', 'hello')
7+
response.headers.set('Deno' in globalThis ? 'x-deno' : 'x-node', Date.now().toString())
8+
// report Next.js Middleware Runtime (not the execution runtime, but target runtime)
9+
// @ts-expect-error EdgeRuntime global not declared
10+
response.headers.set('x-runtime', typeof EdgeRuntime !== 'undefined' ? EdgeRuntime : 'node')
11+
response.headers.set('x-hello-from-middleware-res', 'hello')
1312

14-
return response
15-
}
13+
return response
1614
}
1715

1816
const getResponse = (request: NextRequest) => {
@@ -45,88 +43,89 @@ const getResponse = (request: NextRequest) => {
4543

4644
if (url.pathname === '/old-home') {
4745
if (url.searchParams.get('override') === 'external') {
48-
return Response.redirect('https://example.vercel.sh')
46+
return NextResponse.redirect('https://example.vercel.sh')
4947
} else {
5048
url.pathname = '/new-home'
51-
return Response.redirect(url)
49+
return NextResponse.redirect(url)
5250
}
5351
}
5452

5553
if (url.searchParams.get('foo') === 'bar') {
5654
url.pathname = '/new-home'
5755
url.searchParams.delete('foo')
58-
return Response.redirect(url)
56+
return NextResponse.redirect(url)
5957
}
6058

6159
// Chained redirects
6260
if (url.pathname === '/redirect-me-alot') {
6361
url.pathname = '/redirect-me-alot-2'
64-
return Response.redirect(url)
62+
return NextResponse.redirect(url)
6563
}
6664

6765
if (url.pathname === '/redirect-me-alot-2') {
6866
url.pathname = '/redirect-me-alot-3'
69-
return Response.redirect(url)
67+
return NextResponse.redirect(url)
7068
}
7169

7270
if (url.pathname === '/redirect-me-alot-3') {
7371
url.pathname = '/redirect-me-alot-4'
74-
return Response.redirect(url)
72+
return NextResponse.redirect(url)
7573
}
7674

7775
if (url.pathname === '/redirect-me-alot-4') {
7876
url.pathname = '/redirect-me-alot-5'
79-
return Response.redirect(url)
77+
return NextResponse.redirect(url)
8078
}
8179

8280
if (url.pathname === '/redirect-me-alot-5') {
8381
url.pathname = '/redirect-me-alot-6'
84-
return Response.redirect(url)
82+
return NextResponse.redirect(url)
8583
}
8684

8785
if (url.pathname === '/redirect-me-alot-6') {
8886
url.pathname = '/redirect-me-alot-7'
89-
return Response.redirect(url)
87+
return NextResponse.redirect(url)
9088
}
9189

9290
if (url.pathname === '/redirect-me-alot-7') {
9391
url.pathname = '/new-home'
94-
return Response.redirect(url)
92+
return NextResponse.redirect(url)
9593
}
9694

9795
// Infinite loop
9896
if (url.pathname === '/infinite-loop') {
9997
url.pathname = '/infinite-loop-1'
100-
return Response.redirect(url)
98+
return NextResponse.redirect(url)
10199
}
102100

103101
if (url.pathname === '/infinite-loop-1') {
104102
url.pathname = '/infinite-loop'
105-
return Response.redirect(url)
103+
return NextResponse.redirect(url)
106104
}
107105

108106
if (url.pathname === '/to') {
109107
url.pathname = url.searchParams.get('pathname')
110108
url.searchParams.delete('pathname')
111-
return Response.redirect(url)
109+
return NextResponse.redirect(url)
112110
}
113111

114112
if (url.pathname === '/with-fragment') {
115113
console.log(String(new URL('/new-home#fragment', url)))
116-
return Response.redirect(new URL('/new-home#fragment', url))
114+
return NextResponse.redirect(new URL('/new-home#fragment', url))
117115
}
118116

119117
if (url.locale !== 'en' && url.pathname === '/redirect-to-same-page-but-default-locale') {
120118
url.locale = 'en'
121-
return Response.redirect(url)
119+
return NextResponse.redirect(url)
122120
}
123121

124122
if (url.pathname.includes('/json')) {
125-
console.error('[middleware] hitting json stuff')
126123
return NextResponse.json({
127124
requestUrlPathname: new URL(request.url).pathname,
128125
nextUrlPathname: request.nextUrl.pathname,
129126
nextUrlLocale: request.nextUrl.locale,
130127
})
131128
}
129+
130+
return NextResponse.next()
132131
}

tests/fixtures/middleware/middleware-shared.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ export const { runWithAmplifyServerContext } = createServerRunner({
99
export async function middleware(request: NextRequest) {
1010
const response = getResponse(request)
1111

12-
response.headers.append('Deno' in globalThis ? 'x-deno' : 'x-node', Date.now().toString())
12+
response.headers.set('Deno' in globalThis ? 'x-deno' : 'x-node', Date.now().toString())
1313
// report Next.js Middleware Runtime (not the execution runtime, but target runtime)
14-
response.headers.append('x-runtime', typeof EdgeRuntime !== 'undefined' ? EdgeRuntime : 'node')
14+
// @ts-expect-error EdgeRuntime global not declared
15+
response.headers.set('x-runtime', typeof EdgeRuntime !== 'undefined' ? EdgeRuntime : 'node')
1516
response.headers.set('x-hello-from-middleware-res', 'hello')
1617

1718
await runWithAmplifyServerContext({

tests/integration/edge-handler.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ for (const {
216216

217217
expect(await response.text()).toBe('')
218218

219-
expect(response.status).toBe(302)
219+
expect(response.status).toBe(307)
220220
expect(response.headers.get('location')).toBe('http://example.com/redirected')
221221
expect(response.headers.get('x-runtime')).toEqual(expectedRuntime)
222222
})
@@ -555,7 +555,7 @@ for (const {
555555
})
556556
const url = new URL(response.headers.get('location') ?? '', 'http://n/')
557557
expect(url.pathname).toBe('/fr/new-home')
558-
expect(response.status).toBe(302)
558+
expect(response.status).toBe(307)
559559
expect(response.headers.get('x-runtime')).toEqual(expectedRuntime)
560560
})
561561

@@ -580,7 +580,7 @@ for (const {
580580
})
581581
const url = new URL(response.headers.get('location') ?? '', 'http://n/')
582582
expect(url.pathname).toBe('/redirect-to-same-page-but-default-locale')
583-
expect(response.status).toBe(302)
583+
expect(response.status).toBe(307)
584584
expect(response.headers.get('x-runtime')).toEqual(expectedRuntime)
585585
})
586586

0 commit comments

Comments
 (0)