def test_as_dte_data_l2(self) -> None:
     self.assertEqual(
         self.dte_xml_data_1.as_dte_data_l2(),
         DteDataL2(
             emisor_rut=Rut('76354771-K'),
             tipo_dte=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=DteXmlData.DATETIME_FIELDS_TZ),
             signature_value=self.dte_1_xml_signature_value,
             signature_x509_cert_der=self.dte_1_xml_cert_der,
             emisor_giro='Ingenieria y Construccion',
             emisor_email='*****@*****.**',
             receptor_email=None,
         ))
     self.assertEqual(
         self.dte_xml_data_2.as_dte_data_l2(),
         DteDataL2(
             emisor_rut=Rut('60910000-1'),
             tipo_dte=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=DteXmlData.DATETIME_FIELDS_TZ),
             signature_value=self.dte_2_xml_signature_value,
             signature_x509_cert_der=self.dte_2_xml_cert_der,
             emisor_giro=
             'Corporación Educacional y Servicios                 Profesionales',
             emisor_email=None,
             receptor_email=None,
         ))
    def test_as_dte_data_l2(self):
        self._set_obj_1()

        obj = self.obj_1
        expected_output = DteDataL2(
            emisor_rut=Rut('76354771-K'),
            tipo_dte=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,
        )
        self.assertEqual(obj.as_dte_data_l2(), expected_output)
Exemple #3
0
    def test_init_fail_regression_signature_cert_der_bytes_with_x20(self) -> None:
        bytes_value_with_x20_as_base64 = 'IN2pkDBxqDnGl4Pfvboi'
        bytes_value_with_x20 = b'\x20\xdd\xa9\x900q\xa89\xc6\x97\x83\xdf\xbd\xba"'

        self.assertEqual(b'\x20', b' ')
        self.assertEqual(
            bytes_value_with_x20,
            base64.b64decode(bytes_value_with_x20_as_base64, validate=True))

        init_kwars = self.dte_l2_1.as_dict()
        init_kwars.update(dict(signature_x509_cert_der=bytes_value_with_x20))

        # with self.assertRaises(ValueError) as cm:
        #     _ = DteDataL2(**init_kwars)
        # self.assertEqual(
        #     cm.exception.args,
        #     ('Value has leading or trailing whitespace characters.', bytes_value_with_x20)
        # )
        _ = DteDataL2(**init_kwars)
Exemple #4
0
    def setUp(self) -> None:
        super().setUp()

        self.dte_l2_1 = DteDataL2(
            emisor_rut=Rut('76354771-K'),
            tipo_dte=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.dte_1_xml_signature_value,
            signature_x509_cert_der=self.dte_1_xml_cert_der,
            emisor_giro='Ingenieria y Construccion',
            emisor_email='*****@*****.**',
            receptor_email=None,
        )