Skip to content

ensure NMI validation in docker compose#346

Merged
joshvote merged 1 commit intomainfrom
derpl_pollrate
Apr 24, 2026
Merged

ensure NMI validation in docker compose#346
joshvote merged 1 commit intomainfrom
derpl_pollrate

Conversation

@LachlanJW
Copy link
Copy Markdown
Contributor

Lets us pass S-OPT-02 without needing to manually add the config

@LachlanJW LachlanJW requested a review from joshvote April 23, 2026 06:50
@joshvote
Copy link
Copy Markdown
Contributor

✅ Code coverage on derpl_pollrate is at 91% (compared to main being at 91%)

🎉 No files have reduced coverage 🎉

Full Coverage Report

File Details
src/envoy/__init__.py ✅ 100% → 100%
src/envoy/admin/__init__.py ✅ 100% → 100%
src/envoy/admin/api/__init__.py ✅ 100% → 100%
src/envoy/admin/api/aggregator.py ✅ 72% → 72%
src/envoy/admin/api/archive.py ✅ 100% → 100%
src/envoy/admin/api/billing.py ✅ 85% → 85%
src/envoy/admin/api/certificate.py ✅ 78% → 78%
src/envoy/admin/api/config.py ✅ 100% → 100%
src/envoy/admin/api/depends.py ✅ 100% → 100%
src/envoy/admin/api/doe.py ✅ 85% → 85%
src/envoy/admin/api/health.py ✅ 60% → 60%
src/envoy/admin/api/log.py ✅ 81% → 81%
src/envoy/admin/api/pricing.py ✅ 81% → 81%
src/envoy/admin/api/site.py ✅ 76% → 76%
src/envoy/admin/api/site_control.py ✅ 81% → 81%
src/envoy/admin/api/site_reading.py ✅ 100% → 100%
src/envoy/admin/crud/__init__.py ✅ 100% → 100%
src/envoy/admin/crud/aggregator.py ✅ 100% → 100%
src/envoy/admin/crud/archive.py ✅ 100% → 100%
src/envoy/admin/crud/billing.py ✅ 100% → 100%
src/envoy/admin/crud/certificate.py ✅ 100% → 100%
src/envoy/admin/crud/doe.py ✅ 100% → 100%
src/envoy/admin/crud/log.py ✅ 100% → 100%
src/envoy/admin/crud/pricing.py ✅ 100% → 100%
src/envoy/admin/crud/site.py ✅ 100% → 100%
src/envoy/admin/crud/site_reading.py ✅ 100% → 100%
src/envoy/admin/main.py ✅ 91% → 91%
src/envoy/admin/manager/__init__.py ✅ 100% → 100%
src/envoy/admin/manager/aggregator.py ✅ 86% → 86%
src/envoy/admin/manager/archive.py ✅ 71% → 71%
src/envoy/admin/manager/billing.py ✅ 65% → 65%
src/envoy/admin/manager/certificate.py ✅ 90% → 90%
src/envoy/admin/manager/config.py ✅ 32% → 32%
src/envoy/admin/manager/doe.py ✅ 82% → 82%
src/envoy/admin/manager/log.py ✅ 77% → 77%
src/envoy/admin/manager/pricing.py ✅ 84% → 84%
src/envoy/admin/manager/site.py ✅ 52% → 52%
src/envoy/admin/manager/site_control.py ✅ 71% → 71%
src/envoy/admin/manager/site_reading.py ✅ 64% → 64%
src/envoy/admin/mapper/__init__.py ✅ 100% → 100%
src/envoy/admin/mapper/aggregator.py ✅ 94% → 94%
src/envoy/admin/mapper/archive.py ✅ 100% → 100%
src/envoy/admin/mapper/billing.py ✅ 97% → 97%
src/envoy/admin/mapper/certificate.py ✅ 100% → 100%
src/envoy/admin/mapper/doe.py ✅ 100% → 100%
src/envoy/admin/mapper/log.py ✅ 100% → 100%
src/envoy/admin/mapper/pricing.py ✅ 100% → 100%
src/envoy/admin/mapper/site.py ✅ 99% → 99%
src/envoy/admin/mapper/site_control.py ✅ 100% → 100%
src/envoy/admin/mapper/site_reading.py ✅ 100% → 100%
src/envoy/admin/settings.py ✅ 100% → 100%
src/envoy/logfilters.py ✅ 0% → 0%
src/envoy/notification/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/archive.py ✅ 89% → 89%
src/envoy/notification/crud/batch.py ✅ 97% → 97%
src/envoy/notification/crud/common.py ✅ 100% → 100%
src/envoy/notification/exception.py ✅ 100% → 100%
src/envoy/notification/handler.py ✅ 94% → 94%
src/envoy/notification/main.py ✅ 0% → 0%
src/envoy/notification/manager/__init__.py ✅ 100% → 100%
src/envoy/notification/manager/notification.py ✅ 100% → 100%
src/envoy/notification/settings.py ✅ 0% → 0%
src/envoy/notification/task/__init__.py ✅ 100% → 100%
src/envoy/notification/task/check.py ✅ 96% → 96%
src/envoy/notification/task/transmit.py ✅ 93% → 94%
src/envoy/server/__init__.py ✅ 100% → 100%
src/envoy/server/alembic/__init__.py ✅ 83% → 83%
src/envoy/server/alembic/env.py ✅ 0% → 0%
src/envoy/server/api/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/azure.py ✅ 98% → 98%
src/envoy/server/api/auth/jwks.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/connection_point.py ✅ 64% → 64%
src/envoy/server/api/depends/allow_nmi_updates.py ✅ 100% → 100%
src/envoy/server/api/depends/azure_ad_auth.py ✅ 94% → 94%
src/envoy/server/api/depends/lfdi_auth.py ✅ 95% → 95%
src/envoy/server/api/depends/nmi_validator.py ✅ 100% → 100%
src/envoy/server/api/depends/request_state_settings.py ✅ 100% → 100%
src/envoy/server/api/error_handler.py ✅ 88% → 88%
src/envoy/server/api/query.py ✅ 100% → 100%
src/envoy/server/api/request.py ✅ 94% → 94%
src/envoy/server/api/response.py ✅ 96% → 96%
src/envoy/server/api/router.py ✅ 100% → 100%
src/envoy/server/api/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/api/sep2/der.py ✅ 57% → 57%
src/envoy/server/api/sep2/derp.py ✅ 68% → 68%
src/envoy/server/api/sep2/device_capability.py ✅ 93% → 93%
src/envoy/server/api/sep2/end_device.py ✅ 80% → 80%
src/envoy/server/api/sep2/function_set_assignments.py ✅ 77% → 77%
src/envoy/server/api/sep2/log_event.py ✅ 83% → 83%
src/envoy/server/api/sep2/metering_mirror.py ✅ 61% → 61%
src/envoy/server/api/sep2/pricing.py ✅ 64% → 64%
src/envoy/server/api/sep2/response.py ✅ 85% → 85%
src/envoy/server/api/sep2/subscription.py ✅ 75% → 75%
src/envoy/server/api/sep2/time.py ✅ 96% → 96%
src/envoy/server/api/unsecured/__init__.py ✅ 100% → 100%
src/envoy/server/api/unsecured/health.py ✅ 48% → 48%
src/envoy/server/api/unsecured/version.py ✅ 100% → 100%
src/envoy/server/cache.py ✅ 93% → 93%
src/envoy/server/crud/__init__.py ✅ 100% → 100%
src/envoy/server/crud/aggregator.py ✅ 100% → 100%
src/envoy/server/crud/archive.py ✅ 100% → 100%
src/envoy/server/crud/auth.py ✅ 100% → 100%
src/envoy/server/crud/common.py ✅ 97% → 97%
src/envoy/server/crud/der.py ✅ 100% → 100%
src/envoy/server/crud/doe.py ✅ 100% → 100%
src/envoy/server/crud/health.py ✅ 88% → 88%
src/envoy/server/crud/log_event.py ✅ 100% → 100%
src/envoy/server/crud/pricing.py ✅ 100% → 100%
src/envoy/server/crud/response.py ✅ 100% → 100%
src/envoy/server/crud/server.py ✅ 100% → 100%
src/envoy/server/crud/site.py ✅ 100% → 100%
src/envoy/server/crud/site_reading.py ✅ 100% → 100%
src/envoy/server/crud/subscription.py ✅ 97% → 97%
src/envoy/server/database.py ✅ 100% → 100%
src/envoy/server/endpoint_exclusion.py ✅ 100% → 100%
src/envoy/server/exception.py ✅ 100% → 100%
src/envoy/server/lifespan.py ✅ 83% → 83%
src/envoy/server/main.py ✅ 98% → 98%
src/envoy/server/manager/__init__.py ✅ 100% → 100%
src/envoy/server/manager/der.py ✅ 99% → 99%
src/envoy/server/manager/der_constants.py ✅ 100% → 100%
src/envoy/server/manager/derp.py ✅ 100% → 100%
src/envoy/server/manager/device_capability.py ✅ 100% → 100%
src/envoy/server/manager/end_device.py ✅ 96% → 96%
src/envoy/server/manager/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/manager/health.py ✅ 83% → 83%
src/envoy/server/manager/log_event.py ✅ 100% → 100%
src/envoy/server/manager/metering.py ✅ 99% → 99%
src/envoy/server/manager/nmi_validator.py ✅ 97% → 97%
src/envoy/server/manager/pricing.py ✅ 98% → 98%
src/envoy/server/manager/response.py ✅ 92% → 92%
src/envoy/server/manager/server.py ✅ 100% → 100%
src/envoy/server/manager/subscription.py ✅ 98% → 98%
src/envoy/server/manager/time.py ✅ 92% → 92%
src/envoy/server/mapper/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/common.py ✅ 92% → 92%
src/envoy/server/mapper/constants.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/connection_point.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/doe.py ✅ 98% → 98%
src/envoy/server/mapper/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/der.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/device_capability.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/end_device.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/log_event.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/metering.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/mrid.py ✅ 91% → 91%
src/envoy/server/mapper/sep2/pricing.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/pub_sub.py ✅ 93% → 93%
src/envoy/server/mapper/sep2/response.py ✅ 98% → 98%
src/envoy/server/model/__init__.py ✅ 100% → 100%
src/envoy/server/model/aggregator.py ✅ 100% → 100%
src/envoy/server/model/archive/__init__.py ✅ 100% → 100%
src/envoy/server/model/archive/base.py ✅ 100% → 100%
src/envoy/server/model/archive/doe.py ✅ 100% → 100%
src/envoy/server/model/archive/site.py ✅ 100% → 100%
src/envoy/server/model/archive/site_reading.py ✅ 100% → 100%
src/envoy/server/model/archive/subscription.py ✅ 100% → 100%
src/envoy/server/model/archive/tariff.py ✅ 100% → 100%
src/envoy/server/model/base.py ✅ 100% → 100%
src/envoy/server/model/config/server.py ✅ 100% → 100%
src/envoy/server/model/constants.py ✅ 100% → 100%
src/envoy/server/model/doe.py ✅ 100% → 100%
src/envoy/server/model/log.py ✅ 100% → 100%
src/envoy/server/model/response.py ✅ 100% → 100%
src/envoy/server/model/server.py ✅ 100% → 100%
src/envoy/server/model/site.py ✅ 100% → 100%
src/envoy/server/model/site_reading.py ✅ 100% → 100%
src/envoy/server/model/subscription.py ✅ 100% → 100%
src/envoy/server/model/tariff.py ✅ 100% → 100%
src/envoy/server/request_scope.py ✅ 98% → 98%
src/envoy/server/settings.py ✅ 98% → 98%
src/envoy/server/tasks.py ✅ 100% → 100%
src/envoy/settings.py ✅ 100% → 100%
TOTAL ✅ 91% → 91%

@joshvote joshvote merged commit d8a040f into main Apr 24, 2026
12 checks passed
@joshvote joshvote deleted the derpl_pollrate branch April 24, 2026 04:43
joshvote added a commit that referenced this pull request Apr 29, 2026
* Tagging v1.3.6

* Added support for emulating shared DERControl mrids via display_id (#347)

* Initial skeleton

* Added mapping/test coverage

* Fixed test

* Add second aggregator to demo (#344)

* Improved pow10 multiplier validation (#345)

* wip

* add reset script to the demo folder. We can make this more complex later.

* add rebuild tls and db init

* black

* fix other tests

* ensure NMI validation in docker compose (#346)

* Blacklisting taskiq-aio-pika v0.6.0 (#348)

* Nullable SiteControlGroup fsa_id (#349)

* Added update admin API endpoint

* Fixed fsa_id None values appearing in FSA list

* Remaining fixes

* Fixed DERProgramList pollrate and notifications (#351)

* ensure NMI validation in docker compose

* wip

* wip

* WIP

* tests

* done

---------

Co-authored-by: Lachlan <161661313+LachlanJW@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants