Skip to content

Commit

Permalink
all tests to unittest + formatting
Browse files Browse the repository at this point in the history
formatting

formatting
  • Loading branch information
rvalyi committed Jun 29, 2024
1 parent 13f18f1 commit 8f638f7
Show file tree
Hide file tree
Showing 8 changed files with 96 additions and 94 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ docs/_build/

# Backup files
*~
*.swp
*.swp
4 changes: 2 additions & 2 deletions .xsdata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@
<Substitution type="package" search="http://schemas.xmlsoap.org/wsdl/soap/" replace="soap"/>
<Substitution type="package" search="http://schemas.xmlsoap.org/wsdl/soap12/" replace="soap12"/>
<Substitution type="package" search="http://schemas.xmlsoap.org/soap/envelope/" replace="soapenv"/>

<!-- xmldsig : -->
<Substitution type="field" search="^@any_element$" replace="any_element"/>
<Substitution type="field" search="^@other_element$" replace="other_element"/>
<Substitution type="field" search="^@any_attributes$" replace="any_attributes"/>
<Substitution type="field" search="^@any_attributes$" replace="any_attributes"/>
<Substitution type="field" search="^Signature$" replace="signature"/>
<Substitution type="field" search="^SignatureMethod$" replace="signatureMethod"/>
<Substitution type="field" search="^SignatureValue$" replace="signatureValue"/>
Expand Down
39 changes: 20 additions & 19 deletions tests/cte/test_cte.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,33 @@

import os
from xmldiff import main
from unittest import TestCase

from xsdata.formats.dataclass.serializers.config import SerializerConfig
from xsdata.formats.dataclass.parsers import XmlParser
from xsdata.formats.dataclass.serializers import XmlSerializer
from pathlib import Path

from nfelib.cte.bindings import v4_0
from nfelib.cte.bindings import v4_0 # noqa: F401


def test_in_out_cte():
path = os.path.join("nfelib", "cte", "samples", "v4_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file))
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj,
ns_map={None: "http://www.portalfiscal.inf.br/cte"}
)
class CTeTests(TestCase):
def test_in_out_cte(self):
path = os.path.join("nfelib", "cte", "samples", "v4_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file))
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.portalfiscal.inf.br/cte"}
)

output_file = "tests/output_cte.xml"
with open(output_file, "w") as f:
f.write(xml)
output_file = "tests/output_cte.xml"
with open(output_file, "w") as f:
f.write(xml)

diff = main.diff_files(input_file, output_file)
assert len(diff) == 0
if len(diff) != 0:
break
diff = main.diff_files(input_file, output_file)
self.assertEqual(len(diff), 0)
if len(diff) != 0:
break
39 changes: 20 additions & 19 deletions tests/mdfe/test_mdfe.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,33 @@

import os
from xmldiff import main
from unittest import TestCase

from xsdata.formats.dataclass.serializers.config import SerializerConfig
from xsdata.formats.dataclass.parsers import XmlParser
from xsdata.formats.dataclass.serializers import XmlSerializer
from pathlib import Path

from nfelib.mdfe.bindings import v3_0
from nfelib.mdfe.bindings import v3_0 # noqa: F401


def test_in_out_mdfe():
path = os.path.join("nfelib", "mdfe", "samples", "v3_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file))
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj,
ns_map={None: "http://www.portalfiscal.inf.br/mdfe"}
)
class MDFeTests(TestCase):
def test_in_out_mdfe(self):
path = os.path.join("nfelib", "mdfe", "samples", "v3_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file))
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.portalfiscal.inf.br/mdfe"}
)

output_file = "tests/output_mdfe.xml"
with open(output_file, "w") as f:
f.write(xml)
output_file = "tests/output_mdfe.xml"
with open(output_file, "w") as f:
f.write(xml)

diff = main.diff_files(input_file, output_file)
assert len(diff) == 0
if len(diff) != 0:
break
diff = main.diff_files(input_file, output_file)
self.assertEqual(len(diff), 0)
if len(diff) != 0:
break
36 changes: 19 additions & 17 deletions tests/nfe_evento_cce/test_cce.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import os
from xmldiff import main
from unittest import TestCase

from xsdata.formats.dataclass.serializers.config import SerializerConfig
from xsdata.formats.dataclass.parsers import XmlParser
Expand All @@ -11,22 +12,23 @@
from nfelib.nfe_evento_cce.bindings.v1_0.cce_v1_00 import Evento


def test_in_out_leiauteCCe():
path = os.path.join("nfelib", "nfe_evento_cce", "samples", "v1_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file), Evento)
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.portalfiscal.inf.br/nfe"}
)
class CCeTests(TestCase):
def test_in_out_leiauteCCe(self):
path = os.path.join("nfelib", "nfe_evento_cce", "samples", "v1_0")
for filename in os.listdir(path):
input_file = os.path.join(path, filename)
parser = XmlParser()
obj = parser.from_path(Path(input_file), Evento)
serializer = XmlSerializer(config=SerializerConfig(pretty_print=True))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.portalfiscal.inf.br/nfe"}
)

output_file = "tests/output_nfe_evento_cce.xml"
with open(output_file, "w") as f:
f.write(xml)
output_file = "tests/output_nfe_evento_cce.xml"
with open(output_file, "w") as f:
f.write(xml)

diff = main.diff_files(input_file, output_file)
assert len(diff) == 0
if len(diff) != 0:
break
diff = main.diff_files(input_file, output_file)
self.assertEqual(len(diff), 0)
if len(diff) != 0:
break
4 changes: 2 additions & 2 deletions tests/nfse/test_nfse.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
from xsdata.formats.dataclass.serializers import XmlSerializer
from pathlib import Path

from nfelib.nfse.bindings.v1_0 import nfse_v1_00
from nfelib.nfse.bindings.v1_0 import dps_v1_00
from nfelib.nfse.bindings.v1_0 import nfse_v1_00 # noqa: F401
from nfelib.nfse.bindings.v1_0 import dps_v1_00 # noqa: F401


class NFseTests(TestCase):
Expand Down
7 changes: 0 additions & 7 deletions tests/test_all.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion

import os
import sys
import importlib
import inspect
from enum import EnumMeta
from xmldiff import main

from xsdata.formats.dataclass.serializers.config import SerializerConfig
from xsdata.formats.dataclass.parsers import XmlParser
from xsdata.formats.dataclass.serializers import XmlSerializer
from pathlib import Path
import pkgutil
import logging

Expand Down
59 changes: 32 additions & 27 deletions tests/test_fingerprint.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from unittest import TestCase

import hashlib
import json
import logging
from os import environ, path
from os import environ
from pathlib import Path

import requests
Expand Down Expand Up @@ -39,33 +41,36 @@
}


def test_fingerprint():
if environ.get("SKIP_FINGERPRINT"):
_logger.info("Skipping fingerprint test")
return True
fingerprint = {}
for code, scrap_params in PAGES.items():
url = scrap_params[0]
md5 = "ELEMENT NOT FOUND"
_logger.info("Fetching %s ..." % (url,))
if len(scrap_params) > 1:
page = requests.get(url, headers=HEADERS)
soup = BeautifulSoup(page.text, "html.parser")
if scrap_params[2] == "id" and soup.find(
class FingerPrintTests(TestCase):
def test_fingerprint(self):
if environ.get("SKIP_FINGERPRINT"):
_logger.info("Skipping fingerprint test")
return True
fingerprint = {}
for code, scrap_params in PAGES.items():
url = scrap_params[0]
md5 = "ELEMENT NOT FOUND"
_logger.info("Fetching %s ..." % (url,))
if len(scrap_params) > 1:
page = requests.get(url, headers=HEADERS)
soup = BeautifulSoup(page.text, "html.parser")
if scrap_params[2] == "id" and soup.find(
scrap_params[1], {"id": scrap_params[3]}
):
fragment = soup.find(
scrap_params[1], {"id": scrap_params[3]}
).text.encode("utf-8")
fragment = soup.find(
scrap_params[1], {"id": scrap_params[3]}
).text.encode("utf-8")
md5 = hashlib.md5(fragment).hexdigest()
else:
fragment = requests.get(
url, headers=HEADERS
).content # .decode('utf-8')
md5 = hashlib.md5(fragment).hexdigest()
else:
fragment = requests.get(url, headers=HEADERS).content # .decode('utf-8')
md5 = hashlib.md5(fragment).hexdigest()
fingerprint[code] = (url, md5)
fingerprint[code] = (url, md5)

_logger.info(fingerprint)
json_string = json.dumps(fingerprint, indent=4)
target = Path("tests/fingerprint.txt").read_text()
with open("tests/fingerprint.txt", "w") as outfile:
outfile.write(json_string)
assert target.strip() == json_string.strip()
_logger.info(fingerprint)
json_string = json.dumps(fingerprint, indent=4)
target = Path("tests/fingerprint.txt").read_text()
with open("tests/fingerprint.txt", "w") as outfile:
outfile.write(json_string)
self.assertEqual(target.strip(), json_string.strip())

0 comments on commit 8f638f7

Please sign in to comment.