Add roborock.testing — stateful device simulators for integration testing #3056
ci.yml
on: pull_request
Matrix: test
Lint Commit Messages
18s
lint
21s
Build Package
9s
Test Semantic Release
51s
release
0s
Annotations
4 errors and 1 warning
|
Lint Commit Messages
You have commit messages with errors
⧗ input: Add roborock.testing — stateful device simulators for integration testing
Introduces a new roborock.testing package that provides stateful firmware
simulators, fake transport channels, and cloud environment fakes. This
allows downstream consumers (like the Home Assistant integration) to write
high-fidelity integration tests using the real client library classes
instead of fragile top-level mocks.
New modules:
- channel.py: FakeChannel in-memory transport implementing Channel protocol
- simulator.py: RoborockDeviceSimulator base class
- v1_simulator.py: V1VacuumSimulator with stateful command handlers
- cloud.py: FakeRoborockCloud with HTTP endpoint mocking
Tests split by module:
- test_channel.py: FakeChannel subscribe/publish/notify
- test_cloud.py: Discovery, login errors, dynamic device addition
- test_v1_simulator.py: Trait refresh/reset, state transitions, push updates
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
✖ found 2 problems, 0 warnings
ⓘ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
⧗ input: Fix channel_fixtures re-export stripped by ruff
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
✖ found 2 problems, 0 warnings
ⓘ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
|
|
lint
Process completed with exit code 1.
|
|
test (3.11)
Process completed with exit code 1.
|
|
test (3.14)
Process completed with exit code 1.
|
|
lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|