-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Rewrite the bash smoke tests (smoke_lib.sh + per-demo test scripts) to Python using pytest-playwright's request context for API testing. This prepares the test infrastructure for adding browser-based E2E tests (#47) using the same framework.
Motivation
The bash smoke tests have grown to 350+ lines of shared library code with manual curl/jq parsing, poll loops, and CRUD lifecycle helpers. pytest-playwright provides:
@pytest.mark.parametrizeto eliminate duplication across 3 demosconftest.pyfixtures for gateway connection, wait-for-gateway, entity resolution- Test isolation - each test independent
- JUnit XML output for CI
requests-style API calls instead of curl + jq pipes- Natural path to browser E2E tests using the same framework
Python chosen over TypeScript because the demos repo is Python-heavy (launch files, anomaly_detector.py, fault_storm.py) and pytest-playwright gives full pytest fixture integration.
CI runner (ubuntu-24.04) has Python out of the box - just needs pip install pytest pytest-playwright.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request