se actualizan pruebas sobre cune
FossilOrigin-Name: b99aa36a75c8bd17256d26c412ac08fc8b3ef651ec8380b9724af6360f8e9388
This commit is contained in:
		| @@ -121,6 +121,7 @@ class Proveedor: | |||||||
|         # TODO(bit4bit) https://catalogo‐vpfe‐hab.dian.gov.co/document/searchqr?documentkey=CUNE para habilitacion |         # TODO(bit4bit) https://catalogo‐vpfe‐hab.dian.gov.co/document/searchqr?documentkey=CUNE para habilitacion | ||||||
|         # https://catalogo‐vpfe.dian.gov.co/document/searchqr?documentkey=CUNE |         # https://catalogo‐vpfe.dian.gov.co/document/searchqr?documentkey=CUNE | ||||||
|         codigo_qr = f"https://catalogo‐vpfe-hab.dian.gov.co/document/searchqr?documentkey={cune}" |         codigo_qr = f"https://catalogo‐vpfe-hab.dian.gov.co/document/searchqr?documentkey={cune}" | ||||||
|  |  | ||||||
|         fexml.set_element('./CodigoQR', codigo_qr) |         fexml.set_element('./CodigoQR', codigo_qr) | ||||||
|  |  | ||||||
|         # NIE020 |         # NIE020 | ||||||
| @@ -130,10 +131,15 @@ class Proveedor: | |||||||
|     def _software_security_code(self, fexml): |     def _software_security_code(self, fexml): | ||||||
|         # 8.2 |         # 8.2 | ||||||
|         numero = fexml.get_element_text_or_attribute('./NumeroSecuenciaXML/@Numero') |         numero = fexml.get_element_text_or_attribute('./NumeroSecuenciaXML/@Numero') | ||||||
|  |         if numero is None: | ||||||
|  |             raise RuntimeError('fallo obtener NumeroSequenciaXML/@Numero') | ||||||
|  |          | ||||||
|         id_software = self.software_id |         id_software = self.software_id | ||||||
|         software_pin = self.software_pin |         software_pin = self.software_pin | ||||||
|  |  | ||||||
|         code = "".join([id_software, software_pin, numero]) |         code = "".join([id_software, software_pin, numero]) | ||||||
|  |  | ||||||
|  |         fexml.set_attributes('./ProveedorXML', fachoSoftwareSC=code) | ||||||
|         h = hashlib.sha384() |         h = hashlib.sha384() | ||||||
|         h.update(code.encode('utf-8')) |         h.update(code.encode('utf-8')) | ||||||
|         return h.hexdigest() |         return h.hexdigest() | ||||||
| @@ -241,7 +247,7 @@ class InformacionGeneral: | |||||||
|         campos = fexml.get_elements_text_or_attributes(xpaths) |         campos = fexml.get_elements_text_or_attributes(xpaths) | ||||||
|  |  | ||||||
|         cune = "".join(campos) |         cune = "".join(campos) | ||||||
|         print(cune) |  | ||||||
|         h = hashlib.sha384() |         h = hashlib.sha384() | ||||||
|         h.update(cune.encode('utf-8')) |         h.update(cune.encode('utf-8')) | ||||||
|         cune_hash = h.hexdigest() |         cune_hash = h.hexdigest() | ||||||
| @@ -249,7 +255,8 @@ class InformacionGeneral: | |||||||
|         fragment.set_attributes( |         fragment.set_attributes( | ||||||
|             './InformacionGeneral', |             './InformacionGeneral', | ||||||
|             # NIE024 |             # NIE024 | ||||||
|             CUNE = cune_hash |             CUNE = cune_hash, | ||||||
|  |             fachoCUNE = cune | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
| class DianXMLExtensionSigner(fe.DianXMLExtensionSigner): | class DianXMLExtensionSigner(fe.DianXMLExtensionSigner): | ||||||
|   | |||||||
| @@ -124,7 +124,7 @@ def test_nomina_xml(): | |||||||
|     nomina.asignar_metadata(fe.nomina.Metadata( |     nomina.asignar_metadata(fe.nomina.Metadata( | ||||||
|         secuencia=fe.nomina.NumeroSecuencia( |         secuencia=fe.nomina.NumeroSecuencia( | ||||||
|             prefijo = 'N', |             prefijo = 'N', | ||||||
|             consecutivo=232 |             consecutivo='00001' | ||||||
|         ), |         ), | ||||||
|         lugar_generacion=fe.nomina.Lugar( |         lugar_generacion=fe.nomina.Lugar( | ||||||
|             pais = fe.nomina.Pais( |             pais = fe.nomina.Pais( | ||||||
| @@ -207,17 +207,20 @@ def test_nomina_xml(): | |||||||
|     xml = nomina.toFachoXML() |     xml = nomina.toFachoXML() | ||||||
|     # TODO(bit4bit) no logro generar cune igual al del anexo tecnico |     # TODO(bit4bit) no logro generar cune igual al del anexo tecnico | ||||||
|     #assert xml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'CUNE') == '16560dc8956122e84ffb743c817fe7d494e058a44d9ca3fa4c234c268b4f766003253fbee7ea4af9682dd57210f3bac2' |     #assert xml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'CUNE') == '16560dc8956122e84ffb743c817fe7d494e058a44d9ca3fa4c234c268b4f766003253fbee7ea4af9682dd57210f3bac2' | ||||||
|  |  | ||||||
|  |     assert xml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'fachoCUNE')  == "N000012020-01-161053:10-05:003500000.001000000.002500000.007000853718001994361026931" | ||||||
|     assert xml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'CUNE') == 'b8f9b6c24de07ffd92ea5467433a3b69357cfaffa7c19722db94b2e0eca41d057085a54f484b5da15ff585e773b0b0ab' |     assert xml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'CUNE') == 'b8f9b6c24de07ffd92ea5467433a3b69357cfaffa7c19722db94b2e0eca41d057085a54f484b5da15ff585e773b0b0ab' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/NumeroSecuenciaXML/@Numero') == 'N00001' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/NumeroSecuenciaXML/@Numero') == 'N00001' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/NumeroSecuenciaXML/@Consecutivo') == '232' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/NumeroSecuenciaXML/@Consecutivo') == '00001' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@Pais') == 'CO' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@Pais') == 'CO' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@DepartamentoEstado') == '05' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@DepartamentoEstado') == '05' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@MunicipioCiudad') == '05001' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/LugarGeneracionXML/@MunicipioCiudad') == '05001' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@NIT') == '999999' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@NIT') == '999999' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@DV') == '2' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@DV') == '2' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@SoftwareID') == 'xx' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@SoftwareID') == 'xx' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@SoftwareSC') == 'yy' |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@fachoSoftwareSC') == 'xx12N00001' | ||||||
|     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@CodigoQR') != None |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/ProveedorXML/@SoftwareSC') is not None | ||||||
|  |     assert xml.get_element_text_or_attribute('/fe:NominaIndividual/CodigoQR') != None | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_asignar_pago(): | def test_asignar_pago(): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user