fix(cli-e2e): use profileSampleConfig in profiler test builders#27947
Conversation
PR #27184 (commit 47c88d4, "Dynamic Sampling Config") moved profileSample/profileSampleType out of DatabaseServiceProfilerPipeline and TableProfilerConfig into a nested profileSampleConfig object, but the CLI E2E test config builders weren't updated. Both pydantic models now use extra='forbid', so the old format raises "Extra parameter 'profileSample'" and the scheduled py-cli-e2e-tests workflow has been red on every run since 2026-04-17 (postgres, mysql, mssql, oracle, redshift, snowflake, redash, metabase, quicksight, tableau, bigquery_multiple_project, dbt_redshift). Update the ProfilerConfigBuilder to emit the new schema and update the BigQuery TableProfilerConfig usage to match. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Code Review 👍 Approved with suggestions 0 resolved / 1 findingsUpdates CLI E2E test builders to use the nested profileSampleConfig schema, resolving the profiler configuration validation errors. Consider adding the missing profileSampleType field to the StaticSamplingConfig in builders.py. 💡 Bug: builders.py omits profileSampleType in StaticSamplingConfig📄 ingestion/tests/cli_e2e/base/config_builders/builders.py:63-65 📄 ingestion/tests/cli_e2e/test_cli_bigquery.py:199-201 In If Suggested fix🤖 Prompt for agentsOptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
|
🟡 Playwright Results — all passed (16 flaky)✅ 3988 passed · ❌ 0 failed · 🟡 16 flaky · ⏭️ 86 skipped
🟡 16 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |



Summary
Fixes the scheduled
py-cli-e2e-testsworkflow, which has been failing on every run since 2026-04-17 (postgres, mysql, mssql, oracle, redshift, snowflake, redash, metabase, quicksight, tableau, bigquery_multiple_project, dbt_redshift).PR #27184 (commit 47c88d49ce, "Dynamic Sampling Config") moved
profileSample/profileSampleTypeout ofDatabaseServiceProfilerPipelineandTableProfilerConfiginto a nestedprofileSampleConfigobject. Both pydantic models useextra='forbid', so the old format raises:The CLI E2E test config builders weren't updated alongside that PR — this change brings them in line with the new schema.
Changes
ingestion/tests/cli_e2e/base/config_builders/builders.py—ProfilerConfigBuilder.build()now emitsprofileSampleConfig: { sampleConfigType: STATIC, config: { profileSample: ... } }instead of a top-levelprofileSample.ingestion/tests/cli_e2e/test_cli_bigquery.py—add_table_profile_configconstructsTableProfilerConfigwith the nestedprofileSampleConfiginstead of top-levelprofileSample/profileSampleType.The redshift
tests/cli_e2e/database/redshift/test.yamlis gitignored and regenerated at test runtime by the builder, so it's automatically picked up by the builder fix.Test plan
py-cli-e2e-testsscheduled run goes green for postgres, mysql, mssql, oracle, redshift, snowflake, redash, metabase, quicksight, bigquery_multiple_project, dbt_redshiftadd_table_profile_config) successfully creates the table profiler config🤖 Generated with Claude Code