Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: replace got with node-fetch on functions-invoke.test.ts #6232

Merged
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import got from 'got'
import fetch from 'node-fetch'
import { describe, expect, test } from 'vitest'

import { FixtureTestContext, setupFixtureTests } from '../../utils/fixture.js'
Expand Down Expand Up @@ -39,26 +39,25 @@ describe('functions:invoke command', () => {
)

test.concurrent<FixtureTestContext>('should serve helpful tips and tricks', async ({ devServer, fixture }) => {
const plainTextResponse = await got(`http://localhost:${devServer.port}/.netlify/functions/scheduled-isc-body`, {
throwHttpErrors: false,
retry: { limit: 0 },
})
const textResponse = await fetch(`http://localhost:${devServer.port}/.netlify/functions/scheduled-isc-body`, {})

const bodyPlainTextResponse = await textResponse.text()

const youReturnedBodyRegex = /.*Your function returned `body`. Is this an accident\?.*/
expect(plainTextResponse.body).toMatch(youReturnedBodyRegex)
expect(plainTextResponse.body).toMatch(/.*You performed an HTTP request.*/)
expect(plainTextResponse.statusCode).toBe(200)
expect(bodyPlainTextResponse).toMatch(youReturnedBodyRegex)
expect(bodyPlainTextResponse).toMatch(/.*You performed an HTTP request.*/)
expect(textResponse.status).toBe(200)

const htmlResponse = await got(`http://localhost:${devServer.port}/.netlify/functions/scheduled-isc-body`, {
throwHttpErrors: false,
retry: { limit: 0 },
const htmlResponse = await fetch(`http://localhost:${devServer.port}/.netlify/functions/scheduled-isc-body`, {
headers: {
accept: 'text/html',
},
})

expect(htmlResponse.body).toMatch(/.*<link.*/)
expect(htmlResponse.statusCode).toBe(200)
const BodyHtmlResponse = await htmlResponse.text()

expect(BodyHtmlResponse).toMatch(/.*<link.*/)
expect(htmlResponse.status).toBe(200)

const stdout = await fixture.callCli([
'functions:invoke',
Expand Down
Loading