test: MongoDB driver — normalizeConfig aliases and detectAuthMethod#510
test: MongoDB driver — normalizeConfig aliases and detectAuthMethod#510anandgupta42 wants to merge 1 commit intomainfrom
Conversation
…overage MongoDB support was added in v0.5.13 (commit abcaa1d) but the normalize alias map and auth detection had zero test coverage, risking silent connection failures for users configuring MongoDB with dbt/SDK-style field names. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> https://claude.ai/code/session_01U7mUcNzrnXfdtJSJxVTuQv
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis pull request adds comprehensive test coverage for MongoDB configuration normalization and authentication method detection, including alias property resolution and type alias handling without modifications to production code. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deduplicate overlapping tests from PRs #494, #499, #502, #504, #506, #507, #508, #510, #511, #512. Most MongoDB/env-var/dbt coverage was already on main; this adds only genuinely new tests: - SSH tunnel: `extractSshConfig` validation + lifecycle safety (7 tests) - dbt profiles: spark->databricks, trino->postgres adapter mapping - `dbtConnectionsToConfigs` conversion + empty input handling - `containerToConfig` with fully-populated container - MongoDB assertions in `telemetry-safety.test.ts` - Sanity suite: branding, deny, driver, resilience expansions (#494) Closes #513 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Consolidated into #514. This PR's test coverage was either already on main or has been included in the consolidated PR. |
…514) * test: consolidate test coverage from 10 hourly PRs into single PR Deduplicate overlapping tests from PRs #494, #499, #502, #504, #506, #507, #508, #510, #511, #512. Most MongoDB/env-var/dbt coverage was already on main; this adds only genuinely new tests: - SSH tunnel: `extractSshConfig` validation + lifecycle safety (7 tests) - dbt profiles: spark->databricks, trino->postgres adapter mapping - `dbtConnectionsToConfigs` conversion + empty input handling - `containerToConfig` with fully-populated container - MongoDB assertions in `telemetry-safety.test.ts` - Sanity suite: branding, deny, driver, resilience expansions (#494) Closes #513 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: address code review findings from 6-model consensus review - Use `require.resolve()` instead of `require()` for driver resolvability checks to avoid false negatives from native binding load failures - Remove unnecessary `altimate_change` markers from new ssh-tunnel test file - Add `closeAllTunnels()` cleanup in `afterEach` to prevent state leaks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: address convergence review findings — driver warns, unshare guard - Driver resolvability checks now emit warnings instead of failures since drivers are intentionally absent from sanity Docker image (#295) - `unshare --net` now tests with a dry-run before use, falling back to proxy-based network blocking when unprivileged (macOS, containers) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
What does this PR do?
MongoDB driver support was added in v0.5.13 (commit abcaa1d, PR #482), but the config normalization aliases and auth method detection for MongoDB had zero test coverage. This PR adds targeted tests to close that gap.
1.
normalizeConfig— MongoDB aliases inpackages/drivers/src/normalize.ts(10 new tests)The
MONGODB_ALIASESmap (lines 76–84) and themongotype alias (lines 99–100) were added alongside the MongoDB driver but the existing test file (driver-normalize.test.ts) covered every other driver type except MongoDB. Without these tests, a regression in alias resolution would cause silent connection failures for users configuring MongoDB with dbt/SDK-style field names likeuri,connectionString,authSource,replicaSet, etc.New coverage includes:
connectionString,uri,url→connection_string;authSource→auth_source;replicaSet→replica_set;directConnection→direct_connection;connectTimeoutMS→connect_timeout;serverSelectionTimeoutMS→server_selection_timeoutmongotype alias resolves identically tomongodb2.
detectAuthMethod— MongoDB auth detection insrc/altimate/native/connections/registry.ts(4 new assertions)The MongoDB-specific auth detection branch (line 229) was added but had no test assertions. Added coverage for:
connection_stringfield →"connection_string"passwordfield →"password"(caught by generic check at line 226)mongodbtype with no credentials →"connection_string"fallback (line 229)mongotype alias → same fallback behaviorType of change
Issue for this PR
N/A — proactive test coverage for newly shipped MongoDB driver support
How did you verify your code works?
Checklist
https://claude.ai/code/session_01U7mUcNzrnXfdtJSJxVTuQv
Summary by CodeRabbit