Files
cariflex/tools/shapeshifter-library-python-main/test/test_xml_schema_compliance.py
Eric F d398a6ced2 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
2026-06-08 00:38:27 -04:00

25 lines
722 B
Python

import os
import pytest
import xmlschema
from shapeshifter_uftp.transport import to_xml
from shapeshifter_uftp.uftp import destination_map
from .helpers.messages import messages
base_url = os.path.join(os.path.dirname(__file__), 'schema')
schemas = {
"AGR": xmlschema.XMLSchema("UFTP-agr.xsd", base_url=base_url),
"CRO": xmlschema.XMLSchema("UFTP-cro.xsd", base_url=base_url),
"DSO": xmlschema.XMLSchema("UFTP-dso.xsd", base_url=base_url),
}
@pytest.mark.parametrize('message', messages, ids=[message.__class__.__name__ for message in messages])
def test_schema_compliance(message):
xml_message = to_xml(message)
schema = schemas[destination_map[type(message)]]
schema.validate(xml_message)