def test_parse_dte_xml_fail_3(self) -> None: xml_doc = xml_utils.parse_untrusted_xml(self.dte_bad_xml_3_xml_bytes) with self.assertRaises(ValueError) as cm: parse_dte_xml(xml_doc) self.assertSequenceEqual( cm.exception.args, ("Top level XML element 'Document' is required.", ))
def test_parse_dte_xml_ok_2(self) -> None: xml_doc = xml_utils.parse_untrusted_xml(self.dte_clean_xml_2_xml_bytes) parsed_dte = parse_dte_xml(xml_doc) self.assertDictEqual( dict(parsed_dte.as_dict()), dict( emisor_rut=Rut('76399752-9'), tipo_dte=cl_sii.dte.constants.TipoDteEnum.FACTURA_ELECTRONICA, folio=25568, fecha_emision_date=date(2019, 3, 29), receptor_rut=Rut('96874030-K'), monto_total=230992, emisor_razon_social='COMERCIALIZADORA INNOVA MOBEL SPA', receptor_razon_social='EMPRESAS LA POLAR S.A.', fecha_vencimiento_date=None, firma_documento_dt=tz_utils.convert_naive_dt_to_tz_aware( dt=datetime(2019, 3, 28, 13, 59, 52), tz=DteDataL2.DATETIME_FIELDS_TZ), signature_value=self._TEST_DTE_2_SIGNATURE_VALUE, signature_x509_cert_der=self.dte_clean_xml_2_cert_der, emisor_giro='COMERCIALIZACION DE PRODUCTOS PARA EL HOGAR', emisor_email='*****@*****.**', receptor_email=None, ))
def test_parse_dte_xml_ok_1b(self) -> None: xml_doc = xml_utils.parse_untrusted_xml(self.dte_clean_xml_1b_xml_bytes) parsed_dte = parse_dte_xml(xml_doc) self.assertDictEqual( dict(parsed_dte.as_dict()), dict( emisor_rut=Rut('76354771-K'), tipo_dte=cl_sii.dte.constants.TipoDteEnum.FACTURA_ELECTRONICA, folio=170, fecha_emision_date=date(2019, 4, 1), receptor_rut=Rut('96790240-3'), monto_total=2996301, emisor_razon_social='INGENIERIA ENACON SPA', receptor_razon_social='MINERA LOS PELAMBRES', fecha_vencimiento_date=None, firma_documento_dt=tz_utils.convert_naive_dt_to_tz_aware( dt=datetime(2019, 4, 1, 1, 36, 40), tz=DteDataL2.DATETIME_FIELDS_TZ), signature_value=self._TEST_DTE_1_SIGNATURE_VALUE, signature_x509_cert_der=self.dte_clean_xml_1_cert_der, emisor_giro='Ingenieria y Construccion', emisor_email=None, receptor_email=None, ))
def test_parse_dte_xml_ok_3(self) -> None: xml_doc = xml_utils.parse_untrusted_xml(self.dte_clean_xml_3_xml_bytes) parsed_dte = parse_dte_xml(xml_doc) self.assertDictEqual( dict(parsed_dte.as_dict()), dict( emisor_rut=Rut('60910000-1'), tipo_dte=cl_sii.dte.constants.TipoDteEnum.FACTURA_ELECTRONICA, folio=2336600, fecha_emision_date=date(2019, 8, 8), receptor_rut=Rut('76555835-2'), monto_total=10642, emisor_razon_social='Universidad de Chile', receptor_razon_social='FYNPAL SPA', fecha_vencimiento_date=date(2019, 8, 8), firma_documento_dt=tz_utils.convert_naive_dt_to_tz_aware( dt=datetime(2019, 8, 9, 9, 41, 9), tz=DteDataL2.DATETIME_FIELDS_TZ), signature_value=self._TEST_DTE_3_SIGNATURE_VALUE, signature_x509_cert_der=self.dte_clean_xml_3_cert_der, emisor_giro= 'Corporación Educacional y Servicios Profesionales', emisor_email=None, receptor_email=None, ))