Skip to content

Add missing test modules for the edge3 provider - #73111

Open
keith991001 wants to merge 2 commits into
apache:mainfrom
keith991001:add-edge3-missing-test-modules
Open

Add missing test modules for the edge3 provider#73111
keith991001 wants to merge 2 commits into
apache:mainfrom
keith991001:add-edge3-missing-test-modules

Conversation

@keith991001

Copy link
Copy Markdown
Contributor

Batch of missing test modules for the edge3 provider, filling all six OVERLOOKED_TESTS entries for the provider in one PR — grouped per provider as requested by the maintainers when closing the old tracking issue #35442 (all further context there).

New test modules (80 tests total across the change):

  • models/test_edge_job.pyEdgeJobModel: keyTaskInstanceKey mapping, queued_dttm default, last_update_t fallback, DB round trip, per-try rows
  • models/test_edge_logs.pyEdgeLogsModel: constructor field mapping, DB round trip, incremental chunks as separate rows
  • worker_api/test_datamodels.pyEdgeJobBase.key, EdgeJobFetched command coercion + identifier, WorkerStateBody/WorkerQueuesBase defaults and enum coercion, PushLogsBody timestamp parsing, versions_match defaulting to False on both return models
  • worker_api/test_datamodels_ui.pyWorker/Job defaults and required fields, collection responses, ConcurrencyRequest gt=0 bound, request-body validation errors
  • cli/test_example_extended_sysinfo.py — measured sysinfo fields, INFO/WARNING/ERROR thresholds for CPU and free disk, status-file override paths

One special case: models/test_edge_worker.py already exists on main, but its OVERLOOKED_TESTS exemption was never removed — the stale-entry check compares Path objects against strings and never fires (#71985 fixes that mechanism). The existing file only covered metrics and host queries, so this PR extends it with the untested surface (EdgeWorkerModel queue handling and the maintenance/shutdown/remove/queue/concurrency lifecycle operations, 33 new tests) and removes the stale exemption alongside the five real ones.

All 80 tests pass locally; the test_providers_modules_should_have_tests guard passes with the six entries removed.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Fable 5)

Generated-by: Claude Code (Fable 5) following the guidelines

The OVERLOOKED_TESTS guard list carries six edge3 entries. Five of the
test modules are genuinely missing; test_edge_worker.py already exists
on main but its exemption was never removed (the stale-entry check
compares Path objects against strings and never fires), so the module
methods and worker lifecycle operations it should cover were untested.

Batch the whole provider into one change, as requested by the
maintainers when closing the old tracking issue: add the five missing
test modules, extend test_edge_worker.py to cover the model queue
handling and the maintenance/shutdown/queue/concurrency operations, and
drop all six edge3 exemptions from the guard list.
@boring-cyborg boring-cyborg Bot added area:providers provider:edge Edge Executor / Worker (AIP-69) / edge3 labels Sep 14, 2026
The kwargs-dict factory pattern defeats mypy's heterogeneous-dict
inference and the Optional-returning lookup helper leaked union types
into assertions, both failing the providers type check in CI. Spell out
the factory parameters and split the worker lookup into an asserting
getter and an Optional finder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providers provider:edge Edge Executor / Worker (AIP-69) / edge3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant