Skip to content

[ViPPET] Add functional tests for performance job metadata flow#2078

Merged
ktaube26 merged 2 commits intoopen-edge-platform:mainfrom
ktaube26:metadata-functional-tests
Apr 3, 2026
Merged

[ViPPET] Add functional tests for performance job metadata flow#2078
ktaube26 merged 2 commits intoopen-edge-platform:mainfrom
ktaube26:metadata-functional-tests

Conversation

@ktaube26
Copy link
Copy Markdown
Contributor

@ktaube26 ktaube26 commented Apr 1, 2026

Description

Adds a new functional test module for the ViPPET performance job metadata flow (metadata_mode=file). The new test file covers the full end-to-end lifecycle of metadata collection during performance jobs, as well as the relevant error paths.

File added: tools/visual-pipeline-and-platform-evaluation-tool/vippet/tests/functional/test_performance_metadata_flow.py

The tests validate the following behaviours:

Happy path (@pytest.mark.full):

  • A performance job submitted with metadata_mode=file on a pipeline that includes a gvametapublish element reaches COMPLETED state and includes a non-empty metadata_stream_urls dict in its status response.
  • Each metadata snapshot endpoint (derived from the stream URL) returns HTTP 200 with a non-empty JSON array of records.
  • Each metadata SSE stream endpoint returns HTTP 200 with Content-Type: text/event-stream.

Pipeline/variant combinations are discovered dynamically at collection time by querying the VIPPET API and filtering for variants whose pipeline graph contains a gvametapublish node. If none are found (e.g. no compatible device is available), the parametrized tests are automatically skipped with a descriptive reason.

Error paths (@pytest.mark.smoke / @pytest.mark.full):

  • Metadata snapshot/stream requests for a non-existent job ID return 404.
  • Metadata snapshot request for an existing job with metadata_mode=disabled returns 404 with a message that references metadata.
  • A performance job submitted with metadata_mode=file on a pipeline without a gvametapublish element reaches FAILED state with an error referencing gvametapubl

Checklist:

  • I agree to use the APACHE-2.0 license for my code changes.
  • I have not introduced any 3rd party components incompatible with APACHE-2.0.
  • I have not included any company confidential information, trade secret, password or security token.
  • I have performed a self-review of my code.

@ktaube26 ktaube26 added the vippet label Apr 1, 2026
@ktaube26 ktaube26 marked this pull request as ready for review April 1, 2026 15:27
@ktaube26 ktaube26 merged commit 988a9db into open-edge-platform:main Apr 3, 2026
31 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants