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

spotify / lemur / 28868786699
60%
master: 60%

Build:
Build:
LAST BUILD BRANCH: spotify/cleanup-sect-and-acme
DEFAULT BRANCH: master
Ran 07 Jul 2026 01:16PM UTC
Jobs 1
Files 13
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

07 Jul 2026 01:11PM UTC coverage: 59.879%. Remained the same
28868786699

push

github

web-flow
Add tests for rotate CLI and celery tasks (#78)

* Add tests for rotate CLI, request_rotation, and celery tasks

Cover critical production paths that had zero test coverage:

rotate CLI (8 tests):
- request_rotation: commit/no-commit, message/no-message, error
  handling, success/failure metrics
- Bulk rotation regression test: all 6 endpoints rotated, not 5
  (list-mutation bug)
- Single-endpoint rotation and dry-run mode

Celery tasks (12 tests):
- certificate_rotate: CLI dispatch, notification config, region
  routing, SoftTimeLimitExceeded, success metric
- certificate_reissue: CLI dispatch, timeout, success metric
- notify_expirations: CLI dispatch, config passthrough, timeout
- clean_all_sources: per-source task dispatch, success metric

* Fix celery tests: remove autouse fixtures to avoid session corruption

The autouse fixtures patching lemur.common.celery triggered module-level
create_app() during pytest collection, creating a second Flask app that
corrupted the session-scoped SQLAlchemy session for other tests.

* Add Python 3.12 to CI matrix

Production (lemur-deploy) runs Python 3.12 but CI only tested 3.10
and 3.11. Add 3.12 to the matrix so CI matches what we deploy.

* Fix celery tests: defer module import into app context

lemur.common.celery calls create_app() at module level when no Flask
current_app exists. Importing it outside an app context (e.g. during
pytest collection or early in a test) creates a second Flask app that
corrupts the session-scoped SQLAlchemy session, breaking 20 tests in
test_certificates.py.

Fix: use _import_celery_task() helper that defers the import to inside
the test body where the app context is active. Also require the session
fixture to ensure DB state is clean.

* Remove celery task tests — module-level create_app() is incompatible with test suite

lemur.common.celery unconditionally calls create_app() at import time
when no Flask current_app exists. This creates a second Flask app that
corrupts the ses... (continued)

594 of 992 relevant lines covered (59.88%)

0.6 hits per line

Jobs
ID Job ID Ran Files Coverage
1 Python 3.11 Postgres 17 OS ubuntu-22.04 - 28868786699.1 07 Jul 2026 01:16PM UTC 13
59.88
GitHub Action Run
Source Files on build 28868786699
  • Tree
  • List 13
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28868786699
  • 469f6f9b on github
  • Prev Build on main (#28856724146)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc