Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 11, 2025

What does this PR do?

Implements health check for Google Cloud Platform BigQuery service using the Google.Cloud.BigQuery.V2 package.

Implementation:

  • Health check uses ListDatasetsAsync().ReadPageAsync(1) - lightweight API call to verify service connectivity
  • Supports configurable timeout and keyed service injection patterns
  • Follows established patterns from GCP.Firestore and GCP.PubSub implementations

Project Structure:

  • src/NetEvolve.HealthChecks.GCP.BigQuery/ - Core implementation with options, configuration, and DI extensions
  • tests/NetEvolve.HealthChecks.Tests.Unit/GCP.BigQuery/ - 25 unit tests (options, configuration, DI registration)
  • tests/NetEvolve.HealthChecks.Tests.Integration/GCP.BigQuery/ - Integration tests with Testcontainers.BigQuery

Usage:

// Configuration-based
services.AddHealthChecks()
    .AddBigQuery("my-check");

// Builder-based with options
services.AddHealthChecks()
    .AddBigQuery("my-check", options => 
    {
        options.Timeout = 5000;
        options.KeyedService = "bigquery-instance";
    });

Why is it important?

Enables monitoring of BigQuery service availability in applications using the established NetEvolve.HealthChecks framework. Completes GCP service coverage alongside existing Firestore and PubSub health checks.

Related issues

  • Closes #[issue number from problem statement]

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 172.19.0.1
  • 172.20.0.1
  • analytics.localstack.cloud
  • api.localstack.cloud
  • assets.localstack.cloud
  • localhost.localstack.cloud
  • s3.localhost.localstack.cloud
  • sbsfe.0
    • Triggering command: /Eventhubs_Emulator/Microsoft.Cloud.EventHub.Emulator.Host dotnet Microsoft.Cloud.EventHub.Emulator.Host.dll (dns block)
  • westus-0.in.applicationinsights.azure.com
    • Triggering command: /home/REDACTED/work/healthchecks/healthchecks/tests/NetEvolve.HealthChecks.Tests.Integration/bin/Debug/net9.0/NetEvolve.HealthChecks.Tests.Integration --internal-msbuild-node /tmp/2c86b272c1724bf6bb152d276eda8108 (dns block)
    • Triggering command: /home/REDACTED/work/healthchecks/healthchecks/tests/NetEvolve.HealthChecks.Tests.Integration/bin/Debug/net8.0/NetEvolve.HealthChecks.Tests.Integration --internal-msbuild-node /tmp/b8363fc957124797afb97b024525fc20 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>NetEvolve.HealthChecks.GCP.BigQuery</issue_title>
<issue_description>### Project Name

GCP.BigQuery

Project Description

Contains HealthChecks for GCP.BigQuery, based on the nuget package Google.Cloud.BigQuery.V2.

TestContainer Package Required?

Yes

TestContainer Package Name

Testcontainers.BigQuery

Required NuGet Dependencies

Google.Cloud.BigQuery.V2

Validation Steps

  • Create project structure in src/NetEvolve.HealthChecks.<ProjectName>/
  • Add project to solution (dotnet sln HealthChecks.slnx add)
  • Add project reference to Test projects
  • Add required NuGet packages to Directory.Packages.props
  • Follow naming conventions from ADR decisions
  • Create README.md based on other projects
  • Create unit test folder in tests/NetEvolve.HealthChecks.Tests.Unit/<ProjectName>/
  • Create integration test folder in tests/NetEvolve.HealthChecks.Tests.Integration/<ProjectName>/
  • Add project reference to the solution file
  • Add project reference to existing test projects
  • Add TestContainer package if specified
  • Restore NuGet packages (dotnet restore HealthChecks.slnx)
  • Build the solution (dotnet build HealthChecks.slnx --no-restore)
  • Run tests for the new project (dotnet test HealthChecks.slnx --no-build)
  • Verify all tests pass successfully (>80% coverage recommended)
  • Comment on issue with build/test results
  • Create pull request linking to this issue

Additional Notes

Add to meta package NetEvolve.HealthChecks.GCP</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Add HealthChecks for GCP.BigQuery project Add NetEvolve.HealthChecks.GCP.BigQuery Nov 11, 2025
Copilot finished work on behalf of samtrion November 11, 2025 06:11
Copilot AI requested a review from samtrion November 11, 2025 06:11
@samtrion samtrion added the type:feature Indicates a new feature or enhancement to be added. label Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature Indicates a new feature or enhancement to be added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NetEvolve.HealthChecks.GCP.BigQuery

2 participants