modified to use pytest

This commit is contained in:
Emmanuel Viennet 2021-08-01 16:33:08 +03:00
parent 704bb2c170
commit 5db32a80ee
2 changed files with 109 additions and 106 deletions

View File

@ -71,11 +71,14 @@ def simple_dictlist2xml(dictlist, tagname=None, quote=False, pretty=True):
if pretty: if pretty:
# solution peu satisfaisante car on doit reparser le XML # solution peu satisfaisante car on doit reparser le XML
# de plus, on encode/decode pour avoir le tag <?xml version="1.0" encoding="utf-8"?> # de plus, on encode/decode pour avoir le tag <?xml version="1.0" encoding="utf-8"?>
try:
ans = ( ans = (
minidom.parseString(ans) minidom.parseString(ans)
.toprettyxml(indent="\t", encoding="utf-8") .toprettyxml(indent="\t", encoding="utf-8")
.decode("utf-8") .decode("utf-8")
) )
except xml.parsers.expat.ExpatError:
pass
return ans return ans

View File

@ -2,21 +2,18 @@
"""Unit tests for XML exports """Unit tests for XML exports
Usage: python -m unittest tests.test_export_xml Usage: pytest tests/unit/test_export_xml.py
""" """
# ScoDoc7 utilisait jaxml, obsolete et non portée en python3 # ScoDoc7 utilisait jaxml, obsolete et non portée en python3
# On teste ici les fionctions de remplacement, fournies par # On teste ici les fonctions de remplacement, fournies par
# notre nouveau module sco_xml.py # notre nouveau module sco_xml.py
from __future__ import print_function
import os import os
import re import re
import sys import sys
import unittest import unittest
sys.path.append("/mac/ScoDoc")
from app.scodoc import sco_xml from app.scodoc import sco_xml
from app.scodoc.gen_tables import GenTable from app.scodoc.gen_tables import GenTable
@ -36,6 +33,8 @@ def xmls_compare(x, y):
return xml_normalize(x) == xml_normalize(y) return xml_normalize(x) == xml_normalize(y)
def test_export_xml(test_client):
"""exports XML compatibles ScoDoc 7"""
# expected_result est le résultat de l'ancienne fonction ScoDoc7: # expected_result est le résultat de l'ancienne fonction ScoDoc7:
for (data, expected_result) in ( for (data, expected_result) in (
( (
@ -120,11 +119,11 @@ assert xmls_compare(
) )
# ---- Tables # ---- Tables
T = GenTable( table = GenTable(
rows=[{"nom": "Toto", "age": 26}, {"nom": "Titi", "age": 21}], rows=[{"nom": "Toto", "age": 26}, {"nom": "Titi", "age": 21}],
columns_ids=("nom", "age"), columns_ids=("nom", "age"),
) )
print(T.xml()) table_xml = table.xml()
expected_result = """ expected_result = """
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
@ -139,3 +138,4 @@ expected_result = """
</row> </row>
</table> </table>
""" """
assert xmls_compare(table_xml, expected_result)