docs: plan for #298 — custom test extension scaffolding#299
docs: plan for #298 — custom test extension scaffolding#299posit-vip-triage[bot] wants to merge 6 commits into
Conversation
Add plan for a vip scaffold subcommand and comprehensive GxP validation example showing how to verify specific R/Python versions and packages across Workbench and Connect. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Preview Links
|
| - **UNCONFIRMED:** Should the example test directory be named `examples/gxp_validation/` or something more generic like `examples/cross_product_validation/`? | ||
| - **Leaning toward:** `examples/cross_product_validation/` because the pattern applies beyond GxP (any customer who needs to lock runtime/package versions). |
There was a problem hiding this comment.
Updated the plan to use examples/cross_product_validation/ throughout — all gxp_validation references replaced and the naming question marked as CONFIRMED. (commit: docs: confirm cross_product_validation naming, update all references)
| - **UNCONFIRMED:** Should the scaffold command default to copying from `examples/cross_product_validation/` or should it be extensible (multiple scaffold templates)? | ||
| - **Leaning toward:** single template for now; extensibility can be added later if demand emerges. |
There was a problem hiding this comment.
Confirmed — marked as single template for now with extensibility added later if needed.
|
|
||
| ## Out of scope | ||
|
|
||
| - Modifying the existing `examples/custom_tests/` directory (it serves a different purpose: minimal HTTP check). The new example is complementary, not a replacement. |
There was a problem hiding this comment.
@copilot it is weird to have one folder named custom_tests while another is named cross_product_validation. How many others example could we think of adding and if so we should add a way to support multiple.
There was a problem hiding this comment.
Added new open question about renaming custom_tests → http_health_check for consistency. Listed potential future examples (SSL validation, API performance, user provisioning) and noted the Architecture section can support --template option for multi-template scaffolding.
Co-authored-by: ian-flores <18703558+ian-flores@users.noreply.github.com>
Co-authored-by: ian-flores <18703558+ian-flores@users.noreply.github.com>
|
@copilot please revise this plan to address the following review feedback before it triggers the implementation agent: 1. (Blocker) Don't overpromise on package-install verification. The plan says the cross-product example will "verify R and Python packages install successfully on both products," but no client API supports this today.
2. Require 3. Resolve the 4. Give the scaffolded 5. Strengthen the selftest. Beyond file-existence, assert on scaffolded content (e.g. the Also ensure the Verification section keeps |
- Scope down to runtime version checks only (no package install) - Document API limitations (ConnectClient.r/python_versions only) - Point to test_packages.py for deeper patterns - Require @connect @workbench auto-skip tags at feature level - Defer custom_tests rename to follow-up - Add sensible fixture defaults (R 4.4.0/4.3.3, Python 3.12.0/3.11.0) - Strengthen selftest with content assertions (tags, imports, fixtures) - Add just check to Verification section - Clarify Out of scope section Co-authored-by: ian-flores <18703558+ian-flores@users.noreply.github.com>
All review feedback addressed: 1. Blocker resolved — Scoped to runtime version checks only using 2. Auto-skip tags — Required 3. Rename resolved — Deferred 4. Sensible defaults — Added concrete fixture examples: 5. Selftest strengthened — Assert on scaffolded content: Bonus: Added |
This plan outlines adding a
vip scaffoldsubcommand and a comprehensive example showing how to extend VIP with custom tests for cross-product validation scenarios (verifying specific R/Python runtime versions across Workbench and Connect).Scope: The scaffolded example focuses on runtime version verification only using
ConnectClient.r_versions()/.python_versions()APIs. Package-install verification requires more complex patterns (bundle deployment and log scraping for Connect, session-exec for Workbench) and is out of scope for the initial scaffold. The example includes inline comments pointing users tosrc/vip_tests/connect/test_packages.pyfor deeper install-verification patterns.The plan also addresses naming consistency across example directories and considers future extensibility for multi-template scaffolding support, including potential examples for SSL certificate validation, API performance testing, and user provisioning verification. The
examples/custom_tests/rename is deferred to a follow-up to keep this PR focused on the scaffolding feature.Key requirements:
.featurefiles must include@connect @workbenchauto-skip tagsconftest.pyfixtures include sensible defaults (e.g., R 4.4.0/4.3.3, Python 3.12.0/3.11.0)Merging this PR will trigger an implementation PR — comment to iterate on the plan first.
> Generated by Triage open issues on
posit-dev/vipfor issue #298 · ● 7.9M · ◷