tests: fixed some test types and fixed darwin support (#65722)
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`.
This commit is contained in:
parent
996a290afd
commit
edf8cc52fc
2 changed files with 31 additions and 35 deletions
|
@ -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
|
||||
|
||||
|
@ -93,7 +94,7 @@ describe('required server files app router', () => {
|
|||
/- Local:/,
|
||||
{
|
||||
...process.env,
|
||||
PORT: appPort,
|
||||
PORT: `${appPort}`,
|
||||
},
|
||||
undefined,
|
||||
{
|
||||
|
|
|
@ -12,6 +12,7 @@ import {
|
|||
initNextServerScript,
|
||||
killApp,
|
||||
renderViaHTTP,
|
||||
retry,
|
||||
waitFor,
|
||||
} from 'next-test-utils'
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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 () => {
|
||||
|
@ -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')
|
||||
|
||||
|
|
Loading…
Reference in a new issue