test: warehouse connections — MongoDB auth + env var loading#502
test: warehouse connections — MongoDB auth + env var loading#502anandgupta42 wants to merge 1 commit intomainfrom
Conversation
Cover two untested registry paths: the new MongoDB/mongo detectAuthMethod branch (added this week with MongoDB driver support) and the ALTIMATE_CODE_CONN_* env var loading path used by CI/CD pipelines. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> https://claude.ai/code/session_01QvuBUD1uLcEPSu6EugNcyf
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)
📝 WalkthroughWalkthroughNew test suites added to verify connection registry functionality: one tests environment variable loading into the registry with valid/invalid payloads, another tests MongoDB authentication method detection for fallback behavior. Both use proper isolation via beforeEach resets and finally cleanup blocks. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 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?
1.
detectAuthMethod— MongoDB branch (src/altimate/native/connections/registry.ts) (2 new tests)MongoDB driver support was added this week (commit abcaa1d, PR #482). The
detectAuthMethodfunction gained a newmongodb/mongobranch that returns"connection_string"as the fallback auth method for MongoDB configs without a password — distinct from other driver types which fall through to"unknown". Zero tests existed for this new branch. Without these tests, the MongoDB-specific line could be deleted and no test would fail, silently mislabeling telemetry for all MongoDB users.New coverage includes:
{ type: "mongodb", host: "..." }(no password) returns"connection_string"not"unknown"{ type: "mongo", host: "..." }(alias) returns"connection_string"— verifies the|| t === "mongo"half of the OR condition2.
loadFromEnv—ALTIMATE_CODE_CONN_*env var parsing (src/altimate/native/connections/registry.ts) (3 new tests)CI/CD users configure warehouse connections via
ALTIMATE_CODE_CONN_*environment variables. TheloadFromEnv()function (lines 64–82) parses these into connection configs duringload(). This code path had zero direct test coverage. If JSON parsing broke silently or thetypefield guard were removed, CI connections would vanish with no error.New coverage includes:
getConfig()(includes lowercase name conversion)typefield is rejectedType of change
Issue for this PR
N/A — proactive test coverage for newly added MongoDB driver support and untested CI/CD configuration path.
How did you verify your code works?
Checklist
https://claude.ai/code/session_01QvuBUD1uLcEPSu6EugNcyf
Summary by CodeRabbit