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

akvo / akvo-mis / #1086
90%
main: 90%

Build:
Build:
LAST BUILD BRANCH: epic/geoshape-capture-validation
DEFAULT BRANCH: main
Ran 14 Sep 2026 02:27AM UTC
Jobs 1
Files 137
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

12 Sep 2026 02:27PM UTC coverage: 89.853%. First build
#1086

Pull #405

coveralls-python

zuhdil
[#402] Cut the geometry code down to what it needs

Four simplifications, no behaviour change.

`enabled_geoshape_question_ids` filtered a JSON key with a nine-line
Python loop. Django's JSONField lookup does it in the database, and it
is exactly as strict: the right-hand side is encoded as JSON, so
`=True` matches `true` and not `"true"`, `["true"]`, `1` or a missing
key. That strictness was the only reason the loop existed, so the
docstring now records where it comes from -- someone who reads the
lookup as a truthiness check and "fixes" it would reopen the fail-open
hole this feature exists to close.

`bounding_box` walked the coordinate list twice to split the axes.
`zip(*coordinates)` does it once.

The response schema described the `geometry` entry with two nested
`inline_serializer` definitions, thirty lines restating the shape this
endpoint's own response already shows. A `DictField` with the shape in
`help_text` documents the field for the same reader. The trade-off is
real and deliberate: the generated schema no longer names the four
bbox keys as typed properties, so GEO-006's implementer takes them
from the help text or the design doc instead of the component tree.

`validate` listed geoshape and geotrace in the plain "must be a list"
branches and then re-checked the same thing inside
`is_coordinate_ring`, whose first clause is `isinstance(value, list)`.
The entries could never fire first, so they are gone and a malformed
ring now gets the specific coordinate message instead of the generic
list one. A comment on the predicate says the clause is load-bearing,
because the obvious way to "tidy" it is to drop it and re-add the
entries.
Pull Request #405: [#402] [GEO-005] Extend the datapoint list with geometry & bounding box

7361 of 8411 branches covered (87.52%)

Branch coverage included in aggregate %.

13741 of 15074 relevant lines covered (91.16%)

0.91 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #1086.1 14 Sep 2026 02:27AM UTC 137
89.85
Source Files on build #1086
  • Tree
  • List 137
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #405
  • Next Build on feature/402-geo-005-extend-the-datapoint-list-with-geometry-bounding-box
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