Skip to content

chore(tests): centralize integration and bdd suites#3064

Open
strantalis wants to merge 10 commits intoopentdf:mainfrom
strantalis:feat/centralized-tests
Open

chore(tests): centralize integration and bdd suites#3064
strantalis wants to merge 10 commits intoopentdf:mainfrom
strantalis:feat/centralized-tests

Conversation

@strantalis
Copy link
Member

Summary

  • move BDD and integration tests into root tests module for reuse
  • move service fixtures into lib/fixtures and wire provisioning
  • add centralized containers helper and docs/targets

Testing

  • make test (fails: service/rttests requires platform running)
  • make test-integration (passes with Colima envs)

@github-actions github-actions bot added comp:sdk A software development kit, including library, for client applications and inter-service communicati comp:lib:fixtures size/xl labels Feb 9, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @strantalis, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the project's testing infrastructure by centralizing all BDD and integration tests into a dedicated tests/ module. This move decouples testing concerns from core application logic, reduces redundant dependencies, and standardizes the approach to running comprehensive tests. It also streamlines fixture management and updates build processes and documentation to align with the new structure, enhancing maintainability and clarity for future development.

Highlights

  • Test Centralization: All BDD and integration tests have been consolidated into a new root-level tests/ module, moving them from tests-bdd/ and various sdk/ and service/ subdirectories. This change aims to reduce testcontainers dependency weight in core modules and streamline the testing setup.
  • Fixture Management Improvement: Service fixtures, previously located under service/internal/fixtures, have been moved to lib/fixtures. This module now includes embedded policy fixture data and updated loaders, simplifying their provisioning and reuse across the project.
  • Dependency Reduction: The testcontainers dependency has been removed from the sdk and service modules, centralizing container orchestration logic within the new tests/ module and its dedicated container helpers.
  • Build and Documentation Updates: The Makefile, Dockerfile, go.work file, and various README.md files have been updated to reflect the new tests/ module structure and introduce a new make test-integration target for running the consolidated tests.
  • Adaptive Token Buffer for Keycloak: The Keycloak token manager now features an adaptive token buffer, ensuring that the buffer time is appropriately scaled relative to the token's lifetime, preventing premature expiration issues.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • AGENTS.md
    • Updated references from tests-bdd/ to tests/ for BDD/integration tests.
  • Dockerfile
    • Updated COPY command to include the new tests/ directory instead of tests-bdd/.
  • Makefile
    • Added a new test-integration target to run tests within the tests/ module.
    • Updated the MODS variable to include tests instead of examples for test execution.
  • README.md
    • Updated testing guidelines to reflect the new tests/ directory for BDD tests.
    • Modified paths for integration tests and policy config testing diagrams to point to the tests/ directory.
    • Added new 'Testing' section with commands for unit/fast tests (make test) and integration/BDD tests (make test-integration).
  • adr/ai/2026-02-09-centralized-tests-module.md
    • Added new Architecture Decision Record documenting the decision to centralize containerized and BDD tests under a single tests/ module.
  • adr/decisions/2025-07-31-multi-strategy-entity-resolution-service.md
    • Updated integration test path from service/entityresolution/integration/ to tests/service/entityresolution/integration/.
  • docker-compose.yaml
    • Updated go test commands in comments to reflect the new tests/ directory for entity resolution integration tests.
    • Modified volume mounts for ers-postgres and ers-ldap services to use paths under tests/service/entityresolution/integration/.
  • go.work
    • Updated the use directive to include ./tests instead of ./tests-bdd.
  • lib/fixtures/README.md
    • Updated description to clarify that the module provides fixtures for tests and quickstart workflows across OpenTDF repositories.
  • lib/fixtures/db.go
    • Renamed from service/internal/fixtures/db.go.
  • lib/fixtures/fixtures.go
    • Renamed from service/internal/fixtures/fixtures.go.
    • Added _embed directive to embed policy_fixtures.yaml.
    • Introduced LoadFixtureDataFromDefault() to load embedded fixture data.
    • Refactored LoadFixtureData to use a common loadFixtureData helper.
  • lib/fixtures/go.mod
    • Updated Go version to 1.24.0.
    • Added direct dependencies: github.com/jackc/pgx/v5, github.com/opentdf/platform/protocol/go, github.com/opentdf/platform/service, go.opentelemetry.io/otel, gopkg.in/yaml.v2.
    • Removed indirect dependencies: github.com/davecgh/go-spew, github.com/go-resty/resty/v2, github.com/pmezard/go-difflib, github.com/stretchr/testify, golang.org/x/net, golang.org/x/time.
    • Added numerous new indirect dependencies for the newly included direct dependencies.
  • lib/fixtures/go.sum
    • Updated go.sum to reflect changes in go.mod.
  • lib/fixtures/keycloak_token_manager_test.go
    • Modified TestTokenManager_InitialLogin and TestTokenManager_CustomTokenBuffer to implement an adaptive token buffer, ensuring it's not larger than the token's lifetime divided by adaptiveBufferDivisor.
  • lib/fixtures/testdata/policy_fixtures.yaml
    • Renamed from service/internal/fixtures/policy_fixtures.yaml.
  • sdk/auth/oauth/oauth.go
    • Introduced a now variable to ensure consistency between iat (issued at) and exp (expiration) claims in DPoP assertions.
  • sdk/auth/oauth/token_expiration_test.go
    • Added a new test file to verify token expiration logic, specifically respecting the tokenExpirationBuffer.
  • sdk/go.mod
    • Removed direct dependencies: github.com/opentdf/platform/lib/fixtures and github.com/testcontainers/testcontainers-go.
    • Updated various indirect dependencies.
  • sdk/go.sum
    • Updated go.sum to reflect changes in go.mod.
  • service/cmd/provisionFixtures.go
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
    • Changed fixture loading to use fixtures.LoadFixtureDataFromDefault() instead of loading from a local file path.
  • service/entityresolution/README.md
    • Updated test commands and paths to reflect the new tests/service/entityresolution/integration location.
  • service/entityresolution/multi-strategy/README.md
    • Updated integration testing path to tests/service/entityresolution/integration.
  • service/go.mod
    • Removed direct dependencies: github.com/docker/docker, github.com/docker/go-connections, github.com/lib/pq, github.com/mattn/go-sqlite3, and github.com/testcontainers/testcontainers-go.
    • Updated various indirect dependencies.
  • service/go.sum
    • Updated go.sum to reflect changes in go.mod.
  • service/rttests/rt_test.go
    • Added net and time imports.
    • Introduced ensurePlatformUp function to check if the platform is reachable before running tests.
    • Integrated ensurePlatformUp into SetupSuite to fail early if the platform is not running.
  • tasks/ai/testing-migration-checklist.md
    • Added a new markdown file outlining the checklist for the testing migration, detailing completed workstreams for BDD, SDK OAuth, Service integration, ERS integration, Fixtures consolidation, and cleanup/wiring.
  • tests/README.md
    • Renamed from tests-bdd/README.md.
    • Updated references from tests-bdd to tests throughout the document.
  • tests/cukes/glue_platform.go
    • Renamed from tests-bdd/cukes/glue_platform.go.
    • Updated import path for cukes/utils.
    • Modified GetProjectDir function to handle the new tests directory name.
  • tests/cukes/resources/keycloak_base.template
    • Renamed from tests-bdd/cukes/resources/keycloak_base.template.
  • tests/cukes/resources/platform.template
    • Renamed from tests-bdd/cukes/resources/platform.template.
  • tests/cukes/resources/platform_compose.template
    • Renamed from tests-bdd/cukes/resources/platform_compose.template.
  • tests/cukes/steps_attributes.go
    • Renamed from tests-bdd/cukes/steps_attributes.go.
  • tests/cukes/steps_authorization.go
    • Renamed from tests-bdd/cukes/steps_authorization.go.
  • tests/cukes/steps_localplatform.go
    • Renamed from tests-bdd/cukes/steps_localplatform.go.
  • tests/cukes/steps_namespaces.go
    • Renamed from tests-bdd/cukes/steps_namespaces.go.
  • tests/cukes/steps_obligations.go
    • Renamed from tests-bdd/cukes/steps_obligations.go.
  • tests/cukes/steps_smoke.go
    • Renamed from tests-bdd/cukes/steps_smoke.go.
  • tests/cukes/steps_subjectmappings.go
    • Renamed from tests-bdd/cukes/steps_subjectmappings.go.
  • tests/cukes/utils/utils_genKeys.go
    • Renamed from tests-bdd/cukes/utils/utils_genKeys.go.
  • tests/features/example.feature
    • Renamed from tests-bdd/features/example.feature.
  • tests/features/obligations-basic.feature
    • Renamed from tests-bdd/features/obligations-basic.feature.
  • tests/features/obligations.feature
    • Renamed from tests-bdd/features/obligations.feature.
  • tests/features/smoke.feature
    • Renamed from tests-bdd/features/smoke.feature.
  • tests/go.mod
    • Renamed from tests-bdd/go.mod.
    • Updated module path to github.com/opentdf/platform/tests.
    • Updated Go version to 1.24.9 and toolchain to go1.24.11.
    • Added direct dependencies: connectrpc.com/connect, github.com/Nerzal/gocloak/v13, github.com/creasty/defaults, github.com/docker/docker, github.com/docker/go-connections, github.com/lestrrat-go/jwx/v2, github.com/lib/pq, github.com/mattn/go-sqlite3, github.com/opentdf/platform/lib/identifier, github.com/stretchr/testify, go.opentelemetry.io/otel/trace.
    • Updated github.com/opentdf/platform/lib/fixtures version to v0.4.0.
    • Updated github.com/opentdf/platform/sdk version to v0.12.0.
    • Updated github.com/opentdf/platform/service version to v0.12.0.
    • Updated github.com/testcontainers/testcontainers-go and github.com/testcontainers/testcontainers-go/modules/compose versions to v0.40.0.
    • Updated google.golang.org/protobuf version to v1.36.10.
    • Removed connectrpc.com/connect from indirect dependencies as it's now direct.
    • Updated various indirect dependencies.
  • tests/go.sum
    • Renamed from tests-bdd/go.sum.
    • Updated go.sum to reflect changes in go.mod.
  • tests/internal/containers/postgres.go
    • Added new file containing a helper function StartPostgres to spin up a PostgreSQL container for testing purposes.
  • tests/internal/containers/provider.go
    • Added new file containing a helper function ProviderType to determine the container provider (Docker or Podman) based on environment variables.
  • tests/platform_test.go
    • Renamed from tests-bdd/platform_test.go.
    • Updated import path for cukes.
  • tests/sdk/auth/oauth/oauth_test.go
    • Renamed from sdk/auth/oauth/oauth_test.go.
    • Changed package name to oauth_test to avoid import cycle with oauth package.
    • Removed os import as environment variable checks are now handled by tests/internal/containers/provider.go.
    • Updated references to ClientCredentials, CertExchangeInfo, TokenExchangeInfo, GetAccessToken, and DoCertExchange to be prefixed with oauth..
    • Updated setupKeycloak function to use containers.ProviderType() for determining the container provider.
  • tests/sdk/auth/oauth/testdata/localhost.crt
    • Renamed from sdk/auth/oauth/testdata/localhost.crt.
  • tests/sdk/auth/oauth/testdata/localhost.key
    • Renamed from sdk/auth/oauth/testdata/localhost.key.
  • tests/sdk/auth/oauth/testdata/new-ca.crt
    • Renamed from sdk/auth/oauth/testdata/new-ca.crt.
  • tests/sdk/auth/oauth/testdata/new-ca.key
    • Renamed from sdk/auth/oauth/testdata/new-ca.key.
  • tests/sdk/auth/oauth/testdata/sampleuser.crt
    • Renamed from sdk/auth/oauth/testdata/sampleuser.crt.
  • tests/sdk/auth/oauth/testdata/sampleuser.key
    • Renamed from sdk/auth/oauth/testdata/sampleuser.key.
  • tests/sdk/auth/oauth/testdata/sanX509.conf
    • Renamed from sdk/auth/oauth/testdata/sanX509.conf.
  • tests/sdk/auth/oauth/testdata/sanX509su.conf
    • Renamed from sdk/auth/oauth/testdata/sanX509su.conf.
  • tests/service/entityresolution/integration/README.md
    • Renamed from service/entityresolution/integration/README.md.
  • tests/service/entityresolution/integration/claims_test.go
    • Renamed from service/entityresolution/integration/claims_test.go.
    • Updated import path for internal package.
  • tests/service/entityresolution/integration/entity_chain_comparison_test.go
    • Renamed from service/entityresolution/integration/entity_chain_comparison_test.go.
  • tests/service/entityresolution/integration/example_new_test.go
    • Renamed from service/entityresolution/integration/example_new_test.go.
  • tests/service/entityresolution/integration/internal/chain_contract_tests.go
    • Renamed from service/entityresolution/integration/internal/chain_contract_tests.go.
  • tests/service/entityresolution/integration/internal/container_helpers.go
    • Renamed from service/entityresolution/integration/internal/container_helpers.go.
  • tests/service/entityresolution/integration/internal/contract_framework_test.go
    • Renamed from service/entityresolution/integration/internal/contract_framework_test.go.
  • tests/service/entityresolution/integration/internal/contract_tests.go
    • Renamed from service/entityresolution/integration/internal/contract_tests.go.
  • tests/service/entityresolution/integration/internal/flexible_assertions.go
    • Renamed from service/entityresolution/integration/internal/flexible_assertions.go.
  • tests/service/entityresolution/integration/internal/helpers.go
    • Renamed from service/entityresolution/integration/internal/helpers.go.
  • tests/service/entityresolution/integration/internal/helpers_test.go
    • Renamed from service/entityresolution/integration/internal/helpers_test.go.
  • tests/service/entityresolution/integration/internal/main_test.go
    • Renamed from service/entityresolution/integration/internal/main_test.go.
  • tests/service/entityresolution/integration/internal/test_config.go
    • Renamed from service/entityresolution/integration/internal/test_config.go.
  • tests/service/entityresolution/integration/internal/test_data.go
    • Renamed from service/entityresolution/integration/internal/test_data.go.
  • tests/service/entityresolution/integration/internal/test_data_generator.go
    • Renamed from service/entityresolution/integration/internal/test_data_generator.go.
  • tests/service/entityresolution/integration/keycloak_test.go
    • Renamed from service/entityresolution/integration/keycloak_test.go.
    • Updated import path for internal package.
  • tests/service/entityresolution/integration/ldap_test_data/01_organizational_units.ldif
    • Renamed from service/entityresolution/integration/ldap_test_data/01_organizational_units.ldif.
  • tests/service/entityresolution/integration/ldap_test_data/02_test_users.ldif
    • Renamed from service/entityresolution/integration/ldap_test_data/02_test_users.ldif.
  • tests/service/entityresolution/integration/ldap_test_data/03_test_groups.ldif
    • Renamed from service/entityresolution/integration/ldap_test_data/03_test_groups.ldif.
  • tests/service/entityresolution/integration/ldap_test_data/04_test_clients.ldif
    • Renamed from service/entityresolution/integration/ldap_test_data/04_test_clients.ldif.
  • tests/service/entityresolution/integration/main_test.go
    • Renamed from service/entityresolution/integration/main_test.go.
  • tests/service/entityresolution/integration/multistrategy_comprehensive_test.go
    • Renamed from service/entityresolution/integration/multistrategy_comprehensive_test.go.
  • tests/service/entityresolution/integration/multistrategy_contract_test.go
    • Renamed from service/entityresolution/integration/multistrategy_contract_test.go.
    • Updated import path for internal package.
  • tests/service/entityresolution/integration/multistrategy_test.go
    • Renamed from service/entityresolution/integration/multistrategy_test.go.
    • Updated import path for internal package.
  • tests/service/entityresolution/integration/sql_test_data/01_create_tables.sql
    • Renamed from service/entityresolution/integration/sql_test_data/01_create_tables.sql.
  • tests/service/entityresolution/integration/sql_test_data/02_insert_test_data.sql
    • Renamed from service/entityresolution/integration/sql_test_data/02_insert_test_data.sql.
  • tests/service/entityresolution/integration/unified_contract_test.go
    • Renamed from service/entityresolution/integration/unified_contract_test.go.
    • Updated import path for internal package.
  • tests/service/integration/actions_test.go
    • Renamed from service/integration/actions_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/attribute_fqns_test.go
    • Renamed from service/integration/attribute_fqns_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/attribute_values_test.go
    • Renamed from service/integration/attribute_values_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/attributes_test.go
    • Renamed from service/integration/attributes_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/config.go
    • Renamed from service/integration/config.go.
  • tests/service/integration/kas_registry_key_test.go
    • Renamed from service/integration/kas_registry_key_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/kas_registry_test.go
    • Renamed from service/integration/kas_registry_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
    • Modified assertion for PublicKey.Cached to use proto.Equal for more accurate comparison.
  • tests/service/integration/keymanagement_test.go
    • Renamed from service/integration/keymanagement_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/main_test.go
    • Renamed from service/integration/main_test.go.
    • Removed direct testcontainers imports and related container setup logic.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
    • Integrated tests/internal/containers.StartPostgres for PostgreSQL container management.
    • Changed fixture loading to use fixtures.LoadFixtureDataFromDefault().
  • tests/service/integration/namespaces_test.go
    • Renamed from service/integration/namespaces_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/obligation_triggers_test.go
    • Renamed from service/integration/obligation_triggers_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/obligations_test.go
    • Renamed from service/integration/obligations_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/policy_test.go
    • Renamed from service/integration/policy_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/registered_resources_test.go
    • Renamed from service/integration/registered_resources_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/resource_mappings_test.go
    • Renamed from service/integration/resource_mappings_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/subject_mappings_test.go
    • Renamed from service/integration/subject_mappings_test.go.
    • Updated import path for fixtures from service/internal/fixtures to github.com/opentdf/platform/lib/fixtures.
  • tests/service/integration/wiremock/Dockerfile
    • Renamed from service/integration/wiremock/Dockerfile.
  • tests/service/integration/wiremock/README.md
    • Renamed from service/integration/wiremock/README.md.
  • tests/service/integration/wiremock/docker-compose.yaml
    • Renamed from service/integration/wiremock/docker-compose.yaml.
  • tests/service/integration/wiremock/mappings/attributes.json
    • Renamed from service/integration/wiremock/mappings/attributes.json.
  • tests/service/integration/wiremock/mappings/authorization_service.json
    • Renamed from service/integration/wiremock/mappings/authorization_service.json.
  • tests/service/integration/wiremock/mappings/create_attribute.json
    • Renamed from service/integration/wiremock/mappings/create_attribute.json.
  • tests/service/integration/wiremock/mappings/create_namespace.json
    • Renamed from service/integration/wiremock/mappings/create_namespace.json.
  • tests/service/integration/wiremock/mappings/kas_public_key.json
    • Renamed from service/integration/wiremock/mappings/kas_public_key.json.
  • tests/service/integration/wiremock/mappings/namespaces.json
    • Renamed from service/integration/wiremock/mappings/namespaces.json.
  • tests/service/integration/wiremock/mappings/oidc_config.json
    • Renamed from service/integration/wiremock/mappings/oidc_config.json.
  • tests/service/integration/wiremock/mappings/oidc_jwks.json
    • Renamed from service/integration/wiremock/mappings/oidc_jwks.json.
  • tests/service/integration/wiremock/mappings/oidc_token.json
    • Renamed from service/integration/wiremock/mappings/oidc_token.json.
  • tests/service/integration/wiremock/messages/create_attribute.json
    • Renamed from service/integration/wiremock/messages/create_attribute.json.
  • tests/service/integration/wiremock/messages/get_decisions_1.json
    • Renamed from service/integration/wiremock/messages/get_decisions_1.json.
  • tests/service/integration/wiremock/messages/kas_public_key.json
    • Renamed from service/integration/wiremock/messages/kas_public_key.json.
  • tests/service/integration/wiremock/messages/list_attributes.json
    • Renamed from service/integration/wiremock/messages/list_attributes.json.
  • tests/service/integration/wiremock/messages/list_namespaces.json
    • Renamed from service/integration/wiremock/messages/list_namespaces.json.
  • tests/service/integration/wiremock/messages/oidc_config.json
    • Renamed from service/integration/wiremock/messages/oidc_config.json.
  • tests/service/integration/wiremock/messages/oidc_jwks.json
    • Renamed from service/integration/wiremock/messages/oidc_jwks.json.
  • tests/service/integration/wiremock/messages/oidc_token.json
    • Renamed from service/integration/wiremock/messages/oidc_token.json.
Activity
  • The author, strantalis, has moved BDD and integration tests into a root tests module for reuse.
  • Service fixtures have been moved into lib/fixtures and provisioning has been wired.
  • A centralized containers helper has been added along with updated documentation and targets.
  • The author has performed testing: make test currently fails because service/rttests requires the platform to be running, while make test-integration passes with Colima environments.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Tests once scattered wide, Now gather in one strong fold, Code's truth, clearly shown.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

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

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 effectively centralizes the integration and BDD test suites into a root tests module, which is a great step towards decoupling tests from application code and improving the project structure. The changes are consistent across documentation, build files, and source code. I've identified a few minor areas for improvement regarding documentation consistency, test code duplication, and test message clarity. Overall, this is a solid refactoring effort.

@strantalis strantalis force-pushed the feat/centralized-tests branch 2 times, most recently from 58c7072 to 42ac852 Compare February 9, 2026 19:28
@strantalis strantalis marked this pull request as ready for review February 9, 2026 21:29
@strantalis strantalis requested review from a team as code owners February 9, 2026 21:29
Copy link
Member

@elizabethhealy elizabethhealy left a comment

Choose a reason for hiding this comment

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

@strantalis
Copy link
Member Author

did you mean to commit this? https://github.com/strantalis/platform/blob/b888bda856d0ff4f7a60d9861defd8533ffe285a/tasks/ai/testing-migration-checklist.md

Yeah. Just thinking it would be nice to somehow track this information but we can discuss more.

marythought
marythought previously approved these changes Feb 10, 2026
Copy link
Contributor

@marythought marythought left a comment

Choose a reason for hiding this comment

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

This seems like a big step forward to enabling easier, more flexible code iteration and changes 🙏

elizabethhealy
elizabethhealy previously approved these changes Feb 10, 2026
@strantalis strantalis added this pull request to the merge queue Feb 11, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 11, 2026
pflynn-virtru
pflynn-virtru previously approved these changes Feb 11, 2026
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Signed-off-by: strantalis <strantalis@virtru.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:lib:fixtures comp:sdk A software development kit, including library, for client applications and inter-service communicati size/xl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants