Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,44 @@
import pytest
from shapeshifter_uftp import (
FlexMessage,
PayloadMessage,
PayloadMessageResponse,
ShapeshifterAgrService,
ShapeshifterCroService,
ShapeshifterDsoService,
TestMessage,
TestMessageResponse,
uftp,
)
from shapeshifter_uftp.uftp import destination_map
@pytest.mark.parametrize(
"message_cls",
[
getattr(uftp, message_cls)
for message_cls in dir(uftp)
if isinstance(getattr(uftp, message_cls), type)
and PayloadMessage in getattr(uftp, message_cls).__mro__
and getattr(uftp, message_cls) not in (
PayloadMessage,
PayloadMessageResponse,
TestMessage,
TestMessageResponse,
FlexMessage,
)
],
)
def test_all_messages_have_destination(message_cls):
assert message_cls in destination_map
@pytest.mark.parametrize("message_cls,destination", destination_map.items())
def test_message_destination(message_cls, destination):
service_map = {
"AGR": ShapeshifterAgrService,
"CRO": ShapeshifterCroService,
"DSO": ShapeshifterDsoService,
}
assert message_cls in service_map[destination].acceptable_messages