Add parser-level validity gate for generated next_commands#203
Merged
Conversation
Add a new #[cfg(test)] module that asserts each helper-generated next_commands entry parses successfully via Cli::try_parse_from. Covers all 11 entity surfaces (gene, variant, article, trial, disease, pgx, drug, pathway, protein, adverse-event, device-event) including shell-quoted multi-word arguments and conditional variant oncokb template.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#[cfg(test)]modulenext_commands_validityinsrc/cli/mod.rsthat asserts each helper-generatednext_commandsentry parses successfully viaCli::try_parse_fromvariant oncokbtemplate withONCOKB_TOKEN-independent parsing, hyphenated pathway IDs, and optional subcommand argsWhy
The
_meta.next_commandsfield in JSON/spec responses is generated by helper functions and consumed directly by users and downstream tooling. Previously there was no automated check that these generated command strings actually parse against the CLI definition. This gate catches stale or malformed command suggestions before they ship.Test plan
cargo test --lib cli::next_commands_validity— 11 tests passcargo test --lib— full unit suite remains green (595 passed, 0 failed)#[cfg(test)]code