se actualizan pruebas sobre cune
FossilOrigin-Name: b99aa36a75c8bd17256d26c412ac08fc8b3ef651ec8380b9724af6360f8e9388
This commit is contained in:
parent
a4d0d214dc
commit
b52a90dd76
@ -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()
|
||||||
@ -239,9 +245,9 @@ class InformacionGeneral:
|
|||||||
fexml.xpath_from_root('/InformacionGeneral/@Ambiente')
|
fexml.xpath_from_root('/InformacionGeneral/@Ambiente')
|
||||||
]
|
]
|
||||||
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():
|
||||||
|
Loading…
Reference in New Issue
Block a user