diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..fbea1e74 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,20 @@ +name: Test Schemas + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r tests/requirements.txt + - name: Test with pytest + run: | + pytest tests diff --git a/.gitignore b/.gitignore index a190ea51..c7cce850 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ guide/build .idea .DS_Store - +.vscode diff --git a/tests/__pycache__/test_schema.cpython-39-pytest-6.2.4.pyc b/tests/__pycache__/test_schema.cpython-39-pytest-6.2.4.pyc new file mode 100644 index 00000000..d5224617 Binary files /dev/null and b/tests/__pycache__/test_schema.cpython-39-pytest-6.2.4.pyc differ diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 00000000..aec3ae28 --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,2 @@ +pytest +lxml diff --git a/tests/test_schema.py b/tests/test_schema.py new file mode 100644 index 00000000..dbf94a74 --- /dev/null +++ b/tests/test_schema.py @@ -0,0 +1,10 @@ +from lxml import etree +import pathlib + +here = pathlib.Path(__file__).resolve().parent + + +def test_schema(): + # Checks that the schema is valid xsd + xmlschema_doc = etree.parse(str(here / '..' / 'schemas' / 'HPXML.xsd')) + xmlschema = etree.XMLSchema(xmlschema_doc) # noqa: F841