Skip to content

test: remove --proxyquire-shim from logging and pubsub packages - #9644

Draft
danieljbruce wants to merge 6 commits into
fix/remove-proxyquire-shim-core-dns-ds-bqfrom
fix/remove-proxyquire-shim-logging-pubsub
Draft

danieljbruce wants to merge 6 commits into
fix/remove-proxyquire-shim-core-dns-ds-bqfrom
fix/remove-proxyquire-shim-logging-pubsub

Conversation

@danieljbruce

@danieljbruce danieljbruce commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Description

Replaces the global --proxyquire-shim in handwritten/logging, handwritten/logging-bunyan, handwritten/logging-winston, and handwritten/pubsub using the centralized proxyquire helper from google-test-utils (Path 1B).

Impact

Removes --proxyquire-shim from logging, logging-bunyan, logging-winston, and pubsub test scripts without duplicating per-package test/proxyquire.ts helpers.

Changes

Testing

  • Executed pnpm test under both Node.js and Bun (JS_RUNTIME=bun) in handwritten/logging, handwritten/logging-bunyan, handwritten/logging-winston, and handwritten/pubsub.
  • Verified strict lint and type checks pass via bin/linter.mjs --strict.

Alternatives

  • Per-package test/proxyquire.ts files (Path 1A) were replaced with the centralized google-test-utils helper (Path 1B) per review discussion in b/570091189.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request replaces the global proxyquire dependency with a custom local proxyquire.ts implementation across multiple packages (logging-bunyan, logging-winston, logging, and pubsub), updating the corresponding test scripts and imports. Feedback on the changes highlights two main areas of improvement: first, in the new proxyquire.ts files, wrapping individual property assignments in a try...catch block inside the loop would prevent the entire copy process from aborting if a single property assignment fails; second, across several test files, replacing the .then(noop, ...) promise rejection pattern with assert.rejects would make the tests more robust and prevent silent passes on unexpected promise resolutions.

Comment thread handwritten/logging-bunyan/test/proxyquire.ts Outdated
Comment thread handwritten/logging-winston/test/proxyquire.ts Outdated
Comment thread handwritten/logging/test/proxyquire.ts Outdated
Comment thread handwritten/pubsub/test/proxyquire.ts Outdated
Comment thread handwritten/logging/test/index.ts
Comment thread handwritten/logging/test/index.ts Outdated
Comment thread handwritten/logging/test/index.ts Outdated
Comment thread handwritten/logging/test/index.ts Outdated
Comment thread handwritten/logging/test/index.ts Outdated
Comment thread handwritten/logging/test/index.ts Outdated
@danieljbruce
danieljbruce added this pull request to stack #9647 October 15, 2026 21:18
@danieljbruce

Copy link
Copy Markdown
Contributor Author

This seems to just create a localized shim which is better and acceptable, but adjustments to the exact tests would likely be ideal.

danieljbruce added a commit that referenced this pull request Oct 20, 2026
…translate (#9642)

## Description

Replaces proxyquire with sinon and direct stubs across four packages.

## Impact

Removes --proxyquire-shim from gax, googleapis-common, error-reporting,
and translate unit tests.

## Changes

- **Part 1 of 5 in stacked PR series**: **#9642** -> #9643 -> #9644 ->
#9645 -> #9646 (b/570680750).
- `core/packages/gax`: Replace `proxyquire` in `test/unit/grpc.ts` with
`sinon.stub(fs, 'existsSync')` and remove `--proxyquire-shim` from
`package.json`.
- `core/packages/nodejs-googleapis-common`: Replace `proxyquire` in
`test/test.authplus.ts` and `test/test.http2.ts` with
`sinon.stub(auth.GoogleAuth.prototype, 'getClient')` and
`sinon.stub(coreHttp2, 'connect')`, and remove `--proxyquire-shim` from
`package.json`.
- `handwritten/error-reporting`: Stub
`util.makeAuthenticatedRequestFactory` and
`RequestHandler.prototype.request` directly in
`test/unit/google-apis/auth-client.ts` and remove `--proxyquire-shim`
from `package.json`.
- `packages/google-cloud-translate`: Intercept
`Module.prototype.require` directly in `test/index.ts` `before()` hook
and remove `--proxyquire-shim` from `package.json`.

## Testing

- Executed `pnpm test` under both Node.js and Bun (`JS_RUNTIME=bun`) in
`core/packages/gax`, `core/packages/nodejs-googleapis-common`,
`handwritten/error-reporting`, and `packages/google-cloud-translate`.
- Verified strict lint and type checks pass via `bin/linter.mjs
--strict`.

## Alternatives

- Not merging this pull request was considered, which would leave these
four packages dependent on the global `bin/proxyquire-bun-shim.cjs`
preload shim.
@danieljbruce
danieljbruce force-pushed the fix/remove-proxyquire-shim-logging-pubsub branch from 0e7ca7c to 3ab8240 Compare October 20, 2026 14:27

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant