Skip to content

test: guard webhook url secret metadata - #2640

Draft
rudder-devbox[bot] wants to merge 1 commit into
developfrom
harness/AI-1317-test-guard-webhook-url-secret-m-489ac67a
Draft

test: guard webhook url secret metadata#2640
rudder-devbox[bot] wants to merge 1 commit into
developfrom
harness/AI-1317-test-guard-webhook-url-secret-m-489ac67a

Conversation

@rudder-devbox

@rudder-devbox rudder-devbox Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What are the changes introduced in this PR?

Added a regression test asserting the Webhook destination does not classify webhookUrl as a secret destination key.

The existing Webhook destination metadata already keeps webhookUrl out of config.secretKeys and only marks headers.to as secret, so no destination configuration files were changed.

What is the related Linear task?

Resolves AI-1317

Please explain the objectives of your changes below

Prevent future regressions where the Webhook destination URL could be added to secretKeys and rendered/stored as a secret by metadata consumers.

Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?

No runtime behavior change in this repository. This is a test-only guard for the existing Webhook metadata contract.

Any new dependencies introduced with this change?

N/A

Any new checks got introduced or modified in test suites. Please explain the changes.

Added one destination-definition test in test/validation.test.ts that verifies Webhook secretKeys is exactly ["headers.to"] and does not contain webhookUrl.

Validation

  • npm ci — passed
  • npx prettier --check /workspace/rudder-integrations-config/test/validation.test.ts — passed
  • npx jest --runTestsByPath /workspace/rudder-integrations-config/test/validation.test.ts --runInBand --watchAll=false --coverage=false -t "webhook does not classify webhookUrl as a secret destination key" — passed
  • PATH=/usr/local/bin:$PATH npm test -- --runInBand --silent — passed with 100% coverage

⚠️ Known Issues

  • npm test -- --runTestsByPath test/validation.test.ts --watchAll=false showed PASS test/validation.test.ts but exited non-zero due the repo’s global coverage thresholds on scoped Jest runs.
  • In this sandbox, the default python3 on PATH did not have jsondiff, so the full Jest suite initially failed in schema generator tests. Re-running with /usr/local/bin first in PATH used the Python environment with the required script dependencies and the suite passed.

Developer checklist

  • My code follows the style guidelines of this project

  • No breaking changes are being introduced.

  • All related docs linked with the PR?

  • All changes manually tested?

  • Any documentation changes needed with this change?

  • I have executed schemaGenerator tests and updated schema if needed

  • Are sensitive fields marked as secret in definition config?

  • My test cases and placeholders use only masked/sample values for sensitive fields

  • Is the PR limited to 10 file changes & one task?

Reviewer checklist

  • Is the type of change in the PR title appropriate as per the changes?

  • Verified that there are no credentials or confidential data exposed with the changes.


🔭 Live preview

Resumable while this task is open.

Copilot AI lite review requested due to automatic review settings August 12, 2026 11:23

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@rudder-devbox

rudder-devbox Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

👋 I'm rudder-devbox. I opened this PR from a Linear ticket.

Mention @devbox or @rudder-devbox and I'll act on it — on a top-level PR comment,
in a review summary, or on an inline comment on the diff. Without a mention I won't see it.

@codecov

codecov Bot commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (e44239d) to head (32541b0).

Additional details and impacted files
@@            Coverage Diff            @@
##           develop     #2640   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         2           
  Lines          112       112           
  Branches        21        21           
=========================================
  Hits           112       112           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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