Skip to content

test: Add an integration test to google gax for testing post quantum encryption#8891

Open
danieljbruce wants to merge 25 commits into
mainfrom
pqc-showcase-tests
Open

test: Add an integration test to google gax for testing post quantum encryption#8891
danieljbruce wants to merge 25 commits into
mainfrom
pqc-showcase-tests

Conversation

@danieljbruce

@danieljbruce danieljbruce commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Description

Adds an integration test for the Gapic clients that only passes for Node versions 22.20 and up as those versions of Node are the only ones that use a lattice based algorithm that is quantum safe. The integration test checks that the algorithm used for network traffic encryption is safe from quantum based decryption methods. It does this by setting up the showcase server with a certificate to tell the server to use the quantum safe algorithm and using the grpc echo client to call the server much like the other test-application tests do.

As an added bonus to using the test in test-application, the test also is run in a new jest framework that we plan on integrating into our clients.

Impact

Ensures Gapic library traffic is safe from decryption after further advances in quantum computing technology.

Testing

You can run the test in isolation from the test-application directory with npm run test.

The test fails for Node versions below 22.20 and passes for 22.20+ versions.

You can also run npm run test-application from the gax directory to run the tests.

google-labs-jules Bot and others added 18 commits July 14, 2026 14:25
Adds gRPC and HTTP/REST Fallback post quantum cryptography safe integration tests to the test-application package.
Configures ShowcaseServer to support TLS, specific ports, and CA certificate output files.
Asserts that X25519MLKEM768 is correctly negotiated.

Co-authored-by: danieljbruce <8935272+danieljbruce@users.noreply.github.com>
Adds gRPC and HTTP/REST Fallback post quantum cryptography safe integration tests to the test-application package.
Configures ShowcaseServer to support TLS, specific ports, and CA certificate output files.
Asserts that X25519MLKEM768 is correctly negotiated.

Co-authored-by: danieljbruce <8935272+danieljbruce@users.noreply.github.com>

@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 introduces Post Quantum Cryptography (PQC) compliance tests, including updates to the ShowcaseServer to support TLS and custom port configurations. The review highlights the need to await the asynchronous runPqcComplianceTests call in the main test application, suggests avoiding global state mutation by removing process.chdir() in favor of specifying cwd in execa, and recommends removing an unnecessary as any type assertion in the PQC test implementation to improve type safety.

Comment thread core/packages/gax/test/test-application/src/index.ts Outdated
Comment thread core/packages/gax/test/showcase-server/src/index.ts Outdated
Comment thread core/packages/gax/test/test-application/src/pqc-test.ts Outdated
danieljbruce and others added 7 commits July 16, 2026 14:07
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@danieljbruce
danieljbruce marked this pull request as ready for review July 16, 2026 19:00
@danieljbruce
danieljbruce requested a review from a team as a code owner July 16, 2026 19:00
@danieljbruce
danieljbruce requested review from hongalex and suzmue July 17, 2026 15:38
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