Skip to content

test: using e2e framework to test flagd via go-sdk-contrib flagd provider#1821

Closed
aepfli wants to merge 3 commits into
open-feature:mainfrom
open-feature-forking:feat/e2e_test_improvements
Closed

test: using e2e framework to test flagd via go-sdk-contrib flagd provider#1821
aepfli wants to merge 3 commits into
open-feature:mainfrom
open-feature-forking:feat/e2e_test_improvements

Conversation

@aepfli

@aepfli aepfli commented Oct 31, 2025

Copy link
Copy Markdown
Member

@netlify

netlify Bot commented Oct 31, 2025

Copy link
Copy Markdown

Deploy Preview for polite-licorice-3db33c canceled.

Name Link
🔨 Latest commit 4d0169d
🔍 Latest deploy log https://app.netlify.com/projects/polite-licorice-3db33c/deploys/692868238944360008497d33

@aepfli aepfli force-pushed the feat/e2e_test_improvements branch 3 times, most recently from 0cbf23f to e168965 Compare October 31, 2025 16:41
…ider

Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
@aepfli aepfli force-pushed the feat/e2e_test_improvements branch from e168965 to 6106e2b Compare October 31, 2025 16:45
@aepfli

aepfli commented Nov 3, 2025

Copy link
Copy Markdown
Member Author

/gemini summary

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

This pull request introduces a substantial overhaul of the end-to-end testing infrastructure. The primary goal is to enhance the reliability and maintainability of tests for the flagd provider by adopting a container-based testbed. This change streamlines the test execution process and ensures consistent results across different environments.

Highlights

  • E2E Test Framework Migration: The end-to-end testing framework has been refactored to utilize a new testbed approach, moving away from previous test implementations.
  • Containerized Test Setup: Tests now leverage testcontainers-go for building and managing testbed images, enabling a more isolated and reproducible testing environment.
  • Dependency Updates: Go module dependencies have been significantly updated, including new additions like go-git/go-git/v5 and testcontainers/testcontainers-go, and version bumps for existing OpenFeature SDK components.
  • Test Refactoring: Old test files such as evaluation_test.go and json_evaluator_test.go have been removed, replaced by a unified integration_test.go that orchestrates RPC and in-process flag evaluation tests.
Changelog
  • test-harness
    • Updated subproject commit to 'bde8977a4fa2b59ba4359bcf902e9adf4555d085'.
  • test/integration/config/envoy.yaml
    • Removed Envoy configuration file, indicating a change in the test setup's networking or proxying strategy.
  • test/integration/evaluation_test.go
    • Removed the legacy evaluation test file.
  • test/integration/go.mod
    • Changed module name from 'tests.integration' to 'integration_test'.
    • Updated various Go module dependencies, including github.com/cucumber/godog, github.com/open-feature/go-sdk, and github.com/open-feature/go-sdk-contrib/providers/flagd.
    • Added new dependencies: github.com/go-git/go-git/v5 and github.com/testcontainers/testcontainers-go.
  • test/integration/go.sum
    • Updated checksums for Go module dependencies to reflect changes in go.mod.
  • test/integration/integration_test.go
    • Removed old TLS and certificate path flags.
    • Introduced getGitCommitNative and getPlatform helper functions.
    • Implemented TestMain for global test setup, including building flagd-testbed images.
    • Added setupFlagdTestbed, buildFlagdImage, and buildTestbedImage functions for Docker image management using testcontainers-go.
    • Introduced TestRPC and TestInProcess functions to run Gherkin tests against different flag resolution types, with specific tag filtering.
  • test/integration/json_evaluator_test.go
    • Removed the legacy JSON evaluator test file.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/build.yaml
Activity
  • A deploy preview for 'polite-licorice-3db33c' was canceled by netlify[bot].
  • SonarQube Cloud reported a 'Quality Gate failed' due to 1 Security Hotspot.
  • The author, aepfli, requested a summary of the pull request.

Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot

See analysis details on SonarQube Cloud

@toddbaert

toddbaert commented Nov 27, 2025

Copy link
Copy Markdown
Member

@aepfli there was a build issue with the SBOM, which I will look into tomorrow, but the release is still available: https://pkg.go.dev/github.com/open-feature/go-sdk-contrib/providers/flagd@v0.3.1/pkg

@toddbaert

Copy link
Copy Markdown
Member

@aepfli I think this can be closed now in favor of #1827, right?

@aepfli

aepfli commented Dec 13, 2025

Copy link
Copy Markdown
Member Author

Yes

@aepfli aepfli closed this Dec 13, 2025
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.

2 participants