Skip to content

Commit

Permalink
tests: fixed some test types and fixed darwin support (#65722)
Browse files Browse the repository at this point in the history
This fixes some tests so that they can run on macOS that previously had
some issues with IPv6 during testing as well as updated some of the
tests to use `retry` over `check`.
  • Loading branch information
wyattjoh authored Jun 10, 2024
1 parent 996a290 commit edf8cc5
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ import {
initNextServerScript,
killApp,
} from 'next-test-utils'
import { ChildProcess } from 'child_process'

describe('required server files app router', () => {
let next: NextInstance
let server
let appPort
let server: ChildProcess
let appPort: number | string
let delayedPostpone
let rewritePostpone

Expand Down Expand Up @@ -93,7 +94,7 @@ describe('required server files app router', () => {
/- Local:/,
{
...process.env,
PORT: appPort,
PORT: `${appPort}`,
},
undefined,
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
initNextServerScript,
killApp,
renderViaHTTP,
retry,
waitFor,
} from 'next-test-utils'

Expand Down Expand Up @@ -134,11 +135,21 @@ describe('required server files', () => {
},
}
)

if (process.platform === 'darwin') {
appPort = `http://127.0.0.1:${appPort}`
}
}

beforeAll(async () => {
await setupNext({ nextEnv: true, minimalMode: true })
})

beforeEach(() => {
errors = []
stderr = ''
})

afterAll(async () => {
await next.destroy()
if (server) await killApp(server)
Expand Down Expand Up @@ -958,60 +969,43 @@ describe('required server files', () => {
})

it('should bubble error correctly for gip page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gip', { crash: '1' })
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')

await check(
() =>
errors.join('\n').includes('gip hit an oops')
? 'success'
: errors.join('\n'),
'success'
)
await retry(() => {
expect(errors.join('\n')).toInclude('gip hit an oops')
})
})

it('should bubble error correctly for gssp page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gssp', { crash: '1' })
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('gssp hit an oops')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('gssp hit an oops')
})
})

it('should bubble error correctly for gsp page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/errors/gsp/crash')
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('gsp hit an oops')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('gsp hit an oops')
})
})

it('should bubble error correctly for API page', async () => {
errors = []
const res = await fetchViaHTTP(appPort, '/api/error')
expect(res.status).toBe(500)
expect(await res.text()).toBe('Internal Server Error')
await check(
() =>
errors.join('\n').includes('some error from /api/error')
? 'success'
: errors.join('\n'),
'success'
)

await retry(() => {
expect(errors.join('\n')).toInclude('some error from /api/error')
})
})

it('should normalize optional values correctly for SSP page', async () => {
Expand Down Expand Up @@ -1284,6 +1278,7 @@ describe('required server files', () => {
expect(envVariables.envFromHost).toBe('FOOBAR')
})

// FIXME: update to not mutate the global state
it('should run middleware correctly (without minimalMode, with wasm)', async () => {
const standaloneDir = join(next.testDir, 'standalone')

Expand Down

0 comments on commit edf8cc5

Please sign in to comment.