• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FlexMeasures / flexmeasures / 34325410544
85%

Build:
DEFAULT BRANCH: main
Ran 09 Sep 2026 07:56AM UTC
Jobs 1
Files 182
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Sep 2026 07:44AM UTC coverage: 85.019% (+0.007%) from 85.012%
34325410544

push

github

web-flow
Reject a resolution that spans no positive time (#2502)

* Reject a resolution that spans no positive time (#2493)

`GET /sensors/<id>/data?resolution=PT0S` crashed with an uncaught
`ZeroDivisionError` from pandas, and was reported as a bare 500,
because `DurationField` only rejects durations that are not a multiple
of 1 minute, which a zero duration passes.

Add a `ResolutionField`, which additionally requires the duration to
span a positive amount of time, and use it for every `resolution`
query parameter the API takes.
A negative resolution was accepted too, and quietly described an empty
set of events; it is now rejected the same way.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RgnoDDysWF5CMi3k827rHM
Signed-off-by: F.N. Claessen <felix@seita.nl>

* Reference the PR number in the changelog entry

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RgnoDDysWF5CMi3k827rHM
Signed-off-by: F.N. Claessen <felix@seita.nl>

* Cover the days component of a nominal resolution

An isodate.Duration keeps its days and seconds in its tdelta, and only
its years and months next to it, so checking the tdelta already covers
a duration such as "P1M1D". Say so, and pin it down with tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RgnoDDysWF5CMi3k827rHM
Signed-off-by: F.N. Claessen <felix@seita.nl>

* End a test comment at punctuation

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RgnoDDysWF5CMi3k827rHM
Signed-off-by: F.N. Claessen <felix@seita.nl>

* Describe the change accurately in both changelogs

The main entry only mentioned a zero resolution, where a negative one is
rejected too, and the API entry called `resolution` a query parameter,
where the schedule trigger endpoints read it from the request body.

Co-Authored-By: Claude Opus 5 <no... (continued)

15 of 15 new or added lines in 5 files covered. (100.0%)

18490 of 21748 relevant lines covered (85.02%)

0.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34325410544.1 09 Sep 2026 07:56AM UTC 182
85.02
GitHub Action Run
Source Files on build 34325410544
  • Tree
  • List 182
  • Changed 6
  • Source Changed 6
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34325410544
  • 53724a4c on github
  • Prev Build on main (#34282089360)
  • Next Build on main (#34330049935)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc