Skip to content

Add API tests for format2-to-native conversion artifacts#23132

Merged
mvdbeek merged 1 commit into
galaxyproject:devfrom
jmchilton:gxformat2_stateless_artifacts
Jul 17, 2026
Merged

Add API tests for format2-to-native conversion artifacts#23132
mvdbeek merged 1 commit into
galaxyproject:devfrom
jmchilton:gxformat2_stateless_artifacts

Conversation

@jmchilton

Copy link
Copy Markdown
Member

Verify Galaxy correctly executes workflows whose tool_state contains representation differences from schema-unaware gxformat2 conversion.

Workflow tests cover list-form multiple selects, absent all-None sections, absent empty repeats with and without corrections, a safe-template empty repeat, lowercase JSON booleans, and connection-only section omission. Test data lives in wf_conversion/ with frozen native .ga snapshots and available format2 sources.

Tool execution tests cover explicit empty repeat, absent repeat, repeat instances, and list-form multiple select handling across legacy, 21.01, and request input formats.

Duplication check:

  • No exact existing Galaxy test already imports native .ga workflows with gxformat2 conversion-artifact tool_state and executes them.

  • Multiple-select coverage is adjacent to existing multi_select workflow/tool tests, but those use normal format2/tool execution paths rather than list-encoded native workflow tool_state.

  • Boolean coverage is adjacent to gx_boolean tool tests for JSON booleans, but those do not cover native workflow execution from converted .ga tool_state.

  • Repeat coverage is adjacent to existing repeat tools and API tests, but existing tests either require instances, index the first repeat item, or cover min-filled repeats; they do not cover omitted repeat keys in native workflow tool_state.

  • The two absent-empty-repeat workflow tests intentionally overlap except for allow_tool_state_corrections, documenting that the flag does not change the current failure mode.

  • The connection-only section test is not duplicated elsewhere; it covers omitted section state resolved through input_connections.

The empty_repeat_optional fixture is documented as native-only because wf_tool_state does not contain a companion format2 source.

(cherry picked from commit ef93b9f in #22996)

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

Verify Galaxy correctly executes workflows whose tool_state contains representation differences from schema-unaware gxformat2 conversion.

Workflow tests cover list-form multiple selects, absent all-None sections, absent empty repeats with and without corrections, a safe-template empty repeat, lowercase JSON booleans, and connection-only section omission. Test data lives in wf_conversion/ with frozen native .ga snapshots and available format2 sources.

Tool execution tests cover explicit empty repeat, absent repeat, repeat instances, and list-form multiple select handling across legacy, 21.01, and request input formats.

Duplication check:

- No exact existing Galaxy test already imports native .ga workflows with gxformat2 conversion-artifact tool_state and executes them.

- Multiple-select coverage is adjacent to existing multi_select workflow/tool tests, but those use normal format2/tool execution paths rather than list-encoded native workflow tool_state.

- Boolean coverage is adjacent to gx_boolean tool tests for JSON booleans, but those do not cover native workflow execution from converted .ga tool_state.

- Repeat coverage is adjacent to existing repeat tools and API tests, but existing tests either require instances, index the first repeat item, or cover min-filled repeats; they do not cover omitted repeat keys in native workflow tool_state.

- The two absent-empty-repeat workflow tests intentionally overlap except for allow_tool_state_corrections, documenting that the flag does not change the current failure mode.

- The connection-only section test is not duplicated elsewhere; it covers omitted section state resolved through input_connections.

The empty_repeat_optional fixture is documented as native-only because wf_tool_state does not contain a companion format2 source.

(cherry picked from commit ef93b9f)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mvdbeek
mvdbeek merged commit 1d7d5d7 into galaxyproject:dev Jul 17, 2026
60 of 61 checks passed
@github-project-automation github-project-automation Bot moved this from Needs Review to Done in Galaxy Dev - weeklies Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

2 participants