GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-nodejs
Feature request: allow overriding `ignoredRoutes` in `getTestServer()`
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 181
- PR merge metrics
- No merged PRs in 30d
Description
`getTestServer()` hard-codes `ignoredRoutes: null`, which re-enables the default `/favicon.ico` and `/robots.txt` 404 short-circuit for HTTP functions. There's no way for a test to reproduce a production deployment that disables it via `--ignored-routes ""`, so functions that legitimately serve those paths can't be tested through `getTestServer()`.
Proposal: accept an optional options bag that overrides the `getServer` options (starting with `ignoredRoutes`), defaulting to today's behavior:
```ts
const server = getTestServer('myFn', {ignoredRoutes: ''});
```
Backward compatible since the parameter is optional. `ignoredRoutes` is the immediate need; a general options bag would also cover `timeoutMilliseconds` etc.
Version: `@google-cloud/functions-framework` 5.0.5.
Contributor guide
Research direction
Locate the getTestServer() entry point and inspect how it calls getServer(), focusing on the hard-coded ignoredRoutes option. Add the optional options bag described in the issue, preserve today’s default behavior, and verify that ignoredRoutes can be overridden while existing calls remain compatible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- backend, testing
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100