Skip to content

[VPEX][7/8] Add local-env acceptance tests#5833

Open
rugpanov wants to merge 1 commit into
dbconnect/06-commandfrom
dbconnect/07-acceptance
Open

[VPEX][7/8] Add local-env acceptance tests#5833
rugpanov wants to merge 1 commit into
dbconnect/06-commandfrom
dbconnect/07-acceptance

Conversation

@rugpanov

@rugpanov rugpanov commented Jul 3, 2026

Copy link
Copy Markdown

Context

PR 7 of 8 in the stacked databricks local-env python sync series (see #5823 for the full plan). Stacked on #5832 — review PRs 1–6 first; this PR's diff is only acceptance/localenv/ (no Go source changes).

This is the end-to-end acceptance coverage for the command, run against the in-process fake Databricks server. It's where the command's user-visible behavior (text + --json output, and every error path) is exercised — cmd/localenv/ itself carries no unit tests by design, per the repo convention that user-visible CLI output is covered by acceptance tests.

Scenarios (9)

Dir Exercises
help the three-level local-env python / local-env python sync help tree
no-target no compute selected → E_NO_TARGET (text)
flag-conflict --cluster + --serverless → Cobra mutual-exclusion error
manager-unsupported a conda project → clean P1 preflight exit
env-unsupported resolvable target, 404 artifact → E_ENV_UNSUPPORTED at fetch
json-error --output json error object (code/failurePhase)
serverless-check --check dry-run plan (text)
serverless-json --check --output json plan
constraints-only --constraints-only --check --output json

Notes

  • Scripts drive the hidden command by name; goldens were generated with -update and verified stable on a clean re-run.
  • The --json command field and the managed pyproject.toml marker both render as local-env python sync.
  • musterr guards the five expected-failure scenarios; trace shows the three output-producing ones.
  • No source changes; the diff is confined to acceptance/localenv/.

This pull request and its description were written by Isaac.


This PR was created with GitHub MCP.

Seventh in the stacked series. End-to-end acceptance coverage for
"databricks local-env python sync" against the in-process fake server, which
is where the command's user-visible behavior (text + --json output, every
error path) is exercised — cmd/localenv itself carries no unit tests by design.

Nine scenarios: help (three-level tree), no-target, flag-conflict,
manager-unsupported (conda project), env-unsupported (404 -> E_ENV_UNSUPPORTED),
json-error, serverless-check (dry-run plan), serverless-json (--json plan), and
constraints-only. Scripts drive the hidden command by name; goldens were
generated with -update and verified stable on a clean re-run. The --json
"command" field and the managed pyproject marker both render as
"local-env python sync". No source changes.

Co-authored-by: Isaac
@rugpanov rugpanov temporarily deployed to test-trigger-is July 3, 2026 20:37 — with GitHub Actions Inactive
@rugpanov rugpanov deployed to test-trigger-is July 3, 2026 20:37 — with GitHub Actions Active
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Waiting for approval

Could not determine reviewers from git history.
Round-robin suggestion: @renaudhartert-db

Eligible reviewers: @andrewnester, @anton-107, @denik, @janniklasrose, @pietern, @renaudhartert-db, @shreyas-goenka, @simonfaltum

Suggestions based on git history. See OWNERS for ownership rules.

@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 6c2fadc

Run: 28682374341

Env ❌​FAIL 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
🔄​ aws linux 1 7 14 229 1054 5:16
❌​ aws windows 1 7 14 231 1052 6:10
💚​ aws-ucws linux 7 14 314 972 4:39
💚​ aws-ucws windows 7 14 316 970 3:52
💚​ azure linux 4 15 230 1053 4:10
💚​ azure windows 4 15 232 1051 4:04
💚​ azure-ucws linux 4 15 316 969 4:53
💚​ azure-ucws windows 4 15 318 967 4:10
💚​ gcp linux 4 15 229 1055 3:46
💚​ gcp windows 4 15 231 1053 3:36
23 interesting tests: 14 SKIP, 7 RECOVERED, 1 FAIL, 1 flaky
Test Name aws linux aws windows aws-ucws linux aws-ucws windows azure linux azure windows azure-ucws linux azure-ucws windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/permissions 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct 💚​R 💚​R 💚​R 💚​R
💚​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/resources/postgres_branches/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/recreate 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/replace_existing 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/update_protected 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_branches/without_branch_id 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_endpoints/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/postgres_projects/update_display_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/synced_database_tables/basic 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
❌​ TestSecretsPutSecretBytesValue ✅​p ❌​F 🙈​s 🙈​s ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p
🔄​ TestSecretsPutSecretStringValue 🔄​f ✅​p 🙈​s 🙈​s ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
Top 5 slowest tests (at least 2 minutes):
duration env testname
3:14 azure windows TestAccept
3:09 azure-ucws windows TestAccept
3:00 aws windows TestAccept
2:52 gcp windows TestAccept
2:48 aws-ucws windows TestAccept

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants