From 31b5cc9fff6ca9eb1584f72b2b09dc99ed7771f6 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 30 Jan 2025 13:34:41 -0600 Subject: [PATCH 01/28] Update dependencies and Python version support --- Makefile | 4 ++-- requirements-test.txt | 16 +++++++++------- requirements.txt | 7 +++---- setup.py | 14 ++++++++------ 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index f9e5447..798e946 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ SHELL := bash PATH := ./venv/bin:${PATH} -PYTHON=python3.7 +PYTHON=python3.11 PROJECT=cep isort = isort $(PROJECT) tests setup.py -black = black -S -l 79 --target-version py37 $(PROJECT) tests setup.py +black = black -S -l 79 --target-version py311 $(PROJECT) tests setup.py .PHONY: all all: testt diff --git a/requirements-test.txt b/requirements-test.txt index d55fe2b..34125fd 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,7 +1,9 @@ -pytest==6.2.5 -pytest-vcr==1.0.2 -pytest-cov==3.0.0 -black==22.3.0 -flake8==4.0.1 -isort[pipfile]==5.10.1 -mypy==0.790 +pytest==8.* +pytest-vcr==1.* +pytest-cov==6.* +black==24.* +flake8==7.* +isort==5.* +mypy==1.* +types-lxml==2024.* +types-requests==2.* diff --git a/requirements.txt b/requirements.txt index 34c2b14..cb432c8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ -requests==2.31.0 -clabe==1.2.4 -lxml==4.9.1 -dataclasses>=0.6;python_version<"3.7" +requests==2.32.3 +clabe==2.0.0 +lxml==5.3.0 diff --git a/setup.py b/setup.py index 0b4c43d..778b688 100644 --- a/setup.py +++ b/setup.py @@ -21,15 +21,17 @@ packages=find_packages(), include_package_data=True, package_data=dict(cep=['py.typed']), - python_requires='>=3.7', + python_requires='>=3.10', install_requires=[ - 'requests>=2.25,<2.32', - 'clabe>=1.2.4,<1.3', - 'lxml>=4.6.2,<4.10', - 'dataclasses>=0.6;python_version<"3.7"', + 'requests>=2.32.0,<3.0.0', + 'clabe>=2.0.0,<3.0.0', + 'lxml>=5.3.0,<6.0.0', ], classifiers=[ - 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', ], From 6ceb00316198d6694014e4a558e3b1b07de6962f Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 30 Jan 2025 13:37:18 -0600 Subject: [PATCH 02/28] Handle incomplete CEP responses and improve error handling --- cep/cuenta.py | 11 +++++----- cep/exc.py | 7 +++++++ cep/transferencia.py | 30 +++++++++++++++++++-------- tests/test_transferencia.py | 41 ++++++++++++++++++++++++++++++++++++- 4 files changed, 74 insertions(+), 15 deletions(-) diff --git a/cep/cuenta.py b/cep/cuenta.py index 4f2a5f7..35cd4ca 100644 --- a/cep/cuenta.py +++ b/cep/cuenta.py @@ -1,15 +1,16 @@ from dataclasses import dataclass +from typing import Optional from lxml import etree @dataclass class Cuenta: - nombre: str - tipo: str - banco: str - numero: str - rfc: str + nombre: Optional[str] = None + tipo: Optional[str] = None + banco: Optional[str] = None + numero: Optional[str] = None + rfc: Optional[str] = None @classmethod def from_etree(cls, element: etree._Element): diff --git a/cep/exc.py b/cep/exc.py index 5e0ec9c..4a5698b 100644 --- a/cep/exc.py +++ b/cep/exc.py @@ -10,3 +10,10 @@ class MaxRequestError(CepError): M谩ximo n煤mero de peticiones alcanzadas para obtener el CEP de una transferencia """ + + +class IncompleteResponseError(CepError): + """ + Respuesta incompleta del sitio web + https://www.banxico.org.mx/cep/ + """ diff --git a/cep/transferencia.py b/cep/transferencia.py index c3861e4..4221f02 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -8,7 +8,7 @@ from .client import Client from .cuenta import Cuenta -from .exc import CepError, MaxRequestError +from .exc import CepError, IncompleteResponseError, MaxRequestError MAX_REQUEST_ERROR_MESSAGE = ( b'Lo sentimos, pero ha excedido el número máximo ' @@ -54,12 +54,19 @@ def validar( resp = etree.fromstring(xml) - ordenante = Cuenta.from_etree(resp.find('Ordenante')) - beneficiario = Cuenta.from_etree(resp.find('Beneficiario')) - concepto = resp.find('Beneficiario').get('Concepto') - fecha_operacion = datetime.datetime.fromisoformat( - str(fecha) + ' ' + resp.get('Hora') - ) + ordenante_element = resp.find('Ordenante') + beneficiario_element = resp.find('Beneficiario') + + if ordenante_element is None or beneficiario_element is None: + raise IncompleteResponseError + + ordenante = Cuenta.from_etree(ordenante_element) + beneficiario = Cuenta.from_etree(beneficiario_element) + + concepto = beneficiario_element.get('Concepto') or '' + hora = resp.get('Hora') or '00:00:00' + fecha_operacion = datetime.datetime.fromisoformat(f'{fecha} {hora}') + transferencia = cls( fecha_operacion=fecha_operacion, ordenante=ordenante, @@ -69,7 +76,7 @@ def validar( clave_rastreo=clave_rastreo, emisor=emisor, receptor=receptor, - sello=resp.get('sello'), + sello=resp.get('sello') or '', ) setattr(transferencia, '__client', client) return transferencia @@ -78,14 +85,19 @@ def descargar(self, formato: str = 'PDF') -> bytes: """formato puede ser PDF, XML o ZIP""" client = getattr(self, '__client', None) if not client: + numero_cuenta = '' + if self.beneficiario is not None: + numero_cuenta = self.beneficiario.numero or '' client = self._validar( self.fecha_operacion.date(), self.clave_rastreo, self.emisor, self.receptor, - self.beneficiario.numero, + numero_cuenta, self.monto, ) + if not client: + raise CepError return self._descargar(client, formato) def to_dict(self) -> dict: diff --git a/tests/test_transferencia.py b/tests/test_transferencia.py index 5cbea57..7c0140b 100644 --- a/tests/test_transferencia.py +++ b/tests/test_transferencia.py @@ -5,7 +5,8 @@ from requests import HTTPError from cep import Transferencia -from cep.exc import CepError, MaxRequestError +from cep.client import Client +from cep.exc import CepError, IncompleteResponseError, MaxRequestError @pytest.mark.vcr @@ -89,3 +90,41 @@ def test_maximo_numero_de_requests(): cuenta='012180000', monto=0.01, ) + + +def test_incomplete_response(monkeypatch): + mock_post_response = b'Respuesta exitosa' + mock_get_response = ( + b'' + b'' + b'' + ) + + def mock_post(self, path, data): + return mock_post_response + + def mock_get(self, path): + return mock_get_response + + monkeypatch.setattr(Client, 'post', mock_post) + monkeypatch.setattr(Client, 'get', mock_get) + + with pytest.raises(IncompleteResponseError): + Transferencia.validar( + fecha=dt.date(2022, 4, 19), + clave_rastreo='CUENCA927820173168', + emisor='90646', # STP + receptor='40012', # BBVA + cuenta='012180000', + monto=0.01, + ) + + +def test_descarga_sin_client_validacion_fallida(monkeypatch, transferencia): + def mock_validar(*args, **kwargs): + return None + + monkeypatch.setattr(Transferencia, '_validar', mock_validar) + + with pytest.raises(CepError): + transferencia.descargar() From cb08a9f39a6d6ac993887ba9875ac54593fa5479 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 30 Jan 2025 13:44:35 -0600 Subject: [PATCH 03/28] Update GitHub Actions workflows to latest versions --- .github/workflows/release.yml | 10 +++++----- .github/workflows/test.yml | 21 +++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee7d9ea..ae83374 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,18 +6,18 @@ jobs: publish-pypi: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - name: Set up Python 3.8 - uses: actions/setup-python@v4.1.0 + - uses: actions/checkout@v4 + - name: Set up Python 3.13 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.13 - name: Install dependencies run: pip install -qU setuptools wheel twine - name: Generating distribution archives run: python setup.py sdist bdist_wheel - name: Publish distribution 馃摝 to PyPI if: startsWith(github.event.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7fa8e22..90ff746 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,11 +6,11 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4.1.0 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.13 - name: Install dependencies run: make install-test - name: Lint @@ -20,11 +20,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.7, 3.8] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4.1.0 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -35,18 +35,19 @@ jobs: coverage: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4.1.0 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.13 - name: Install dependencies run: make install-test - name: Generate coverage report run: pytest --cov-report=xml - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2.1.0 + uses: codecov/codecov-action@v5 with: + token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.xml flags: unittests name: codecov-umbrella From 8396bbfc10dcfb966e83147cd522321d746a3df6 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 30 Jan 2025 13:44:54 -0600 Subject: [PATCH 04/28] Update PyPI badge URL to point to cepmex project --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a64f46..594287e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![test](https://github.com/cuenca-mx/cep-python/workflows/test/badge.svg)](https://github.com/cuenca-mx/cep-python/actions?query=workflow%3Atest) [![codecov](https://codecov.io/gh/cuenca-mx/cep-python/branch/master/graph/badge.svg)](https://codecov.io/gh/cuenca-mx/cep-python) -[![PyPI](https://img.shields.io/pypi/v/cuenca.svg)](https://pypi.org/project/cuenca/) +[![PyPI](https://img.shields.io/pypi/v/cuenca.svg)](https://pypi.org/project/cepmex/) Python client library for CEP (http://www.banxico.org.mx/cep/) From 5d42bbcfe5ca92a83edb706aa48791f16b4640b2 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 30 Jan 2025 13:54:06 -0600 Subject: [PATCH 05/28] Fix PyPI badge URL to point to correct project --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 594287e..7d42f93 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![test](https://github.com/cuenca-mx/cep-python/workflows/test/badge.svg)](https://github.com/cuenca-mx/cep-python/actions?query=workflow%3Atest) [![codecov](https://codecov.io/gh/cuenca-mx/cep-python/branch/master/graph/badge.svg)](https://codecov.io/gh/cuenca-mx/cep-python) -[![PyPI](https://img.shields.io/pypi/v/cuenca.svg)](https://pypi.org/project/cepmex/) +[![PyPI](https://img.shields.io/pypi/v/cepmex.svg)](https://pypi.org/project/cepmex/) Python client library for CEP (http://www.banxico.org.mx/cep/) From f52e44e184ee2ebc65f3ea8343d72421ce1708a3 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 7 Feb 2025 11:06:36 -0600 Subject: [PATCH 06/28] Bump version to 1.0.0.dev1 --- cep/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep/version.py b/cep/version.py index 020ed73..ce338d8 100644 --- a/cep/version.py +++ b/cep/version.py @@ -1 +1 @@ -__version__ = '0.2.2' +__version__ = '1.0.0.dev1' From cbf9c60e4e05c94eab882dada07e361579e8d214 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 7 Feb 2025 15:52:56 -0600 Subject: [PATCH 07/28] Release version 1.0.0 --- cep/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep/version.py b/cep/version.py index ce338d8..1f356cc 100644 --- a/cep/version.py +++ b/cep/version.py @@ -1 +1 @@ -__version__ = '1.0.0.dev1' +__version__ = '1.0.0' From a21e39dbed8885d328c33134603225dd99bfd7d4 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 7 Feb 2025 16:18:47 -0600 Subject: [PATCH 08/28] Update Python version to 3.13 in Makefile --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 798e946..0ef7c50 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ SHELL := bash PATH := ./venv/bin:${PATH} -PYTHON=python3.11 +PYTHON=python3.13 PROJECT=cep isort = isort $(PROJECT) tests setup.py -black = black -S -l 79 --target-version py311 $(PROJECT) tests setup.py +black = black -S -l 79 --target-version py313 $(PROJECT) tests setup.py .PHONY: all all: testt From f417ad5a51ecface5e3c2d1d6728673a4a0b69d2 Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 11 Feb 2025 15:58:21 -0600 Subject: [PATCH 09/28] Refactor CEP client and transfer validation logic --- cep/client.py | 1 - cep/cuenta.py | 30 +++++++++++--------- cep/exc.py | 7 ----- cep/transferencia.py | 65 ++++++++++++++++++++++++++++++-------------- 4 files changed, 61 insertions(+), 42 deletions(-) diff --git a/cep/client.py b/cep/client.py index 9062e14..a0efcfc 100644 --- a/cep/client.py +++ b/cep/client.py @@ -14,7 +14,6 @@ def __init__(self): self.session.headers['User-Agent'] = USER_AGENT self.base_data = dict( tipoCriterio='T', - receptorParticipante=0, captcha='c', tipoConsulta=1, ) diff --git a/cep/cuenta.py b/cep/cuenta.py index 35cd4ca..e351d9b 100644 --- a/cep/cuenta.py +++ b/cep/cuenta.py @@ -1,24 +1,28 @@ from dataclasses import dataclass -from typing import Optional from lxml import etree @dataclass class Cuenta: - nombre: Optional[str] = None - tipo: Optional[str] = None - banco: Optional[str] = None - numero: Optional[str] = None - rfc: Optional[str] = None + nombre: str + tipo_cuenta: str + banco: str + numero: str + rfc: str @classmethod def from_etree(cls, element: etree._Element): - cuenta = cls( - nombre=element.get('Nombre'), - tipo=element.get('TipoCuenta'), - banco=element.get('BancoEmisor') or element.get('BancoReceptor'), - numero=element.get('Cuenta'), - rfc=element.get('RFC'), + banco = ( + element.attrib['BancoEmisor'] + if 'BancoEmisor' in element.attrib + else element.attrib['BancoReceptor'] + ) + + return cls( + nombre=element.attrib['Nombre'], + tipo_cuenta=element.attrib['TipoCuenta'], + banco=banco, + numero=element.attrib['Cuenta'], + rfc=element.attrib['RFC'], ) - return cuenta diff --git a/cep/exc.py b/cep/exc.py index 4a5698b..5e0ec9c 100644 --- a/cep/exc.py +++ b/cep/exc.py @@ -10,10 +10,3 @@ class MaxRequestError(CepError): M谩ximo n煤mero de peticiones alcanzadas para obtener el CEP de una transferencia """ - - -class IncompleteResponseError(CepError): - """ - Respuesta incompleta del sitio web - https://www.banxico.org.mx/cep/ - """ diff --git a/cep/transferencia.py b/cep/transferencia.py index 4221f02..90d581b 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -1,6 +1,7 @@ import datetime from dataclasses import asdict, dataclass -from typing import Optional +from decimal import Decimal +from typing import Optional, cast import clabe from lxml import etree @@ -8,7 +9,7 @@ from .client import Client from .cuenta import Cuenta -from .exc import CepError, IncompleteResponseError, MaxRequestError +from .exc import CepError, MaxRequestError MAX_REQUEST_ERROR_MESSAGE = ( b'Lo sentimos, pero ha excedido el número máximo ' @@ -18,15 +19,19 @@ @dataclass class Transferencia: - fecha_operacion: datetime.datetime + fecha_operacion: datetime.date + fecha_abono: datetime.datetime ordenante: Cuenta beneficiario: Cuenta - monto: float + monto: Decimal + iva: Decimal concepto: str clave_rastreo: str emisor: str receptor: str sello: str + tipo_pago: int + pago_a_banco: bool = False @classmethod def validar( @@ -36,10 +41,11 @@ def validar( emisor: str, receptor: str, cuenta: str, - monto: float, + monto: Decimal, + pago_a_banco: bool = False, ): client = cls._validar( - fecha, clave_rastreo, emisor, receptor, cuenta, monto + fecha, clave_rastreo, emisor, receptor, cuenta, monto, pago_a_banco ) if not client: return None @@ -54,29 +60,46 @@ def validar( resp = etree.fromstring(xml) - ordenante_element = resp.find('Ordenante') - beneficiario_element = resp.find('Beneficiario') - - if ordenante_element is None or beneficiario_element is None: - raise IncompleteResponseError + ordenante_element = cast(etree._Element, resp.find('Ordenante')) + beneficiario_element = cast(etree._Element, resp.find('Beneficiario')) ordenante = Cuenta.from_etree(ordenante_element) beneficiario = Cuenta.from_etree(beneficiario_element) - concepto = beneficiario_element.get('Concepto') or '' - hora = resp.get('Hora') or '00:00:00' - fecha_operacion = datetime.datetime.fromisoformat(f'{fecha} {hora}') + cadena_cda = resp.attrib['cadenaCDA'].split("|") + + tipo_pago = cadena_cda[2] + + fecha_operacion = datetime.date.fromisoformat( + resp.attrib['FechaOperacion'] + ) + + fecha_abono_str = ( + f"{cadena_cda[4][4:]}-{cadena_cda[4][2:4]}-{cadena_cda[4][:2]}" + ) + + hora_abono = resp.attrib['Hora'] + fecha_abono = datetime.datetime.fromisoformat( + f'{fecha_abono_str} {hora_abono}' + ) + + iva = beneficiario_element.attrib['IVA'] + concepto = beneficiario_element.attrib['Concepto'] + sello = resp.attrib['sello'] transferencia = cls( fecha_operacion=fecha_operacion, + fecha_abono=fecha_abono, ordenante=ordenante, beneficiario=beneficiario, monto=monto, + iva=Decimal(iva), concepto=concepto, clave_rastreo=clave_rastreo, emisor=emisor, receptor=receptor, - sello=resp.get('sello') or '', + sello=sello, + tipo_pago=int(tipo_pago), ) setattr(transferencia, '__client', client) return transferencia @@ -85,16 +108,14 @@ def descargar(self, formato: str = 'PDF') -> bytes: """formato puede ser PDF, XML o ZIP""" client = getattr(self, '__client', None) if not client: - numero_cuenta = '' - if self.beneficiario is not None: - numero_cuenta = self.beneficiario.numero or '' client = self._validar( - self.fecha_operacion.date(), + self.fecha_abono.date(), self.clave_rastreo, self.emisor, self.receptor, - numero_cuenta, + self.beneficiario.numero, self.monto, + self.pago_a_banco, ) if not client: raise CepError @@ -110,7 +131,8 @@ def _validar( emisor: str, receptor: str, cuenta: str, - monto: float, + monto: Decimal, + pago_a_banco: bool = False, ) -> Optional[Client]: assert emisor in clabe.BANKS.values() assert receptor in clabe.BANKS.values() @@ -122,6 +144,7 @@ def _validar( receptor=receptor, cuenta=cuenta, monto=monto, + receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) # None si no pud贸 validar From dc8e97337c55e3381e51cd239c44d3af0d659377 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 09:12:35 -0600 Subject: [PATCH 10/28] Add Config class and update base URL handling --- cep/__init__.py | 3 ++- cep/client.py | 6 +++--- cep/config.py | 2 ++ cep/transferencia.py | 10 ++++++---- 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 cep/config.py diff --git a/cep/__init__.py b/cep/__init__.py index 0075cfe..103d858 100644 --- a/cep/__init__.py +++ b/cep/__init__.py @@ -1,6 +1,7 @@ -__all__ = ['__version__', 'Cuenta', 'Client', 'Transferencia'] +__all__ = ['__version__', 'Config', 'Cuenta', 'Client', 'Transferencia'] from .client import Client +from .config import Config from .cuenta import Cuenta from .transferencia import Transferencia from .version import __version__ diff --git a/cep/client.py b/cep/client.py index a0efcfc..3ff1bd1 100644 --- a/cep/client.py +++ b/cep/client.py @@ -1,5 +1,7 @@ import requests +from .config import Config + USER_AGENT = ( 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' @@ -7,8 +9,6 @@ class Client: - base_url = 'http://www.banxico.org.mx/cep' - def __init__(self): self.session = requests.Session() self.session.headers['User-Agent'] = USER_AGENT @@ -28,7 +28,7 @@ def post(self, endpoint: str, data: dict, **kwargs) -> bytes: def request( self, method: str, endpoint: str, data: dict, **kwargs ) -> bytes: - url = self.base_url + endpoint + url = Config.BASE_URL + endpoint response = self.session.request(method, url, data=data, **kwargs) if not response.ok: response.raise_for_status() diff --git a/cep/config.py b/cep/config.py new file mode 100644 index 0000000..d4c6f09 --- /dev/null +++ b/cep/config.py @@ -0,0 +1,2 @@ +class Config: + BASE_URL = 'https://www.banxico.org.mx/cep' diff --git a/cep/transferencia.py b/cep/transferencia.py index 90d581b..d190586 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -68,16 +68,18 @@ def validar( cadena_cda = resp.attrib['cadenaCDA'].split("|") + # FechaAbono is not explicitly provided in response. + # It can be extracted from the CDA string. + fecha_abono_str = ( + f"{cadena_cda[4][4:]}-{cadena_cda[4][2:4]}-{cadena_cda[4][:2]}" + ) + tipo_pago = cadena_cda[2] fecha_operacion = datetime.date.fromisoformat( resp.attrib['FechaOperacion'] ) - fecha_abono_str = ( - f"{cadena_cda[4][4:]}-{cadena_cda[4][2:4]}-{cadena_cda[4][:2]}" - ) - hora_abono = resp.attrib['Hora'] fecha_abono = datetime.datetime.fromisoformat( f'{fecha_abono_str} {hora_abono}' From dbd3ae0a6e5185d046951d5551d0eb534fcbea1d Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 10:02:43 -0600 Subject: [PATCH 11/28] Add NotFoundError --- cep/exc.py | 6 ++++++ cep/transferencia.py | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cep/exc.py b/cep/exc.py index 5e0ec9c..7756787 100644 --- a/cep/exc.py +++ b/cep/exc.py @@ -5,6 +5,12 @@ class CepError(Exception): """ +class NotFoundError(CepError): + """ + No se encontr贸 el CEP de una transferencia + """ + + class MaxRequestError(CepError): """ M谩ximo n煤mero de peticiones alcanzadas para diff --git a/cep/transferencia.py b/cep/transferencia.py index d190586..c649523 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -9,13 +9,17 @@ from .client import Client from .cuenta import Cuenta -from .exc import CepError, MaxRequestError +from .exc import CepError, MaxRequestError, NotFoundError MAX_REQUEST_ERROR_MESSAGE = ( b'Lo sentimos, pero ha excedido el número máximo ' b'de consultas en este portal' ) +NOT_FOUND_ERROR_MESSAGE = ( + 'No se encontr贸 ning煤n pago con la informaci贸n proporcionada' +) + @dataclass class Transferencia: @@ -149,8 +153,9 @@ def _validar( receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) - # None si no pud贸 validar - return client if b'no encontrada' not in resp else None + if NOT_FOUND_ERROR_MESSAGE in resp.decode('utf-8'): + raise NotFoundError + return client @staticmethod def _descargar(client: Client, formato: str = 'PDF') -> bytes: From bd2f210bd7fbe33a315405562e5c6b906f28c483 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 11:03:01 -0600 Subject: [PATCH 12/28] Update Transferencia class to remove unnecessary validation checks --- CEP-20241108-BiB202411081016248360.pdf | Bin 0 -> 28770 bytes cep/transferencia.py | 8 +- tests/CEP-20190412-CUENCA1555093850.pdf | Bin 35635 -> 0 bytes tests/CEP-20241108-BiB202411081016248360.pdf | Bin 0 -> 28764 bytes ...agar_transferencia_con_fecha_distinta.yaml | 830 ----------- tests/cassettes/test_descarga_pdf.yaml | 1240 ++++++++--------- .../test_fail_validar_transferencia.yaml | 146 +- tests/cassettes/test_http_error.yaml | 100 +- ...test_lanza_cep_error_para_errores_500.yaml | 618 ++++---- .../test_maximo_numero_de_requests.yaml | 172 +-- .../cassettes/test_validar_transferencia.yaml | 102 -- .../test_validar_transferencia_tipo_1.yaml | 180 +++ .../test_validar_transferencia_tipo_10.yaml | 179 +++ .../test_validar_transferencia_tipo_11.yaml | 180 +++ .../test_validar_transferencia_tipo_12.yaml | 182 +++ .../test_validar_transferencia_tipo_3.yaml | 180 +++ .../test_validar_transferencia_tipo_30.yaml | 180 +++ .../test_validar_transferencia_tipo_31.yaml | 178 +++ .../test_validar_transferencia_tipo_35.yaml | 182 +++ .../test_validar_transferencia_tipo_36.yaml | 182 +++ .../test_validar_transferencia_tipo_4.yaml | 180 +++ .../test_validar_transferencia_tipo_5.yaml | 179 +++ .../test_validar_transferencia_tipo_6.yaml | 179 +++ .../test_validar_transferencia_tipo_8.yaml | 180 +++ .../test_validar_transferencia_tipo_9.yaml | 180 +++ tests/conftest.py | 56 +- tests/test_transferencia.py | 325 +++-- 27 files changed, 3830 insertions(+), 2288 deletions(-) create mode 100644 CEP-20241108-BiB202411081016248360.pdf delete mode 100644 tests/CEP-20190412-CUENCA1555093850.pdf create mode 100644 tests/CEP-20241108-BiB202411081016248360.pdf delete mode 100644 tests/cassettes/test_descagar_transferencia_con_fecha_distinta.yaml delete mode 100644 tests/cassettes/test_validar_transferencia.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_1.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_10.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_11.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_12.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_3.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_30.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_31.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_35.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_36.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_4.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_5.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_6.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_8.yaml create mode 100644 tests/cassettes/test_validar_transferencia_tipo_9.yaml diff --git a/CEP-20241108-BiB202411081016248360.pdf b/CEP-20241108-BiB202411081016248360.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bbfa532013cea2c145dae9c75cc96339cdf10c20 GIT binary patch literal 28770 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 bytes: self.monto, self.pago_a_banco, ) - if not client: - raise CepError return self._descargar(client, formato) def to_dict(self) -> dict: @@ -139,7 +135,7 @@ def _validar( cuenta: str, monto: Decimal, pago_a_banco: bool = False, - ) -> Optional[Client]: + ) -> Client: assert emisor in clabe.BANKS.values() assert receptor in clabe.BANKS.values() client = Client() # Use new client to ensure thread-safeness diff --git a/tests/CEP-20190412-CUENCA1555093850.pdf b/tests/CEP-20190412-CUENCA1555093850.pdf deleted file mode 100644 index ca94f8bb59a691895461e9601e7cc59e4dc945f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35635 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 diff --git a/tests/CEP-20241108-BiB202411081016248360.pdf b/tests/CEP-20241108-BiB202411081016248360.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dd3f2fe3a41dee847b75c80323ce00fc8ead3234 GIT binary patch literal 28764 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 F{{w)UZc6|F literal 0 HcmV?d00001 diff --git a/tests/cassettes/test_descagar_transferencia_con_fecha_distinta.yaml b/tests/cassettes/test_descagar_transferencia_con_fecha_distinta.yaml deleted file mode 100644 index 4da58eb..0000000 --- a/tests/cassettes/test_descagar_transferencia_con_fecha_distinta.yaml +++ /dev/null @@ -1,830 +0,0 @@ -interactions: -- request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=29-08-2019&criterio=MBAN01001908300003463991&emisor=40012&receptor=90646&cuenta=646180157048010399&monto=300 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '177' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep/valida.do - response: - body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" - headers: - Content-Language: - - es-MX - Content-Length: - - '1508' - Content-Type: - - text/html; charset=UTF-8 - Date: - - Mon, 02 Sep 2019 18:32:07 GMT - Set-Cookie: - - JSESSIONID=xDfzP5vIKzRsHRwWQHk4wJ1kF24xhB70-x5lgDuRijBJ7v5MvcaB!-383538496; - path=/; HttpOnly - - ser29307111=709772970.50971.0000; path=/; Httponly - - TS014a759c=0189f484af1369a14b7fb87188813a64e67b2b31e62c33ce9ea476b84dca6f249f88e6a8dfd3f4571bf0f719c62b7d12405fcf3f29d4fee8104fa9478a3d9f0ca6a1a38492dee0454a798fc4980dec17eb7ab29041; - Path=/ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=xDfzP5vIKzRsHRwWQHk4wJ1kF24xhB70-x5lgDuRijBJ7v5MvcaB!-383538496; - TS014a759c=0189f484af1369a14b7fb87188813a64e67b2b31e62c33ce9ea476b84dca6f249f88e6a8dfd3f4571bf0f719c62b7d12405fcf3f29d4fee8104fa9478a3d9f0ca6a1a38492dee0454a798fc4980dec17eb7ab29041; - ser29307111=709772970.50971.0000 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML - response: - body: - string: "\r\n\r\n \r\ - \n \r\ - \n" - headers: - Content-Disposition: - - attachment; filename=CEP-20190830-MBAN01001908300003463991.xml - Content-Language: - - es-MX - Content-Length: - - '1439' - Content-Type: - - application/xml - Date: - - Mon, 02 Sep 2019 18:32:07 GMT - status: - code: 200 - message: OK -- request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=29-08-2019&criterio=MBAN01001908300003463991&emisor=40012&receptor=90646&cuenta=646180157048010399&monto=300 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '177' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep/valida.do - response: - body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" - headers: - Content-Language: - - es-MX - Content-Length: - - '1508' - Content-Type: - - text/html; charset=UTF-8 - Date: - - Mon, 02 Sep 2019 18:32:08 GMT - Set-Cookie: - - JSESSIONID=JGXzP5ytSyWRLCpGBdDaSfZbrKY248q5A6Yp7E7XWrmXTDB2qXlb!59976273; - path=/; HttpOnly - - ser29307111=726550186.50971.0000; path=/; Httponly - - TS014a759c=0189f484afee4258a02cd4711b4c9b9261c9008f1c6c58deea7e763230aa3e3ec29096a5d71b8bb2376097357b1234721c67bf81f8b4852245a560b207a640e307552fcee51566b8c2636c49fff8b6cd0bd0309dff; - Path=/ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=JGXzP5ytSyWRLCpGBdDaSfZbrKY248q5A6Yp7E7XWrmXTDB2qXlb!59976273; - TS014a759c=0189f484afee4258a02cd4711b4c9b9261c9008f1c6c58deea7e763230aa3e3ec29096a5d71b8bb2376097357b1234721c67bf81f8b4852245a560b207a640e307552fcee51566b8c2636c49fff8b6cd0bd0309dff; - ser29307111=726550186.50971.0000 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=PDF - response: - body: - string: !!binary | - JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9Db2xvclNwYWNlL0RldmljZVJHQi9TdWJ0eXBlL0lt - YWdlL0hlaWdodCAyMzQvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9EZWNvZGVQYXJt - czw8L0NvbHVtbnMgNzIwL0NvbG9ycyAzL1ByZWRpY3RvciAxNS9CaXRzUGVyQ29tcG9uZW50IDg+ - Pi9XaWR0aCA3MjAvTGVuZ3RoIDMxNjIwL0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnja7J0H - QFvH/cdPC0lIgNhiCLH3sM2yzfKMHa/YjlfsxEmcZo82aZNmNm3zz2jarDar2Ykbj9iO7cQ7Xtjg - vQCDDUhiib0ECBCa/xOCpychlg0S4/fJq/ve0xt3v/d497273/2OotPpEAAAAAAAwGhCBRMAAAAA - AACCAwAAAAAAEBwAAAAAAAAgOAAAAAAAAMEBAAAAAAAIDgAAAAAAABAcAAAAAACA4AAAAAAAAADB - AQAAAAAACA4AAAAAAEBwAAAAAAAAgOAAAAAAAAAEBwAAAAAAIDgAAAAAAABGAPrEzp5Op+voULa1 - KVpbOltau1pbO9taOxWdaq1Wp9Fo8b940csuOpVBo9LoVBpNv9gxaR5uDm4eXDc3LpfLpFAo8KIA - AHA7H6KmpiaJSNTW1qajUJycnIKDg3k8HlgGAMExLv+e6+raSksby0obSyQNJSUNjY0dLbKOlpZO - jUZ3O1dmsuh8TycPT66nh4O7YXHj8r2cgoLd7ezo8AIBADAAXV1dZ7KysrKzm5ubzX5y9/BIT09P - Tk6m0+FLAkwKKLioHo/p1mp1xcW1F8+XiYprS0qaxOJ6hUJlVaVGp0bFeE+dIoiL842J8+Hx7MeC - Wa5fr6ytbZs4cphOpdNphn/t6DQXN3sPD0cGgzZW0qeUo4oD8BEZAVhuyGfOsCoYx48X2iqxTAYt - NT1kKEeWlJRs/uEHmUyG17lcbmhIiIubG/7m1tfXFxUXd3R04P18T8+NDzzA5/PhLQBAcIwtGhrk - 58+XnD9XcjZb0tzcMXYSJhS6Tp3qOyM1aObMQDbbzlbJePWVvYcO5E/sVxZrDm9fR19vHt/LycvH - yd/fLSzMk8Vi2CApMhH6MQQ+IiOAVwRaWTD0w1UqzYykf9gqsU5OrGMnnxv0MLFI9MUXX6hUKm8f - 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 - 7Le+1l9uXorlh2G/1SxV9VZv8OuvBxkBTQ9j5bWVJIeRrs4PYVWg6J84gjUQMaDjotuNByvU0ogt - nwMr4O2GKZ8iV4VVL2OYE/gx9yHOJ+ezIyjGoT2ClBA44yFQGxW6rMMDX7pLEgRRThbyA2gmQwYL - TZG8Kpb0uBOHf/iQVIZy0cStgJaZZXceWT6+XuVWVxV7vXWBSGJhzZgziSlENsnkp/Mmg2zmuCNx - ioKK8nAjSWRbd//pJ9RlzwGKxohHceg6EAPmTEes63pit5dCVkJwUgqBmMe6wKDbS888Qz6AVxUz - JYVyQ0c2nkS7gohtilMWwbmUA3CcZ74jkm0215qmEPUQrudd0eVcyvPuCTbJ0Q8vdocBAh3FLihp - kzFouwZjyHJRIL4EI8LhioEo2XujetLrLV3qlefBNNVQdLLBAjE0krJg6KLMBBaKKxZYAP8Og+5c - gwtLksVJE0wFRVzKU36PBkzO51G68didBBHYIXD/DfVckb1BST+WdigUGKFxNBZtZiStTz6YkDID - UJCg4wY+CwP/tRF7LFsmxFTMTWYhs9lWwqytC68EZjf8sO/25ONPDznjaYCY43DohadIdMT9MRd7 - AdlM3NSXGBhpL4gu0RR0x5kUAzCyzfKDrRdbifsl1ipPHQXdCZkfpQ9js3nFlmIfxGtOQImYIL5y - NQZFxTz8Hu2xLgxWste4bKJsxgSi2Wq6A90WyoAdAOsMDdkU+F0VvBA0uCgT+gYLEr4B+pZWJp1n - nxVOr4JM+aEF58K2PAisboACcarhXwqNJEYI93V5+C1THpaqaPZrVrG2YFXUPMBq+sWycB6v03Cb - bOAzm7JVIxfxywMLCidgGZKZeI2BFQdAk/+yxFOCLWt7fLJywpZERXElEi3GKIig2BJmLJwPYv84 - jMB8M1k2qWIcxHLEBz/8lVTFtpjWX+2ETU2cmOk04yt9zW+iQYDJvWPP7HWKs6HQYc9//wdYB8Y0 - CmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago8PC9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L1R5cGUv - R3JvdXAvQ1MvRGV2aWNlUkdCPj4vQ29udGVudHMgNCAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8 - L0NvbG9yU3BhY2U8PC9DUy9EZXZpY2VSR0I+Pi9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIg - L0ltYWdlQyAvSW1hZ2VJXS9Gb250PDwvRjEgMiAwIFI+Pi9YT2JqZWN0PDwvaW1nMCAzIDAgUj4+ - Pj4vUGFyZW50IDUgMCBSL01lZGlhQm94WzAgMCA1OTUgODUwXT4+CmVuZG9iago2IDAgb2JqClsx - IDAgUi9YWVogMCA4NjAgMF0KZW5kb2JqCjIgMCBvYmoKPDwvU3VidHlwZS9UeXBlMS9UeXBlL0Zv - bnQvQmFzZUZvbnQvSGVsdmV0aWNhL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZz4+CmVuZG9iago1 - IDAgb2JqCjw8L0tpZHNbMSAwIFJdL1R5cGUvUGFnZXMvQ291bnQgMS9JVFhUKDIuMS43KT4+CmVu - ZG9iago3IDAgb2JqCjw8L05hbWVzWyhKUl9QQUdFX0FOQ0hPUl8wXzEpIDYgMCBSXT4+CmVuZG9i - ago4IDAgb2JqCjw8L0Rlc3RzIDcgMCBSPj4KZW5kb2JqCjkgMCBvYmoKPDwvTmFtZXMgOCAwIFIv - VHlwZS9DYXRhbG9nL1BhZ2VzIDUgMCBSL1ZpZXdlclByZWZlcmVuY2VzPDwvUHJpbnRTY2FsaW5n - L0FwcERlZmF1bHQ+Pj4+CmVuZG9iagoxMCAwIG9iago8PC9Nb2REYXRlKEQ6MjAxOTA5MDIxMzMy - MDgtMDUnMDAnKS9DcmVhdG9yKEphc3BlclJlcG9ydHMgXChyZXBvcnQgbmFtZVwpKS9DcmVhdGlv - bkRhdGUoRDoyMDE5MDkwMjEzMzIwOC0wNScwMCcpL1Byb2R1Y2VyKGlUZXh0IDIuMS43IGJ5IDFU - M1hUKT4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDM0NTAzIDAw - MDAwIG4gCjAwMDAwMzQ3OTUgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDMxODYx - IDAwMDAwIG4gCjAwMDAwMzQ4ODMgMDAwMDAgbiAKMDAwMDAzNDc2MCAwMDAwMCBuIAowMDAwMDM0 - OTQ2IDAwMDAwIG4gCjAwMDAwMzUwMDAgMDAwMDAgbiAKMDAwMDAzNTAzMiAwMDAwMCBuIAowMDAw - MDM1MTM1IDAwMDAwIG4gCnRyYWlsZXIKPDwvSW5mbyAxMCAwIFIvSUQgWzxiYWM1ZTc3OWZjZWM0 - NzdhNjExOTYyMDBiNzc2MWEzYj48MjgyNDViMTkyYTEzZDcwNGQyNmJmM2YzOTM2MDU1ZTc+XS9S - b290IDkgMCBSL1NpemUgMTE+PgpzdGFydHhyZWYKMzUyOTcKJSVFT0YK - headers: - Content-Disposition: - - attachment; filename=CEP-20190830-MBAN01001908300003463991.pdf - Content-Language: - - es-MX - Content-Length: - - '35667' - Content-Type: - - application/pdf - Date: - - Mon, 02 Sep 2019 18:32:08 GMT - X-ORACLE-DMS-ECID: - - 420e84aa-8ead-4bcf-8b9f-d586106748f5-0000bd18 - X-ORACLE-DMS-RID: - - '0' - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_descarga_pdf.yaml b/tests/cassettes/test_descarga_pdf.yaml index 8b9cab3..41c78e2 100644 --- a/tests/cassettes/test_descarga_pdf.yaml +++ b/tests/cassettes/test_descarga_pdf.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=12-04-2019&criterio=CUENCA1555093850&emisor=90646&receptor=40012&cuenta=012180004643051249&monto=8.17 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 headers: Accept: - '*/*' @@ -9,14 +9,47 @@ interactions: Connection: - keep-alive Content-Length: - - '170' + - '178' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '178' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: string: "\n
\n \n \n\n\n\n\n\n\n\n - \ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n \r\n
\r\n \r\n - \ Información del estado del pago\r\n
\r\n
\r\n
\r\n
Lo sentimos, por el momento - no es posible generar el CEP. Operaci\xF3n no encontrada. El SPEI no ha recibido - una orden de pago que cumpla con el criterio de b\xFAsqueda especificado. - Se recomienda verificar la informaci\xF3n o consulte a su banco.
\r\n - \ \r\n

\r\n \r\n
\r\n - \ \r\n
\r\n\r\n" + string: '' headers: - Content-Language: - - es-MX + Connection: + - Keep-Alive Content-Length: - - '2573' - Content-Type: - - text/html; charset=UTF-8 - Date: - - Wed, 31 Jul 2019 22:19:42 GMT - Set-Cookie: - - JSESSIONID=83VKHhmHhOhCaGk5yk5nzvCfnvQE63t9iro03PxjtKvH3te3AblR!-436816968; - path=/; HttpOnly - - ser29307111=709772970.50971.0000; path=/; Httponly - - TS014a759c=0189f484af94034651e412ada5540a7d6a8aeb988ef6a20b8b6d7cc6308e9f26cdfe4cec213451c440f3f58f598d41622ea859b099abe12ba4cb355c92fa26625cd3e33b347bef995315dc0964ffaaff7b38e2b816; - Path=/ + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico status: - code: 200 - message: OK + code: 307 + message: Temporary Redirect - request: - body: null + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=01-01-2019&criterio=invalid-clave&emisor=37166&receptor=90723&cuenta=012180004643051249&monto=1111111.0&receptorParticipante=0 headers: Accept: - '*/*' @@ -78,69 +41,42 @@ interactions: - gzip, deflate Connection: - keep-alive - Cookie: - - JSESSIONID=83VKHhmHhOhCaGk5yk5nzvCfnvQE63t9iro03PxjtKvH3te3AblR!-436816968; - TS014a759c=0189f484af94034651e412ada5540a7d6a8aeb988ef6a20b8b6d7cc6308e9f26cdfe4cec213451c440f3f58f598d41622ea859b099abe12ba4cb355c92fa26625cd3e33b347bef995315dc0964ffaaff7b38e2b816; - ser29307111=709772970.50971.0000 + Content-Length: + - '172' + Content-Type: + - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: ' - - - - - - Error 500--Internal Server Error - - - - - -
- - - -

- -

Error 500--Internal Server - Error

- -
- - - -

From RFC 2068 Hypertext - Transfer Protocol -- HTTP/1.1:

- -

10.5.1 500 Internal Server Error

- -

The server encountered an unexpected condition - which prevented it from fulfilling the request.

- -
- - - - - - - ' + string: "\r\n
\r\n \r\n Error\r\n
\r\n
\r\n + \
\r\n

\r\n [BE] No se encontr\xF3 ning\xFAn pago + con la informaci\xF3n proporcionada. Verifique e intente nuevamente.\r\n

\r\n + \
\r\n
\r\n\r\n" headers: - Connection: - - close + Content-Language: + - es-MX Content-Length: - - '833' + - '432' Content-Type: - text/html; charset=UTF-8 Date: - - Wed, 31 Jul 2019 22:19:44 GMT + - Thu, 13 Feb 2025 16:25:34 GMT + Set-Cookie: + - JSESSIONID=L1QAIUBvfVoiIyEPtI_zYKtEVdTdxUKW6DURwUlxUrUf5j0buoTS!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!gAvSQWDwuCTFl1JFNVyFw/oTv40kxLg1HD4ls3vODi3yAy5Wm3BhzgxxulALXcz3KoRgQlInngLvSA==; + expires=Fri, 14-Feb-2025 00:25:34 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a81497a889d111c7c6b7a3089924f249dd3e785c8e18d629bf521efe70d62e81d052987707a4c517bd392afa6c339df4f68ee482fea560a8b88c923a2c40cad78199bbf43b8453c9e11dd62064f4a1e0dc; + Path=/; ' + - TS604574e3027=083fd6a492ab2000610ffb96df3cc891ddf40e7adf2c7f4f53681407b649677c5f37ccd84082e3ea088ae78a5511300008172d082ec1c9a6ba5daced4ae245998f994aa81feace10acfa2583bbbccd3af9a668c3034f8883362e7467a2f0b9d7; + Path=/ status: - code: 500 - message: Internal Server Error + code: 200 + message: OK version: 1 diff --git a/tests/cassettes/test_http_error.yaml b/tests/cassettes/test_http_error.yaml index f437cdb..5038f73 100644 --- a/tests/cassettes/test_http_error.yaml +++ b/tests/cassettes/test_http_error.yaml @@ -12,7 +12,7 @@ interactions: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/no/existe + uri: http://www.banxico.org.mx/cep-beta/no/existe response: body: string: '' @@ -22,12 +22,41 @@ interactions: Content-Length: - '0' Location: - - http://www.anterior.banxico.org.mx/cep/no/existe + - https://www.banxico.org.mx/cep-beta/no/existe Server: - - BigIP + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/no/existe + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://anterior.banxico.org.mx/cep-beta/no/existe + Server: + - mxbanxico status: code: 302 - message: Found + message: Moved Temporarily - request: body: null headers: @@ -41,66 +70,25 @@ interactions: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.anterior.banxico.org.mx/cep/no/existe + uri: https://anterior.banxico.org.mx/cep-beta/no/existe response: body: - string: ' - - - - - - Error 404--Not Found - - - - - -
- - - -

- -

Error 404--Not Found

- -
- - - -

From RFC 2068 Hypertext - Transfer Protocol -- HTTP/1.1:

- -

10.4.5 404 Not Found

- -

The server has not found anything matching - the Request-URI. No indication is given of whether the condition is temporary - or permanent.

If the server does not wish to make this information available - to the client, the status code 403 (Forbidden) can be used instead. The 410 - (Gone) status code SHOULD be used if the server knows, through some internally - configurable mechanism, that an old resource is permanently unavailable and - has no forwarding address.

- -
- - - - - - - ' + string: The resource you are looking for has been removed, had its name changed, + or is temporarily unavailable. headers: Content-Length: - - '1164' + - '103' Content-Type: - - text/html; charset=UTF-8 + - text/html Date: - - Wed, 31 Jul 2019 22:10:25 GMT + - Thu, 13 Feb 2025 16:29:05 GMT Set-Cookie: - - ser29307111=709772970.50971.0000; path=/; Httponly - - TS014a759c=0189f484af0dfe57a482b0397c7dfa4de3ec8dccb82bf88c7c60badfd116214ac8e976e9160aa3f01c58847e5567305109721675e798547f39f5e434af9c6fddd649ea7867; + - TS27080ada027=083fd6a492ab2000b680ccb1da004b5b4fdaa8484afdb7be4f778f6c1b99695c85df7ec0db406647089836ce1e1130000f24c8692fcbf30a82791dd1a64a58930c0ee5d9bd2646eb613c5a9e383a5019333abdba92c2cf7c77f10a2b5a0f0e8a; Path=/ + Strict-Transport-Security: + - max-age=480; preload + X-Robots-Tag: + - noindex, nofollow status: code: 404 message: Not Found diff --git a/tests/cassettes/test_lanza_cep_error_para_errores_500.yaml b/tests/cassettes/test_lanza_cep_error_para_errores_500.yaml index 1bdb0fd..5d43b09 100644 --- a/tests/cassettes/test_lanza_cep_error_para_errores_500.yaml +++ b/tests/cassettes/test_lanza_cep_error_para_errores_500.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -9,14 +9,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -25,17 +25,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:33 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -44,37 +42,35 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" headers: Content-Language: - es-MX @@ -83,17 +79,16 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:33 GMT + - Thu, 13 Feb 2025 16:56:12 GMT Set-Cookie: - - JSESSIONID=1G5DsA6ahFd1UC5mAuAy5nvswFkESdViA2Hcrc60dYV4KVrVfMCg!-925117081; - path=/; HttpOnly - - Hex39714011=!XDMo5QGyDyZpdp/405nf5XFqnQVk9KwS8yY7WPed/zLu2Wwr5IeAD+S8vbEgNrw7Ky11yEH5aue97w==; - expires=Wed, 20-Apr-2022 05:17:33 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8c1463f9b654cc73ef0f6ed1ac425b7f4434e066301bf0492232d383785d62bdce6ba100abd34d3d7cf572491cdf095ffbc40e566ea0b849490fcb1081ba2f49682e7492d773d2dbe08cff7da112e7941; + - JSESSIONID=WX8APU2OhQYIrFE8hYLGUn5zjvERqNXOOSNOrlzrOVDsNoveWCzR!384618570; + path=/; secure; HttpOnly + - Hex39764011=!EWZ9sKn2UAq7CMlFNVyFw/oTv40kxNFN5iHfHw+xfbQ3Y6HmUyjpTNAqNuKZnKmR1DG1e8JXcT6xFw==; + expires=Fri, 14-Feb-2025 00:56:12 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8fd4d3fd16c58f86c5e2c47fc438c7285354d16e8f60413d4192d133a3a6a3dc1206e0f377f733c621d0eeda31d1088986662c0731fbff2c94ff353b984fdaf0a2027f118e15c4d0db699921b2da05fad; + Path=/; ' + - TS604574e3027=083fd6a492ab2000a16fe7ae3c38fa226f7681ff51479b4375efd540bc3e7e69625f172d84ee280d083452d5c51130006f1d3e340e748a35c8303bc8cc64aa609b446636de4b6268d280de403b444756f148351c50f890222397597e7b63c345; Path=/ - - TS604574e3027=083fd6a492ab2000bb1dba1f4977d98aa99121c20723547f3783d3af067a318d5cd6ed4028a216b30832d42404113000c449a6520c0afb6f59336ab545ab3dc5c66e9d5107b5cbe6133be97c41e2e063c8084bac9926e256ed173090f2c0ae37;Path=/ - X-OPNET-Transaction-Trace: - - a2_8f0ff089-81df-4c26-879c-67799b97e560 status: code: 200 message: OK @@ -107,15 +102,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!XDMo5QGyDyZpdp/405nf5XFqnQVk9KwS8yY7WPed/zLu2Wwr5IeAD+S8vbEgNrw7Ky11yEH5aue97w==; - JSESSIONID=1G5DsA6ahFd1UC5mAuAy5nvswFkESdViA2Hcrc60dYV4KVrVfMCg!-925117081; - TS012f422b=01ab44a5a8c1463f9b654cc73ef0f6ed1ac425b7f4434e066301bf0492232d383785d62bdce6ba100abd34d3d7cf572491cdf095ffbc40e566ea0b849490fcb1081ba2f49682e7492d773d2dbe08cff7da112e7941; - TS604574e3027=083fd6a492ab2000bb1dba1f4977d98aa99121c20723547f3783d3af067a318d5cd6ed4028a216b30832d42404113000c449a6520c0afb6f59336ab545ab3dc5c66e9d5107b5cbe6133be97c41e2e063c8084bac9926e256ed173090f2c0ae37 + - Hex39764011=!EWZ9sKn2UAq7CMlFNVyFw/oTv40kxNFN5iHfHw+xfbQ3Y6HmUyjpTNAqNuKZnKmR1DG1e8JXcT6xFw==; + TS012f422b=01ab44a5a8fd4d3fd16c58f86c5e2c47fc438c7285354d16e8f60413d4192d133a3a6a3dc1206e0f377f733c621d0eeda31d1088986662c0731fbff2c94ff353b984fdaf0a2027f118e15c4d0db699921b2da05fad; + TS604574e3027=083fd6a492ab2000a16fe7ae3c38fa226f7681ff51479b4375efd540bc3e7e69625f172d84ee280d083452d5c51130006f1d3e340e748a35c8303bc8cc64aa609b446636de4b6268d280de403b444756f148351c50f890222397597e7b63c345 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -124,10 +118,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:33 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -143,52 +135,50 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!XDMo5QGyDyZpdp/405nf5XFqnQVk9KwS8yY7WPed/zLu2Wwr5IeAD+S8vbEgNrw7Ky11yEH5aue97w==; - JSESSIONID=1G5DsA6ahFd1UC5mAuAy5nvswFkESdViA2Hcrc60dYV4KVrVfMCg!-925117081; - TS012f422b=01ab44a5a8c1463f9b654cc73ef0f6ed1ac425b7f4434e066301bf0492232d383785d62bdce6ba100abd34d3d7cf572491cdf095ffbc40e566ea0b849490fcb1081ba2f49682e7492d773d2dbe08cff7da112e7941; - TS604574e3027=083fd6a492ab2000bb1dba1f4977d98aa99121c20723547f3783d3af067a318d5cd6ed4028a216b30832d42404113000c449a6520c0afb6f59336ab545ab3dc5c66e9d5107b5cbe6133be97c41e2e063c8084bac9926e256ed173090f2c0ae37 + - JSESSIONID=WX8APU2OhQYIrFE8hYLGUn5zjvERqNXOOSNOrlzrOVDsNoveWCzR!384618570; + Hex39764011=!EWZ9sKn2UAq7CMlFNVyFw/oTv40kxNFN5iHfHw+xfbQ3Y6HmUyjpTNAqNuKZnKmR1DG1e8JXcT6xFw==; + TS012f422b=01ab44a5a8fd4d3fd16c58f86c5e2c47fc438c7285354d16e8f60413d4192d133a3a6a3dc1206e0f377f733c621d0eeda31d1088986662c0731fbff2c94ff353b984fdaf0a2027f118e15c4d0db699921b2da05fad; + TS604574e3027=083fd6a492ab2000a16fe7ae3c38fa226f7681ff51479b4375efd540bc3e7e69625f172d84ee280d083452d5c51130006f1d3e340e748a35c8303bc8cc64aa609b446636de4b6268d280de403b444756f148351c50f890222397597e7b63c345 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: - string: "\r\n\r\n \r\n \r\n" + string: "\r\n\r\n \r\n \r\n" headers: Content-Disposition: - - attachment; filename=CEP-20220419-CUENCA927820173168.xml + - attachment; filename=CEP-20241108-BiB2024110810162420780.xml Content-Language: - es-MX Content-Length: - - '1518' + - '1621' Content-Type: - application/xml Date: - - Tue, 19 Apr 2022 21:17:33 GMT + - Thu, 13 Feb 2025 16:56:12 GMT Set-Cookie: - - SRVCOOKIE=!VVIUoqxVRxBsdLj405nf5XFqnQVk9J2P8Ks6kYkcZqUnS5zVXklbFoa4LtxcZpbwF/7AXczjcKcTtA==; - expires=Wed, 20-Apr-2022 05:17:33 GMT; path=/; Httponly - - TS012f422b=01ab44a5a841f0054e28429863661d49f17ab3e4a9434e066301bf0492232d383785d62bdce6ba100abd34d3d7cf572491cdf095ffbc40e566ea0b849490fcb1081ba2f49669054e2e292ef104af8a17bb8e02735a22069690f0c6a234f7132736fef970c7; + - Hex39764011=!jGTWs38bx4D2u/JFNVyFw/oTv40kxP1ZXQsR5Uu4CXrIPxg16GP9mF+l7ky/gs5qA4XM+HN+o8kR9w==; + expires=Fri, 14-Feb-2025 00:56:12 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8e95bdf7571835ff20b3b298acd2394de354d16e8f60413d4192d133a3a6a3dc1206e0f377f733c621d0eeda31d1088986662c0731fbff2c94ff353b984fdaf0a070d644fb7b034141ab7128bf673da01; + Path=/; ' + - TS604574e3027=083fd6a492ab200081985d39d09949cc12ce7ccbcf30a19871d961bd308397823b288421dc1d4b0c08ab7e717b113000ab5a928d9ef6a5b2c8303bc8cc64aa609b446636de4b6268d280de403b444756f148351c50f890222397597e7b63c345; Path=/ - - TS604574e3027=083fd6a492ab2000d38e3db03f3fc7d97b1e425fdca4bef490422c5446ceeb66453e656a1403836108069edf9c1130008ab0d2e58d12926a59336ab545ab3dc5c66e9d5107b5cbe6133be97c41e2e063c8084bac9926e256ed173090f2c0ae37;Path=/ - X-OPNET-Transaction-Trace: - - a2_87d8f560-7cb1-4c4f-b101-1e69a25fc3e0 status: code: 200 message: OK - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -197,14 +187,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -213,17 +203,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:33 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -232,37 +220,35 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" headers: Content-Language: - es-MX @@ -271,17 +257,16 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:33 GMT + - Thu, 13 Feb 2025 16:56:12 GMT Set-Cookie: - - JSESSIONID=catDsBFZ52duAHAYiYdBo1NqRrYqypCoStzuNSrL4kMAbZc7UZG3!1328161135; - path=/; HttpOnly - - Hex39714011=!S3wuppfBD4tGvr7405nf5XFqnQVk9GCX3sNE+ZI7eB8OtA3Gy/pDdSTeklh/lrMnco0+Ey5g9/e9cg==; - expires=Wed, 20-Apr-2022 05:17:33 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8f5a3458839ac8b43134b1d1491e42baa0b69f10dae8f798f719549f3029617d4a01e02c5abde01d0bd219058cb763b5b4c3390c6f18b4690d929e06e4613523bd07d610ab696f74effc4dd899e88b5b0; + - JSESSIONID=eZQAPU-EG6FHT1QOMaZC_94gm3fYhCfTRhtE6iconK7uy180xbYN!384618570; + path=/; secure; HttpOnly + - Hex39764011=!X+GuBbSAnzSufLxFNVyFw/oTv40kxPwr2WLsUwe87CDLKwidwcd20EkPSy1OLwNViNmfLu0P3qv4qg==; + expires=Fri, 14-Feb-2025 00:56:12 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8dff8fa9b69de3136440d6bb4035e308070e63d7682da1ae2f5460b717134b7930b257ddd4c6a237d7b7cceb857867e3b512aff124cafa847e7e4a5d0f06abad929bd0af62e482af0a6c5c5bbcda14bbb; + Path=/; ' + - TS604574e3027=083fd6a492ab20005eccf4bcf55face44a10021016a4bf08d11b614fe1921ad38845749aad66a75108fc8145be1130005f12ad23b82e7ed4c8303bc8cc64aa60d2bff89ffef5db8cce920d3377a5628a2b064f46db9800e9fe091d946eb7ef80; Path=/ - - TS604574e3027=083fd6a492ab20002df6578d648526f81fc70fafcc948446c765b821be219e877d669201731a15b608f63a29461130006604b9662bb05a2359336ab545ab3dc5e2049986411023a499691be3d933a98fec31c6ad2b7b6ba1f4a74207db7138ab;Path=/ - X-OPNET-Transaction-Trace: - - a2_fd82705b-b27e-4e74-8cde-4c9b4e39b190 status: code: 200 message: OK @@ -295,15 +280,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!S3wuppfBD4tGvr7405nf5XFqnQVk9GCX3sNE+ZI7eB8OtA3Gy/pDdSTeklh/lrMnco0+Ey5g9/e9cg==; - JSESSIONID=catDsBFZ52duAHAYiYdBo1NqRrYqypCoStzuNSrL4kMAbZc7UZG3!1328161135; - TS012f422b=01ab44a5a8f5a3458839ac8b43134b1d1491e42baa0b69f10dae8f798f719549f3029617d4a01e02c5abde01d0bd219058cb763b5b4c3390c6f18b4690d929e06e4613523bd07d610ab696f74effc4dd899e88b5b0; - TS604574e3027=083fd6a492ab20002df6578d648526f81fc70fafcc948446c765b821be219e877d669201731a15b608f63a29461130006604b9662bb05a2359336ab545ab3dc5e2049986411023a499691be3d933a98fec31c6ad2b7b6ba1f4a74207db7138ab + - Hex39764011=!X+GuBbSAnzSufLxFNVyFw/oTv40kxPwr2WLsUwe87CDLKwidwcd20EkPSy1OLwNViNmfLu0P3qv4qg==; + TS012f422b=01ab44a5a8dff8fa9b69de3136440d6bb4035e308070e63d7682da1ae2f5460b717134b7930b257ddd4c6a237d7b7cceb857867e3b512aff124cafa847e7e4a5d0f06abad929bd0af62e482af0a6c5c5bbcda14bbb; + TS604574e3027=083fd6a492ab20005eccf4bcf55face44a10021016a4bf08d11b614fe1921ad38845749aad66a75108fc8145be1130005f12ad23b82e7ed4c8303bc8cc64aa60d2bff89ffef5db8cce920d3377a5628a2b064f46db9800e9fe091d946eb7ef80 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -312,10 +296,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:33 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -331,52 +313,50 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!S3wuppfBD4tGvr7405nf5XFqnQVk9GCX3sNE+ZI7eB8OtA3Gy/pDdSTeklh/lrMnco0+Ey5g9/e9cg==; - JSESSIONID=catDsBFZ52duAHAYiYdBo1NqRrYqypCoStzuNSrL4kMAbZc7UZG3!1328161135; - TS012f422b=01ab44a5a8f5a3458839ac8b43134b1d1491e42baa0b69f10dae8f798f719549f3029617d4a01e02c5abde01d0bd219058cb763b5b4c3390c6f18b4690d929e06e4613523bd07d610ab696f74effc4dd899e88b5b0; - TS604574e3027=083fd6a492ab20002df6578d648526f81fc70fafcc948446c765b821be219e877d669201731a15b608f63a29461130006604b9662bb05a2359336ab545ab3dc5e2049986411023a499691be3d933a98fec31c6ad2b7b6ba1f4a74207db7138ab + - JSESSIONID=eZQAPU-EG6FHT1QOMaZC_94gm3fYhCfTRhtE6iconK7uy180xbYN!384618570; + Hex39764011=!X+GuBbSAnzSufLxFNVyFw/oTv40kxPwr2WLsUwe87CDLKwidwcd20EkPSy1OLwNViNmfLu0P3qv4qg==; + TS012f422b=01ab44a5a8dff8fa9b69de3136440d6bb4035e308070e63d7682da1ae2f5460b717134b7930b257ddd4c6a237d7b7cceb857867e3b512aff124cafa847e7e4a5d0f06abad929bd0af62e482af0a6c5c5bbcda14bbb; + TS604574e3027=083fd6a492ab20005eccf4bcf55face44a10021016a4bf08d11b614fe1921ad38845749aad66a75108fc8145be1130005f12ad23b82e7ed4c8303bc8cc64aa60d2bff89ffef5db8cce920d3377a5628a2b064f46db9800e9fe091d946eb7ef80 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: - string: "\r\n\r\n \r\n \r\n" + string: "\r\n\r\n \r\n \r\n" headers: Content-Disposition: - - attachment; filename=CEP-20220419-CUENCA927820173168.xml + - attachment; filename=CEP-20241108-BiB2024110810162420780.xml Content-Language: - es-MX Content-Length: - - '1518' + - '1621' Content-Type: - application/xml Date: - - Tue, 19 Apr 2022 21:17:33 GMT + - Thu, 13 Feb 2025 16:56:14 GMT Set-Cookie: - - SRVCOOKIE=!MaB87yn4CzLvWL7405nf5XFqnQVk9O3MD/sC1NQaOUQhCMv1UDdb6MfmUkemtxTDPPmUJiF4oPBipw==; - expires=Wed, 20-Apr-2022 05:17:34 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8c5ac966d57921cc47d0139a87baeb7750b69f10dae8f798f719549f3029617d4a01e02c5abde01d0bd219058cb763b5b4c3390c6f18b4690d929e06e4613523b18fd67131486dac15f7130b6363c10c07395525639ec7098d309d9a8c044525b; + - Hex39764011=!nb3Cek9PGQopsqtFNVyFw/oTv40kxLa+4RHEI1SXDpGgK0w4Vwtu8h6KJB9uVRU4RUm1dLkRL927sA==; + expires=Fri, 14-Feb-2025 00:56:14 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a872cb23889d1ce7c5676aa98bbe3b843a70e63d7682da1ae2f5460b717134b7930b257ddd4c6a237d7b7cceb857867e3b512aff124cafa847e7e4a5d0f06abad94c8c55f032414299374154935278186a; + Path=/; ' + - TS604574e3027=083fd6a492ab2000007a21fd153449e7e8e16265515a2226a128224a50c2d02302aabcb6ccb903af081c477939113000eb5c5347a257ba69261912a167e6a711f859da2e263d58fdaa6aa2d1629fbc8b03f0eaa797af34c00e93213d5e4aa6a9; Path=/ - - TS604574e3027=083fd6a492ab20009685fb225f1209e88d25ed96753593df9134877df4c512022b9c267bb2c1539708590a67db1130006ed069ab4f97ed7dbc9f25aed5cb36bb8ed2c4ab54328b5bd63458aa2c543c37525254b7cf5b0ee8d21438c2178fec39;Path=/ - X-OPNET-Transaction-Trace: - - a2_e7cc9f41-e743-41e7-bc14-eaa7c8956011 status: code: 200 message: OK - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -385,14 +365,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -401,17 +381,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:34 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -420,37 +398,35 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" headers: Content-Language: - es-MX @@ -459,17 +435,16 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:34 GMT + - Thu, 13 Feb 2025 16:56:14 GMT Set-Cookie: - - JSESSIONID=WQ1DsBQpVdaJJUlejDhV_OlQdZJS00q62fWfoQlvQYNIXH51wwT-!-925117081; - path=/; HttpOnly - - Hex39714011=!9x2+wB6gV5H2yz3405nf5XFqnQVk9H0aj0Q5d53ZiQL0Jwk5mQyEG+/2e3X4WrBAa2IZl+6QyEy2YQ==; - expires=Wed, 20-Apr-2022 05:17:34 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8adf55cf695abb15df24940950e3a3196557f85ab6bdc687787d8decf1ea938c57a28310cc5a9a4142f48c9d0d9802ddd905ee76662c0fbeed95614f1a2e9569148414e482520c672e82abf680412fba5; + - JSESSIONID=OusAPVW9_eZ1GDm2SriEj3akjc0DhI_jasrH1S7OoTAbvytebmxq!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!BO7B8vj5tEMviypFNVyFw/oTv40kxFRGGi1N22hnglLR+qdpe5BOPyDzigdTqvWjDwYyF+mdB5ootA==; + expires=Fri, 14-Feb-2025 00:56:14 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8e1789fb2c0e8e688d9ecba1f129c2a10fa6c2e3e91a8e21321f34eecfae42fe89ea0e5859950c2a4239528be518030fe3a765c97afde895ca285c83574584eff2a8c15742ed1f9d8521980da187a4ff3; + Path=/; ' + - TS604574e3027=083fd6a492ab2000cfab0aece964ff3ac1a359c5edd7dae41e3ad1d08d2fc8113e9a6581fd81a60508bc69c3831130000e8a6a037b6ec6cf261912a167e6a7115d1f499457dc54ea25396b0314595c70a25e1b468798b5d84e0d13470f762fb2; Path=/ - - TS604574e3027=083fd6a492ab20000d514a7de097dd6482481e265af14a8adb5ce1f37a3189551a65b66823f1706208176641f5113000e808b63ed0ecf707bc9f25aed5cb36bb4963bae285a327a750b482e497ab61fde5da1740ef1de2b96504551f3d14036f;Path=/ - X-OPNET-Transaction-Trace: - - a2_ea95cf85-be25-4f7b-81d6-185190e74e67 status: code: 200 message: OK @@ -483,15 +458,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!9x2+wB6gV5H2yz3405nf5XFqnQVk9H0aj0Q5d53ZiQL0Jwk5mQyEG+/2e3X4WrBAa2IZl+6QyEy2YQ==; - JSESSIONID=WQ1DsBQpVdaJJUlejDhV_OlQdZJS00q62fWfoQlvQYNIXH51wwT-!-925117081; - TS012f422b=01ab44a5a8adf55cf695abb15df24940950e3a3196557f85ab6bdc687787d8decf1ea938c57a28310cc5a9a4142f48c9d0d9802ddd905ee76662c0fbeed95614f1a2e9569148414e482520c672e82abf680412fba5; - TS604574e3027=083fd6a492ab20000d514a7de097dd6482481e265af14a8adb5ce1f37a3189551a65b66823f1706208176641f5113000e808b63ed0ecf707bc9f25aed5cb36bb4963bae285a327a750b482e497ab61fde5da1740ef1de2b96504551f3d14036f + - Hex39764011=!BO7B8vj5tEMviypFNVyFw/oTv40kxFRGGi1N22hnglLR+qdpe5BOPyDzigdTqvWjDwYyF+mdB5ootA==; + TS012f422b=01ab44a5a8e1789fb2c0e8e688d9ecba1f129c2a10fa6c2e3e91a8e21321f34eecfae42fe89ea0e5859950c2a4239528be518030fe3a765c97afde895ca285c83574584eff2a8c15742ed1f9d8521980da187a4ff3; + TS604574e3027=083fd6a492ab2000cfab0aece964ff3ac1a359c5edd7dae41e3ad1d08d2fc8113e9a6581fd81a60508bc69c3831130000e8a6a037b6ec6cf261912a167e6a7115d1f499457dc54ea25396b0314595c70a25e1b468798b5d84e0d13470f762fb2 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -500,10 +474,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:34 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -519,52 +491,50 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!9x2+wB6gV5H2yz3405nf5XFqnQVk9H0aj0Q5d53ZiQL0Jwk5mQyEG+/2e3X4WrBAa2IZl+6QyEy2YQ==; - JSESSIONID=WQ1DsBQpVdaJJUlejDhV_OlQdZJS00q62fWfoQlvQYNIXH51wwT-!-925117081; - TS012f422b=01ab44a5a8adf55cf695abb15df24940950e3a3196557f85ab6bdc687787d8decf1ea938c57a28310cc5a9a4142f48c9d0d9802ddd905ee76662c0fbeed95614f1a2e9569148414e482520c672e82abf680412fba5; - TS604574e3027=083fd6a492ab20000d514a7de097dd6482481e265af14a8adb5ce1f37a3189551a65b66823f1706208176641f5113000e808b63ed0ecf707bc9f25aed5cb36bb4963bae285a327a750b482e497ab61fde5da1740ef1de2b96504551f3d14036f + - JSESSIONID=OusAPVW9_eZ1GDm2SriEj3akjc0DhI_jasrH1S7OoTAbvytebmxq!-2094109768; + Hex39764011=!BO7B8vj5tEMviypFNVyFw/oTv40kxFRGGi1N22hnglLR+qdpe5BOPyDzigdTqvWjDwYyF+mdB5ootA==; + TS012f422b=01ab44a5a8e1789fb2c0e8e688d9ecba1f129c2a10fa6c2e3e91a8e21321f34eecfae42fe89ea0e5859950c2a4239528be518030fe3a765c97afde895ca285c83574584eff2a8c15742ed1f9d8521980da187a4ff3; + TS604574e3027=083fd6a492ab2000cfab0aece964ff3ac1a359c5edd7dae41e3ad1d08d2fc8113e9a6581fd81a60508bc69c3831130000e8a6a037b6ec6cf261912a167e6a7115d1f499457dc54ea25396b0314595c70a25e1b468798b5d84e0d13470f762fb2 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: - string: "\r\n\r\n \r\n \r\n" + string: "\r\n\r\n \r\n \r\n" headers: Content-Disposition: - - attachment; filename=CEP-20220419-CUENCA927820173168.xml + - attachment; filename=CEP-20241108-BiB2024110810162420780.xml Content-Language: - es-MX Content-Length: - - '1518' + - '1621' Content-Type: - application/xml Date: - - Tue, 19 Apr 2022 21:17:34 GMT + - Thu, 13 Feb 2025 16:56:14 GMT Set-Cookie: - - SRVCOOKIE=!UHWmUYhtXDkOh/H405nf5XFqnQVk9AEgE5f0EBjboRcGUmwnbXSMaC4hs565fxLSgaJe7lJ9z9ebNQ==; - expires=Wed, 20-Apr-2022 05:17:34 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8c07e987bee4aea49f0d65678010cf344557f85ab6bdc687787d8decf1ea938c57a28310cc5a9a4142f48c9d0d9802ddd905ee76662c0fbeed95614f1a2e95691c9ea201d84651bc66d59dc3bbaec7f5cc1f1e1acf6bf8fb40fc83c2d8bc6825b; + - Hex39764011=!8dFjSozmUPIbj85FNVyFw/oTv40kxFVVLLxg4nIKWiYAjH03NdQF8aSQ0Am5jitHg1UymhwM/3bl0Q==; + expires=Fri, 14-Feb-2025 00:56:14 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8924b202cf7c694725d92fdf0c16916d2fa6c2e3e91a8e21321f34eecfae42fe89ea0e5859950c2a4239528be518030fe3a765c97afde895ca285c83574584effc9a5e5f87b48eb8007e0b0044dacd058; + Path=/; ' + - TS604574e3027=083fd6a492ab20001f1c09d490221b2b54c92106b3b49168caf8e83a5d3016c0a59b0ddfc9c807fa0885c809c7113000076103a2169d05e8261912a167e6a7115d1f499457dc54ea25396b0314595c70a25e1b468798b5d84e0d13470f762fb2; Path=/ - - TS604574e3027=083fd6a492ab2000103118daf8629fbb3e6a8507f1f2e2e56df274142dcfebb33da7feda825721090885d2e37a1130005db9305877503503bc9f25aed5cb36bb4963bae285a327a750b482e497ab61fde5da1740ef1de2b96504551f3d14036f;Path=/ - X-OPNET-Transaction-Trace: - - a2_ab599ec7-66e9-4e38-85d4-bcf9b3f78530 status: code: 200 message: OK - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -573,14 +543,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -589,17 +559,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:35 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -608,37 +576,35 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias por utilizar el servicio de descarga de CEP

\n \ - \ \n
Haga clic sobre el ícono para descargar\ - \ el CEP.

\n PDF\n \ - \ \n XML\n \n ZIP\n \ - \ \n\ - \
\n \n
" + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" headers: Content-Language: - es-MX @@ -647,17 +613,16 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:35 GMT + - Thu, 13 Feb 2025 16:56:15 GMT Set-Cookie: - - JSESSIONID=0VxDsBbGtov5K-KYDfsF5S5BYqRcqBqdnF5DIIDysn8mwwY2vnCo!-925117081; - path=/; HttpOnly - - Hex39714011=!R9ewz7+1bjGTdM3405nf5XFqnQVk9JBwN3OYvfE31Q6CX9pkYmnslA6ajhfZcrrNty+4McUEj7UEag==; - expires=Wed, 20-Apr-2022 05:17:35 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8e655d58263c2a87f12478ec3afaa59a65378fc9bd26fa1222168c17902059100cb52f99d24783cf2a17d512b924678c2dd39b3a53bf06040dbee5dbc85b9927c9e602324431bbaf4af7ecf2d2be4971c; + - JSESSIONID=2b0APVfWJG-7qyhIsHdCUBuNz2ZNmVj6FN4KeGksSlPL_66Dm-K6!384618570; + path=/; secure; HttpOnly + - Hex39764011=!dkmYbEYrt8fvST9FNVyFw/oTv40kxLvcsecN4wpJ3N3qfNjtPCRAQ+mNvWQuK7WUW5GmhgeC2yu/mg==; + expires=Fri, 14-Feb-2025 00:56:15 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8db5ae8b4a0fe4729350cea63981d60c48c8aacc91daf973d921bf1696f9bdd2bf3fd7565c3527ca5d2430fd455708cec787b7042e674fcac83ec4ebbc19b37b8ba72437fc4346060d2cf6d00ee44e94a; + Path=/; ' + - TS604574e3027=083fd6a492ab20004282053f4c77829304b54e8ebed74651ec2c1e0d9dcbb3aca08dba62c9da5312088038241711300025e0c721e70f805bb5ee3b85e9c4476b26550b07a8ee68dbebf4e745a37f920abbcd23376ba2bd0ca55ce4fbeb5a0c80; Path=/ - - TS604574e3027=083fd6a492ab2000e573c3a1c967f070b646785030835e1c4575a12b8c9e8ecacfba9fdfb824151d08c393b4da113000df7470a0d99e22fefa06384a1a645ec5b52d5293e7d8b40476ed2aa6ad6aac21e3de074e780c99c7ff41c9ed2dc06321;Path=/ - X-OPNET-Transaction-Trace: - - a2_713656a3-9a6f-4389-96b4-3cd6a26615f9 status: code: 200 message: OK @@ -671,15 +636,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!R9ewz7+1bjGTdM3405nf5XFqnQVk9JBwN3OYvfE31Q6CX9pkYmnslA6ajhfZcrrNty+4McUEj7UEag==; - JSESSIONID=0VxDsBbGtov5K-KYDfsF5S5BYqRcqBqdnF5DIIDysn8mwwY2vnCo!-925117081; - TS012f422b=01ab44a5a8e655d58263c2a87f12478ec3afaa59a65378fc9bd26fa1222168c17902059100cb52f99d24783cf2a17d512b924678c2dd39b3a53bf06040dbee5dbc85b9927c9e602324431bbaf4af7ecf2d2be4971c; - TS604574e3027=083fd6a492ab2000e573c3a1c967f070b646785030835e1c4575a12b8c9e8ecacfba9fdfb824151d08c393b4da113000df7470a0d99e22fefa06384a1a645ec5b52d5293e7d8b40476ed2aa6ad6aac21e3de074e780c99c7ff41c9ed2dc06321 + - Hex39764011=!dkmYbEYrt8fvST9FNVyFw/oTv40kxLvcsecN4wpJ3N3qfNjtPCRAQ+mNvWQuK7WUW5GmhgeC2yu/mg==; + TS012f422b=01ab44a5a8db5ae8b4a0fe4729350cea63981d60c48c8aacc91daf973d921bf1696f9bdd2bf3fd7565c3527ca5d2430fd455708cec787b7042e674fcac83ec4ebbc19b37b8ba72437fc4346060d2cf6d00ee44e94a; + TS604574e3027=083fd6a492ab20004282053f4c77829304b54e8ebed74651ec2c1e0d9dcbb3aca08dba62c9da5312088038241711300025e0c721e70f805bb5ee3b85e9c4476b26550b07a8ee68dbebf4e745a37f920abbcd23376ba2bd0ca55ce4fbeb5a0c80 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -688,10 +652,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:35 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -707,52 +669,50 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!R9ewz7+1bjGTdM3405nf5XFqnQVk9JBwN3OYvfE31Q6CX9pkYmnslA6ajhfZcrrNty+4McUEj7UEag==; - JSESSIONID=0VxDsBbGtov5K-KYDfsF5S5BYqRcqBqdnF5DIIDysn8mwwY2vnCo!-925117081; - TS012f422b=01ab44a5a8e655d58263c2a87f12478ec3afaa59a65378fc9bd26fa1222168c17902059100cb52f99d24783cf2a17d512b924678c2dd39b3a53bf06040dbee5dbc85b9927c9e602324431bbaf4af7ecf2d2be4971c; - TS604574e3027=083fd6a492ab2000e573c3a1c967f070b646785030835e1c4575a12b8c9e8ecacfba9fdfb824151d08c393b4da113000df7470a0d99e22fefa06384a1a645ec5b52d5293e7d8b40476ed2aa6ad6aac21e3de074e780c99c7ff41c9ed2dc06321 + - JSESSIONID=2b0APVfWJG-7qyhIsHdCUBuNz2ZNmVj6FN4KeGksSlPL_66Dm-K6!384618570; + Hex39764011=!dkmYbEYrt8fvST9FNVyFw/oTv40kxLvcsecN4wpJ3N3qfNjtPCRAQ+mNvWQuK7WUW5GmhgeC2yu/mg==; + TS012f422b=01ab44a5a8db5ae8b4a0fe4729350cea63981d60c48c8aacc91daf973d921bf1696f9bdd2bf3fd7565c3527ca5d2430fd455708cec787b7042e674fcac83ec4ebbc19b37b8ba72437fc4346060d2cf6d00ee44e94a; + TS604574e3027=083fd6a492ab20004282053f4c77829304b54e8ebed74651ec2c1e0d9dcbb3aca08dba62c9da5312088038241711300025e0c721e70f805bb5ee3b85e9c4476b26550b07a8ee68dbebf4e745a37f920abbcd23376ba2bd0ca55ce4fbeb5a0c80 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: - string: "\r\n\r\n \r\n \r\n" + string: "\r\n\r\n \r\n \r\n" headers: Content-Disposition: - - attachment; filename=CEP-20220419-CUENCA927820173168.xml + - attachment; filename=CEP-20241108-BiB2024110810162420780.xml Content-Language: - es-MX Content-Length: - - '1518' + - '1621' Content-Type: - application/xml Date: - - Tue, 19 Apr 2022 21:17:35 GMT + - Thu, 13 Feb 2025 16:56:15 GMT Set-Cookie: - - SRVCOOKIE=!jMGg3sMDWwoEsir405nf5XFqnQVk9OT6Jf1SsYxFpqrgt/UHsPxFVZ7bPL92NjQ/Wzxy3VBqC+6ujw==; - expires=Wed, 20-Apr-2022 05:17:35 GMT; path=/; Httponly - - TS012f422b=01ab44a5a84ee0f5f2b81af101e0b1c8f875cfc07b5378fc9bd26fa1222168c17902059100cb52f99d24783cf2a17d512b924678c2dd39b3a53bf06040dbee5dbc85b9927c3d33e710cfd30a3924506454420961d963205f5b5f324ed2295cea3e3945bb52; + - Hex39764011=!9SYp/4eMKsRDFjhFNVyFw/oTv40kxHm7SMY8OiVFDkDTrs6XyfkQS1+Jc1/0EVLhVcRuDcXrq5pV9A==; + expires=Fri, 14-Feb-2025 00:56:15 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8a286c8a1f108df4a8b80b31c0174ee378c8aacc91daf973d921bf1696f9bdd2bf3fd7565c3527ca5d2430fd455708cec787b7042e674fcac83ec4ebbc19b37b8c03e0c8895959e5717d25ff3eac6078b; + Path=/; ' + - TS604574e3027=083fd6a492ab20009a909231180a2d5374b421e64d5fd047da74ee3c781a92181403ee0dbbf507610844520a68113000f5bc6f47a4b76991b5ee3b85e9c4476b26550b07a8ee68dbebf4e745a37f920abbcd23376ba2bd0ca55ce4fbeb5a0c80; Path=/ - - TS604574e3027=083fd6a492ab20007ff9a66e0d9718ed26a70c9697ef7e07a8d044c78e1dbee2b05005f8602787a208215f8c261130001892680087237a5afa06384a1a645ec5b52d5293e7d8b40476ed2aa6ad6aac21e3de074e780c99c7ff41c9ed2dc06321;Path=/ - X-OPNET-Transaction-Trace: - - a2_79b13b05-6f29-42c7-91ed-71334055f647 status: code: 200 message: OK - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -761,14 +721,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -777,17 +737,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:35 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: Accept: - '*/*' @@ -796,23 +754,22 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '180' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\r\n
\r\n \r\n Error\r\n
\r\n
\r\ - \n
\r\n

\r\n La imagen de seguridad no fue\ - \ ingresada correctamente. Favor de validar.\r\n

\r\n
\r\ - \n
\r\n\r\n" + string: "\r\n
\r\n \r\n Error\r\n
\r\n
\r\n + \
\r\n

\r\n La imagen de seguridad no fue ingresada + correctamente. Favor de validar.\r\n

\r\n
\r\n
\r\n\r\n" headers: Content-Language: - es-MX @@ -821,17 +778,16 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:36 GMT + - Thu, 13 Feb 2025 16:56:15 GMT Set-Cookie: - - JSESSIONID=6cJDsBmUO7OjutcMI8VxNVxtzlBIM6JHRHINEzs3gliiStHUhHpa!-925117081; - path=/; HttpOnly - - Hex39714011=!MWFXVIw/cRbrBz3405nf5XFqnQVk9Hvghg2GhEL384Cx7OdDFyI1oI0fYMM96VoU7HU8ThiWL0pLaQ==; - expires=Wed, 20-Apr-2022 05:17:36 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8761823b60f3765cee7d5559d3ed3961908d4459c47fedcc99534b2ca7b658c045c1d70a84798df3d97e2848159966ec770318251bed2c9270525852a6e7d9f33fd5c43af6fc4195eddccb1075b8acc77; + - JSESSIONID=UHgAPVnytZSWTScbiZ5vrLgrxNc6297p1mqSmbqtn9hqu_jwV9DQ!384618570; + path=/; secure; HttpOnly + - Hex39764011=!eg8OVTagYwk1kVBFNVyFw/oTv40kxHWFUaqTl27rZdWURVnSFh4007AX0LtVjxchfxqXkaiWj12L7A==; + expires=Fri, 14-Feb-2025 00:56:15 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a864a803eff3ae43ec78341b141520adbe75812a7a6f8cadb4a470f1d951d7ed506e5ceb408b5c881ac504472346fe58f1aede73778710450beb25b514a9f98b301b72a711ce25c80754839e82bb7aa60e; + Path=/; ' + - TS604574e3027=083fd6a492ab200085c4ea0baac2c237a480df20bde3dd36629734ba4c698cb537f16cc7365c0ee108b4a80e5d11300088ac60a87ba938e1b5ee3b85e9c4476b0017960915f3326e7abc7e2b36f5d7784dd6d9a42ffa3a21aa59925520e875c9; Path=/ - - TS604574e3027=083fd6a492ab200007d94aaf5be6dfba69d46f64d45c72db5793176ff9b898a88692d3a1a828d9e908af966ba1113000e0840914674bb44b6d552077a07f6b0024196a95dd03e59c55dc88a5858845257faca4c82dfddb5d72a846673742f1c3;Path=/ - X-OPNET-Transaction-Trace: - - a2_5b3d9b40-d879-4b28-b0e5-f3df3ac01ef7 status: code: 200 message: OK @@ -845,15 +801,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!MWFXVIw/cRbrBz3405nf5XFqnQVk9Hvghg2GhEL384Cx7OdDFyI1oI0fYMM96VoU7HU8ThiWL0pLaQ==; - JSESSIONID=6cJDsBmUO7OjutcMI8VxNVxtzlBIM6JHRHINEzs3gliiStHUhHpa!-925117081; - TS012f422b=01ab44a5a8761823b60f3765cee7d5559d3ed3961908d4459c47fedcc99534b2ca7b658c045c1d70a84798df3d97e2848159966ec770318251bed2c9270525852a6e7d9f33fd5c43af6fc4195eddccb1075b8acc77; - TS604574e3027=083fd6a492ab200007d94aaf5be6dfba69d46f64d45c72db5793176ff9b898a88692d3a1a828d9e908af966ba1113000e0840914674bb44b6d552077a07f6b0024196a95dd03e59c55dc88a5858845257faca4c82dfddb5d72a846673742f1c3 + - Hex39764011=!eg8OVTagYwk1kVBFNVyFw/oTv40kxHWFUaqTl27rZdWURVnSFh4007AX0LtVjxchfxqXkaiWj12L7A==; + TS012f422b=01ab44a5a864a803eff3ae43ec78341b141520adbe75812a7a6f8cadb4a470f1d951d7ed506e5ceb408b5c881ac504472346fe58f1aede73778710450beb25b514a9f98b301b72a711ce25c80754839e82bb7aa60e; + TS604574e3027=083fd6a492ab200085c4ea0baac2c237a480df20bde3dd36629734ba4c698cb537f16cc7365c0ee108b4a80e5d11300088ac60a87ba938e1b5ee3b85e9c4476b0017960915f3326e7abc7e2b36f5d7784dd6d9a42ffa3a21aa59925520e875c9 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -862,10 +817,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:17:36 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -881,15 +834,15 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!MWFXVIw/cRbrBz3405nf5XFqnQVk9Hvghg2GhEL384Cx7OdDFyI1oI0fYMM96VoU7HU8ThiWL0pLaQ==; - JSESSIONID=6cJDsBmUO7OjutcMI8VxNVxtzlBIM6JHRHINEzs3gliiStHUhHpa!-925117081; - TS012f422b=01ab44a5a8761823b60f3765cee7d5559d3ed3961908d4459c47fedcc99534b2ca7b658c045c1d70a84798df3d97e2848159966ec770318251bed2c9270525852a6e7d9f33fd5c43af6fc4195eddccb1075b8acc77; - TS604574e3027=083fd6a492ab200007d94aaf5be6dfba69d46f64d45c72db5793176ff9b898a88692d3a1a828d9e908af966ba1113000e0840914674bb44b6d552077a07f6b0024196a95dd03e59c55dc88a5858845257faca4c82dfddb5d72a846673742f1c3 + - JSESSIONID=UHgAPVnytZSWTScbiZ5vrLgrxNc6297p1mqSmbqtn9hqu_jwV9DQ!384618570; + Hex39764011=!eg8OVTagYwk1kVBFNVyFw/oTv40kxHWFUaqTl27rZdWURVnSFh4007AX0LtVjxchfxqXkaiWj12L7A==; + TS012f422b=01ab44a5a864a803eff3ae43ec78341b141520adbe75812a7a6f8cadb4a470f1d951d7ed506e5ceb408b5c881ac504472346fe58f1aede73778710450beb25b514a9f98b301b72a711ce25c80754839e82bb7aa60e; + TS604574e3027=083fd6a492ab200085c4ea0baac2c237a480df20bde3dd36629734ba4c698cb537f16cc7365c0ee108b4a80e5d11300088ac60a87ba938e1b5ee3b85e9c4476b0017960915f3326e7abc7e2b36f5d7784dd6d9a42ffa3a21aa59925520e875c9 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: ' @@ -942,15 +895,14 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:17:36 GMT + - Thu, 13 Feb 2025 16:56:15 GMT Set-Cookie: - - SRVCOOKIE=!f3sZq1H9d1S4+FX405nf5XFqnQVk9FgmJKPo0QxklfZwxZKufDzvrw2+ACDXj4c0lhyx3nlcsZ98ug==; - expires=Wed, 20-Apr-2022 05:17:36 GMT; path=/; Httponly - - TS012f422b=01ab44a5a8c884fe8dd3071575fe2361378169827808d4459c47fedcc99534b2ca7b658c045c1d70a84798df3d97e2848159966ec770318251bed2c9270525852a6e7d9f33229f81f985eabb2332f22b6724ea1682017bf3951ff27b7e174421b0fc1de82a; + - Hex39764011=!UllUL+Vbr2WHSsBFNVyFw/oTv40kxEsBTqQEORm5ROvlTGOXMtgUlmiEK+zTzTYy22b4jqxrDD71kA==; + expires=Fri, 14-Feb-2025 00:56:15 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8dc701109973190e43eee458e1e8561f175812a7a6f8cadb4a470f1d951d7ed506e5ceb408b5c881ac504472346fe58f1aede73778710450beb25b514a9f98b306b1a9225a00215a86be18d9d7d8e0e9c; + Path=/; ' + - TS604574e3027=083fd6a492ab200013cdf1e7623ee868e65db4bb80bce85ce898681d7c769d21494b8fb428b0255808089ac487113000a7046d5159afde3eb5ee3b85e9c4476b0017960915f3326e7abc7e2b36f5d7784dd6d9a42ffa3a21aa59925520e875c9; Path=/ - - TS604574e3027=083fd6a492ab20004b27a71726f021ec9e2104108257861e46a163fc78ea8fe3595952f42d741e88087c07aea9113000bcce342d7428324a6d552077a07f6b0024196a95dd03e59c55dc88a5858845257faca4c82dfddb5d72a846673742f1c3;Path=/ - X-OPNET-Transaction-Trace: - - a2_721380fe-ff89-47ab-9d22-9e24c8a74161 status: code: 500 message: Internal Server Error diff --git a/tests/cassettes/test_maximo_numero_de_requests.yaml b/tests/cassettes/test_maximo_numero_de_requests.yaml index 85e62a4..fe43c54 100644 --- a/tests/cassettes/test_maximo_numero_de_requests.yaml +++ b/tests/cassettes/test_maximo_numero_de_requests.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 headers: Accept: - '*/*' @@ -9,14 +9,14 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '184' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: http://www.banxico.org.mx/cep/valida.do + uri: http://www.banxico.org.mx/cep-beta/valida.do response: body: string: '' @@ -25,17 +25,15 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:51:50 GMT Location: - - https://www.banxico.org.mx/cep/valida.do + - https://www.banxico.org.mx/cep-beta/valida.do Server: - mxbanxico status: code: 307 message: Temporary Redirect - request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=19-04-2022&criterio=CUENCA927820173168&emisor=90646&receptor=40012&cuenta=012180000&monto=0.01 + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 headers: Accept: - '*/*' @@ -44,67 +42,40 @@ interactions: Connection: - keep-alive Content-Length: - - '172' + - '184' Content-Type: - application/x-www-form-urlencoded User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: POST - uri: https://www.banxico.org.mx/cep/valida.do + uri: https://www.banxico.org.mx/cep-beta/valida.do response: body: - string: "\n\n\n \n \n \n\n \n\n\n\n\n\ - \n\n\n \n\n\n\n\n\ - \n\n\ - \n\n\n\n\n\n\n\n\n\n\n\n\ - \n\n Comprobante Electrónico de Pago\n\ - \ \n \n
\n \n
\n \ - \
\n
COMPROBANTE\ - \ ELECTRÓNICO DE PAGO (CEP)
\n
\n

Lo sentimos, pero ha\ - \ excedido el número máximo de consultas en este portal. Favor\ - \ de intentar nuevamente más tarde.

\n
\n \ - \
\n \n\n" + string: "\r\n
\r\n \r\n Error\r\n
\r\n
\r\n + \
\r\n

\r\n La imagen de seguridad no fue ingresada + correctamente. Favor de validar.\r\n

\r\n
\r\n
\r\n\r\n" headers: Content-Language: - es-MX Content-Length: - - '2406' + - '405' Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:51:50 GMT + - Thu, 13 Feb 2025 16:25:42 GMT Set-Cookie: - - JSESSIONID=KLdDz3LR_IRe6qPumAGCjSRfNZx91q8BIj_LwHRY_LCcibcfWTvI!1328161135; - path=/; HttpOnly - - Hex39714011=!AkEDf9NaQgleUL/405nf5XFqnQVk9D9VcrkCYEPQep+A3oHUJyDE8htrLE4FTPUpRUMsOdkbRDIubA==; - expires=Wed, 20-Apr-2022 05:51:50 GMT; path=/; Httponly - - TS012f422b=01ab44a5a84ba34c6254a45e478d11f14262bf511a9306483d2c7cc58f192905fd9e019d5473069defd5830e310c3982200f31571ee74849480bcf0ab316272c5ea364881c0f4c784228060d62792d55448c10604e; + - JSESSIONID=AS4AIWMph2RKRjojRTF5_N4b9kfLwdMsncJqiQinT_752Vx2GS8B!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!hSRb/Oe+A9DmfVpFNVyFw/oTv40kxBHSz82QTZMRfFQU7+JaOgCgLcUPOjkXc1hbKgS3ZNHNYoGjsA==; + expires=Fri, 14-Feb-2025 00:25:42 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8d9a8e09362eeb6005e191d30b6d416f9aff63b11604fa9565134550d619fba7e5f8bedcba4cab821a9c5faf9141f27f98c014cf50c8a72cb4c85d18a15f783b94c2e4bccfcb050806ecad51b8cd345f2; + Path=/; ' + - TS604574e3027=083fd6a492ab2000497ab8b20a6d67fc875b408f70a7265878992e1c2f7efb0cb3077a452c6c728208561400b9113000e1352844986ca35e677b00c3773eacb5c72c53cdd2306241d334310be9e403b7a42f80355f376c9f787bc45252f5a395; Path=/ - - TS604574e3027=083fd6a492ab200089282012bc422149ca7726bed6c29d31e21f2e7154820a0e40d2b889733f26af0874c788d0113000f9f421179607e3aae9aff0c88a12638e3960b93e5387f38da0cc9c7e29fdc65544bb76cc96f53551446a69ff8e3b4763;Path=/ - X-OPNET-Transaction-Trace: - - a2_99506051-843d-42c8-863a-517d53d6c767 status: code: 200 message: OK @@ -118,15 +89,14 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!AkEDf9NaQgleUL/405nf5XFqnQVk9D9VcrkCYEPQep+A3oHUJyDE8htrLE4FTPUpRUMsOdkbRDIubA==; - JSESSIONID=KLdDz3LR_IRe6qPumAGCjSRfNZx91q8BIj_LwHRY_LCcibcfWTvI!1328161135; - TS012f422b=01ab44a5a84ba34c6254a45e478d11f14262bf511a9306483d2c7cc58f192905fd9e019d5473069defd5830e310c3982200f31571ee74849480bcf0ab316272c5ea364881c0f4c784228060d62792d55448c10604e; - TS604574e3027=083fd6a492ab200089282012bc422149ca7726bed6c29d31e21f2e7154820a0e40d2b889733f26af0874c788d0113000f9f421179607e3aae9aff0c88a12638e3960b93e5387f38da0cc9c7e29fdc65544bb76cc96f53551446a69ff8e3b4763 + - Hex39764011=!hSRb/Oe+A9DmfVpFNVyFw/oTv40kxBHSz82QTZMRfFQU7+JaOgCgLcUPOjkXc1hbKgS3ZNHNYoGjsA==; + TS012f422b=01ab44a5a8d9a8e09362eeb6005e191d30b6d416f9aff63b11604fa9565134550d619fba7e5f8bedcba4cab821a9c5faf9141f27f98c014cf50c8a72cb4c85d18a15f783b94c2e4bccfcb050806ecad51b8cd345f2; + TS604574e3027=083fd6a492ab2000497ab8b20a6d67fc875b408f70a7265878992e1c2f7efb0cb3077a452c6c728208561400b9113000e1352844986ca35e677b00c3773eacb5c72c53cdd2306241d334310be9e403b7a42f80355f376c9f787bc45252f5a395 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: string: '' @@ -135,10 +105,8 @@ interactions: - Keep-Alive Content-Length: - '0' - Date: - - Tue, 19 Apr 2022 21:51:50 GMT Location: - - https://www.banxico.org.mx/cep/descarga.do?formato=XML + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML Server: - mxbanxico status: @@ -154,49 +122,46 @@ interactions: Connection: - keep-alive Cookie: - - Hex39714011=!AkEDf9NaQgleUL/405nf5XFqnQVk9D9VcrkCYEPQep+A3oHUJyDE8htrLE4FTPUpRUMsOdkbRDIubA==; - JSESSIONID=KLdDz3LR_IRe6qPumAGCjSRfNZx91q8BIj_LwHRY_LCcibcfWTvI!1328161135; - TS012f422b=01ab44a5a84ba34c6254a45e478d11f14262bf511a9306483d2c7cc58f192905fd9e019d5473069defd5830e310c3982200f31571ee74849480bcf0ab316272c5ea364881c0f4c784228060d62792d55448c10604e; - TS604574e3027=083fd6a492ab200089282012bc422149ca7726bed6c29d31e21f2e7154820a0e40d2b889733f26af0874c788d0113000f9f421179607e3aae9aff0c88a12638e3960b93e5387f38da0cc9c7e29fdc65544bb76cc96f53551446a69ff8e3b4763 + - JSESSIONID=AS4AIWMph2RKRjojRTF5_N4b9kfLwdMsncJqiQinT_752Vx2GS8B!-2094109768; + Hex39764011=!hSRb/Oe+A9DmfVpFNVyFw/oTv40kxBHSz82QTZMRfFQU7+JaOgCgLcUPOjkXc1hbKgS3ZNHNYoGjsA==; + TS012f422b=01ab44a5a8d9a8e09362eeb6005e191d30b6d416f9aff63b11604fa9565134550d619fba7e5f8bedcba4cab821a9c5faf9141f27f98c014cf50c8a72cb4c85d18a15f783b94c2e4bccfcb050806ecad51b8cd345f2; + TS604574e3027=083fd6a492ab2000497ab8b20a6d67fc875b408f70a7265878992e1c2f7efb0cb3077a452c6c728208561400b9113000e1352844986ca35e677b00c3773eacb5c72c53cdd2306241d334310be9e403b7a42f80355f376c9f787bc45252f5a395 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 method: GET - uri: https://www.banxico.org.mx/cep/descarga.do?formato=XML + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML response: body: - string: "\n\n\n \n \n \n\n \n\n\n\n\n\ - \n\n\n \n\n\n\n\n\ - \n\n\ - \n\n\n\n\n\n\n\n\n\n\n\n\ - \n\n Comprobante Electrónico de Pago\n\ - \ \n \n
\n \n
\n \ - \
\n
COMPROBANTE\ - \ ELECTRÓNICO DE PAGO (CEP)
\n
\n

Lo sentimos, pero ha\ - \ excedido el número máximo de consultas en este portal. Favor\ - \ de intentar nuevamente más tarde.

\n
\n \ - \ \n \n\n" + string: "\n\n\n \n \n \n\n \n\n\n\n\n\n\n\n + \ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n + \ Comprobante Electrónico de Pago\n \n + \ \n
\n
\n + \
\n
\n
COMPROBANTE ELECTRÓNICO DE PAGO + (CEP)
\n
\n + \

Lo sentimos, pero ha excedido el número máximo + de consultas en este portal. Favor de intentar nuevamente más tarde.

\n + \
\n
\n \n\n" headers: Content-Language: - es-MX @@ -205,16 +170,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Tue, 19 Apr 2022 21:51:50 GMT + - Thu, 13 Feb 2025 16:25:43 GMT Set-Cookie: - - SRVCOOKIE=!2w1jhvdlbozG5sb405nf5XFqnQVk9J2n59GepkXVIK+/WmlCJ2w++9O5OIqqMhcKpRUWOm6OREn2nQ==; - expires=Wed, 20-Apr-2022 05:51:50 GMT; path=/; Httponly - - TS012f422b=01ab44a5a884a34c70cd0f67c02ee851d659a1698d9306483d2c7cc58f192905fd9e019d5473069defd5830e310c3982200f31571ee74849480bcf0ab316272c5ea364881c5cf1af23755b31ab92b4f41241a75e918e80a00b5317894584a9338a0662afdb; + - Hex39764011=!AdDwggDFbRxADm9FNVyFw/oTv40kxF/a5FkbnH6T/KlLrJISuF4eZtPnA/tx0yFaA12snkkYuwg1fQ==; + expires=Fri, 14-Feb-2025 00:25:43 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8fff85cbf9871020a39c5fcee17bd7cdbaff63b11604fa9565134550d619fba7e5f8bedcba4cab821a9c5faf9141f27f98c014cf50c8a72cb4c85d18a15f783b971711cce79568f9c3e8d321fa17ca017; + Path=/; ' + - TS604574e3027=083fd6a492ab2000f93b94def09fda594000f13c8e94e403a7f9129a33b66c194b6a8ddc97066c7208e3378b3111300095cd17a15b9de6bac10528f84c16c63655b0a224e9521493dacdcad85b8c2b310948e49391f08b7e5ba8638ff349ab6f; Path=/ - - TS604574e3027=083fd6a492ab2000a7fde1407f73b9cacfd9f9413af72771dd0cea9f02f4d034e5cf9893e5396e6d08ec67f70d113000231aad0df5d8e978e9aff0c88a12638e3960b93e5387f38da0cc9c7e29fdc65544bb76cc96f53551446a69ff8e3b4763;Path=/ - X-OPNET-Transaction-Trace: - - a2_a071dea0-3515-4de5-b164-07ba2e5b55f6 status: code: 200 message: OK -version: 1 \ No newline at end of file +version: 1 diff --git a/tests/cassettes/test_validar_transferencia.yaml b/tests/cassettes/test_validar_transferencia.yaml deleted file mode 100644 index 538bd9f..0000000 --- a/tests/cassettes/test_validar_transferencia.yaml +++ /dev/null @@ -1,102 +0,0 @@ -interactions: -- request: - body: tipoCriterio=T&receptorParticipante=0&captcha=c&tipoConsulta=1&fecha=12-04-2019&criterio=CUENCA1555093850&emisor=90646&receptor=40012&cuenta=012180004643051249&monto=8.17 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '170' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep/valida.do - response: - body: - string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias - por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el - ícono para descargar el CEP.

\n PDF\n \n XML\n \n - \ ZIP\n \n - \
\n \n
" - headers: - Content-Language: - - es-MX - Content-Length: - - '1508' - Content-Type: - - text/html; charset=UTF-8 - Date: - - Wed, 31 Jul 2019 13:52:43 GMT - Set-Cookie: - - JSESSIONID=nY1ITfIGRhHuBSQAg3tg5Nxs3ofM5W2m2tKE-t4gYgMlC1EqDj-k!-436816968; - path=/; HttpOnly - - ser29307111=709772970.50971.0000; path=/; Httponly - - TS014a759c=0189f484aff554122e2de93950737706088132437b6743fc5152f3d432318fe66cd632b68f4a695220fa71947b902407486d78ee2e56b39a43095016bc9b03210b6a8eff3b5263fb8158ae6506528e04500d601ee0; - Path=/ - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=nY1ITfIGRhHuBSQAg3tg5Nxs3ofM5W2m2tKE-t4gYgMlC1EqDj-k!-436816968; - TS014a759c=0189f484aff554122e2de93950737706088132437b6743fc5152f3d432318fe66cd632b68f4a695220fa71947b902407486d78ee2e56b39a43095016bc9b03210b6a8eff3b5263fb8158ae6506528e04500d601ee0; - ser29307111=709772970.50971.0000 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep/descarga.do?formato=XML - response: - body: - string: "\r\n\r\n \r\n - \ \r\n" - headers: - Content-Disposition: - - attachment; filename=CEP-20190412-CUENCA1555093850.xml - Content-Language: - - es-MX - Content-Length: - - '1444' - Content-Type: - - application/xml - Date: - - Wed, 31 Jul 2019 13:52:46 GMT - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_1.yaml b/tests/cassettes/test_validar_transferencia_tipo_1.yaml new file mode 100644 index 0000000..d4de248 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_1.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '178' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '178' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:25:39 GMT + Set-Cookie: + - JSESSIONID=f68AIVQHMlwqzWoziZtqs8h5lWYE5rvLDk8cmzXuAVHH1AOeWk7P!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; + expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; + Path=/; ' + - TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; + TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; + TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=f68AIVQHMlwqzWoziZtqs8h5lWYE5rvLDk8cmzXuAVHH1AOeWk7P!-2094109768; + Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; + TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; + TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-BiB202411081016248360.xml + Content-Language: + - es-MX + Content-Length: + - '1553' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:25:39 GMT + Set-Cookie: + - Hex39764011=!08q1ph0ucoWFOsdFNVyFw/oTv40kxBU4lzGh7WVVg43xVRGVBrCSGo51tu5j1MfSYtWRWlsW+GH4Bg==; + expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a821ef8fd9e85b3e599a2445fe174b96802dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bddb2fe6926ac33deb6a467c22ae5da181b; + Path=/; ' + - TS604574e3027=083fd6a492ab2000ea583d4ef2b57e7c91b3c87059b4aa7fcc29ee6854e5e49f518a136550ebe15d08a95b5a0a113000e08ccd4837a5c0a05a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_10.yaml b/tests/cassettes/test_validar_transferencia_tipo_10.yaml new file mode 100644 index 0000000..ac879d5 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_10.yaml @@ -0,0 +1,179 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:56 GMT + Set-Cookie: + - JSESSIONID=KqkAJFeVabaz6FdtU89dOzDOriO03FxzmGK4pRLnIfaYOso3-X-m!384618570; + path=/; secure; HttpOnly + - Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; + expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; + Path=/; ' + - TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; + TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; + TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=KqkAJFeVabaz6FdtU89dOzDOriO03FxzmGK4pRLnIfaYOso3-X-m!384618570; + Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; + TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; + TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n + \ \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-MIFELSPEI20241108102122835.xml + Content-Language: + - es-MX + Content-Length: + - '1457' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:56 GMT + Set-Cookie: + - Hex39764011=!s63SpY47M/5mNhFFNVyFw/oTv40kxPBKEFC9PQzYgAdSQVj0hCtdletv50H54UxkNPIuhJRmFGlvbA==; + expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a86661d74c2c70d47257601e917f20984eeae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241a9a53bbb7e1ed1bad48790de91a8e988; + Path=/; ' + - TS604574e3027=083fd6a492ab200020ee72dfeff0b089c1547759f97f3d0935779bedc6ef0e90265da4f6e6caca1e0879960e001130004cc14bfb60b16624ea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_11.yaml b/tests/cassettes/test_validar_transferencia_tipo_11.yaml new file mode 100644 index 0000000..6a0e3e7 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_11.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '182' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '182' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:57 GMT + Set-Cookie: + - JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; + expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; + Path=/; ' + - TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; + TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; + TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768; + Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; + TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; + TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-MIFELSPEI20241108112123712.xml + Content-Language: + - es-MX + Content-Length: + - '1477' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:57 GMT + Set-Cookie: + - Hex39764011=!wH3l1Dw9N84jHIBFNVyFw/oTv40kxLWMZ9vEiqwdBWgZVBtZBgk2DbjtTj9nQ50U/9O4tX6zpQicuQ==; + expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a82876f666ce8b7ca75196c65f21614316bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e546fa6495acadf879c8f6b257ece276d5; + Path=/; ' + - TS604574e3027=083fd6a492ab2000ab5ad56174af898e18de05fa465facb66dd47d8cf075c71fde32afa438a908f9081465a8451130003d5c5d3131e47252118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_12.yaml b/tests/cassettes/test_validar_transferencia_tipo_12.yaml new file mode 100644 index 0000000..b7bbadb --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_12.yaml @@ -0,0 +1,182 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:58 GMT + Set-Cookie: + - JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570; + path=/; secure; HttpOnly + - Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; + expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; + Path=/; ' + - TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; + TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; + TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570; + Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; + TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; + TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-EPRU723PRENOM24110744VL0000001.xml + Content-Language: + - es-MX + Content-Length: + - '1655' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:58 GMT + Set-Cookie: + - Hex39764011=!r17YPzkQzKZjTlFFNVyFw/oTv40kxEKr6Y1LK1Dxjctrs0Y1P0ajkF6vlMn/t1RR9iu/YSPG2E5qrQ==; + expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a88cd8fd79d9eca66d69ef64ee10c430ecb362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5dc0a31dc69edab422ffba93bff3641ea8; + Path=/; ' + - TS604574e3027=083fd6a492ab2000399d5a96f93481592cfae57bfdcf4970be69d9fc3e0aee24eb8f0386c871ee5c088e0f1916113000f5c5d70dc7d5f1c9e2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_3.yaml b/tests/cassettes/test_validar_transferencia_tipo_3.yaml new file mode 100644 index 0000000..c69dbf4 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_3.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162418193&emisor=37166&receptor=90723&cuenta=566180000553286528&monto=10802.62&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '180' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162418193&emisor=37166&receptor=90723&cuenta=566180000553286528&monto=10802.62&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '180' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:25:39 GMT + Set-Cookie: + - JSESSIONID=IgAAIVYduT2qG94VyerCxdqCJPnGAJlaigkF33eXv45UUsD3enfg!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; + expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; + Path=/; ' + - TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; + TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; + TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=IgAAIVYduT2qG94VyerCxdqCJPnGAJlaigkF33eXv45UUsD3enfg!-2094109768; + Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; + TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; + TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-BiB2024110810162418193.xml + Content-Language: + - es-MX + Content-Length: + - '1558' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:25:39 GMT + Set-Cookie: + - Hex39764011=!oXpd+/I92dfyfkNFNVyFw/oTv40kxELuMRn0XjB+xsp7zCMfi0XNPSDDNp3+McCG8Qyie2MTzlyxFw==; + expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8aa366b68e55531c965407f4f727d59d4d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a26a5a07aa69a13a27855cdcba029e1074; + Path=/; ' + - TS604574e3027=083fd6a492ab2000bb6a4d9d28dbdcf5f98da15163347155dfe3dade07a0f767bdfd6b90bfb4f6d608daea1f851130008aa97b4cff2e741f5a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_30.yaml b/tests/cassettes/test_validar_transferencia_tipo_30.yaml new file mode 100644 index 0000000..3ed10ec --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_30.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '180' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '180' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:56:53 GMT + Set-Cookie: + - JSESSIONID=iNUAPe1Iq2o3gffKAH3Dhg3OuH756B84Z33S8bqXlJzmSzZKE1KF!384618570; + path=/; secure; HttpOnly + - Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; + expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; + Path=/; ' + - TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; + TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; + TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=iNUAPe1Iq2o3gffKAH3Dhg3OuH756B84Z33S8bqXlJzmSzZKE1KF!384618570; + Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; + TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; + TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-BiB2024110810162420780.xml + Content-Language: + - es-MX + Content-Length: + - '1621' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:56:53 GMT + Set-Cookie: + - Hex39764011=!re+M+lgNNXipE9FFNVyFw/oTv40kxN0nRiyETcXNUHYOB31uP5lqzMVrmlX9+aMxNEUAQ8+Db7YT3w==; + expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a827dd9eba85377c35ad440e837607f134a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e239f02772e9b9e34dc86f60f74736eaa; + Path=/; ' + - TS604574e3027=083fd6a492ab20003247c401cc93db494f7af812147e0de74ce2741805dcf35eba8a090f17b9095a08d77070ad113000ed51ee4af8fcabf28ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_31.yaml b/tests/cassettes/test_validar_transferencia_tipo_31.yaml new file mode 100644 index 0000000..b309fd2 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_31.yaml @@ -0,0 +1,178 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=6022135&emisor=40059&receptor=90723&cuenta=059180019535000152&monto=6593.15&receptorParticipante=1 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=6022135&emisor=40059&receptor=90723&cuenta=059180019535000152&monto=6593.15&receptorParticipante=1 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:56:53 GMT + Set-Cookie: + - JSESSIONID=Ce0APe9i7g84TBAe9veNQ5FA3ruUG-0mS0rc6SQfvDBAGAu3Rj0d!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; + expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; + Path=/; ' + - TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; + TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; + TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=Ce0APe9i7g84TBAe9veNQ5FA3ruUG-0mS0rc6SQfvDBAGAu3Rj0d!-2094109768; + Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; + TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; + TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-6022135.xml + Content-Language: + - es-MX + Content-Length: + - '1420' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:56:54 GMT + Set-Cookie: + - Hex39764011=!AWt3/gbmbo9qGchFNVyFw/oTv40kxM2SlRFvnbliuvraXd00Zjgp2cejZF0Y7LvVQPixchbcAcb0oQ==; + expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a88b3b635953b3b6ae1694b7006fa421afddb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179dbcb5616bc6d9a04e6d683ceb28bd16f; + Path=/; ' + - TS604574e3027=083fd6a492ab2000326d8b5b8091e9629a431079b620376b8c31992294e5dace5b75a9662ee6fa4c08479569b6113000cd856a5ec810c07c02c6b2748cb3dbabdb8454e047d7b5144ba19a4506dcfdcad0d9cb6c2b6456ea06b13c9ace924e0d; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_35.yaml b/tests/cassettes/test_validar_transferencia_tipo_35.yaml new file mode 100644 index 0000000..eaad407 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_35.yaml @@ -0,0 +1,182 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=2370050&emisor=40062&receptor=90723&cuenta=723969000011000077&monto=13887.7&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=2370050&emisor=40062&receptor=90723&cuenta=723969000011000077&monto=13887.7&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:56:54 GMT + Set-Cookie: + - JSESSIONID=W_QAPfFgzrBJKGZz7csC4zLpkaJR3stLcR1LQGIiWNM3kX3b5_1m!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; + expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; + Path=/; ' + - TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; + TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; + TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=W_QAPfFgzrBJKGZz7csC4zLpkaJR3stLcR1LQGIiWNM3kX3b5_1m!-2094109768; + Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; + TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; + TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-2370050.xml + Content-Language: + - es-MX + Content-Length: + - '1663' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:56:54 GMT + Set-Cookie: + - Hex39764011=!QUYxMdMsHc/r4BdFNVyFw/oTv40kxNkpi186H1ncgAbeUcfeYIEce73RWa1exx/e8Yio/92rE6262g==; + expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a87fb0fc2f1fb87157a62fce2e60eb4e3d4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e41220e3580a01001d19529e44bcf5cec; + Path=/; ' + - TS604574e3027=083fd6a492ab2000605560675e2d52007f5d744153ef1ca3f616bff4bf9444a47f02e20a88c5d02608a492df0b1130005082d3da8785f6f902c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_36.yaml b/tests/cassettes/test_validar_transferencia_tipo_36.yaml new file mode 100644 index 0000000..8d08001 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_36.yaml @@ -0,0 +1,182 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BXM492411081919171201&emisor=40113&receptor=90723&cuenta=723969000011000077&monto=21683.76&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '179' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BXM492411081919171201&emisor=40113&receptor=90723&cuenta=723969000011000077&monto=21683.76&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '179' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:56:54 GMT + Set-Cookie: + - JSESSIONID=1NkAPfOMAmmpNwOB96TCOcnqqjKopFpdlDzgzEMYxAWBmP3jGqAL!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; + expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; + Path=/; ' + - TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; + TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; + TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=1NkAPfOMAmmpNwOB96TCOcnqqjKopFpdlDzgzEMYxAWBmP3jGqAL!-2094109768; + Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; + TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; + TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n + \ \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-BXM492411081919171201.xml + Content-Language: + - es-MX + Content-Length: + - '1690' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:56:55 GMT + Set-Cookie: + - Hex39764011=!fJGDmUQxog77UpdFNVyFw/oTv40kxNoyzUE0zlIDRyG8rvneLq2jxZmjOgm8bpQahmnwmKll9yPgoA==; + expires=Fri, 14-Feb-2025 00:56:55 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a888178248cc59005ec49c8aca07f94840ae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e674a5fd791f42be88b3358b6c47bc276a; + Path=/; ' + - TS604574e3027=083fd6a492ab2000101f06610504caf96be855c9f6c0eab92ce59992078ccea24c01bff133d8e29308312854df113000b9fac45cdf4070927436abc5d75ce209a21909a0ba5c4018fa242196a3d763b831c0b74d1b9090fb7f5e5a465845ef00; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_4.yaml b/tests/cassettes/test_validar_transferencia_tipo_4.yaml new file mode 100644 index 0000000..2fbc29b --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_4.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015742432&emisor=40021&receptor=90723&cuenta=021180043534353354&monto=17187.23&receptorParticipante=1 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015742432&emisor=40021&receptor=90723&cuenta=021180043534353354&monto=17187.23&receptorParticipante=1 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:25:40 GMT + Set-Cookie: + - JSESSIONID=FFEAIVhG0DRta4GdLelEo2CZJH0lDBz_hPOiiRFhESeoZIp0LIF0!384618570; + path=/; secure; HttpOnly + - Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; + expires=Fri, 14-Feb-2025 00:25:40 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; + Path=/; ' + - TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; + TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; + TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=FFEAIVhG0DRta4GdLelEo2CZJH0lDBz_hPOiiRFhESeoZIp0LIF0!384618570; + Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; + TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; + TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-RASPEIOAT202411081015742432.xml + Content-Language: + - es-MX + Content-Length: + - '1453' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:25:40 GMT + Set-Cookie: + - Hex39764011=!0GZz6GY9OQbuKP1FNVyFw/oTv40kxImjxinzbsiMmGMIKakJ2i7zX5aNwtjgkt4W3Nc2FKAz1oOLfA==; + expires=Fri, 14-Feb-2025 00:25:40 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a85f3a39e9d144b56b1536aa1854b1a6de410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5f7d8fd2ee2c3f215eb8b47cfb5683fdb; + Path=/; ' + - TS604574e3027=083fd6a492ab20007c4fd2e7b1c2263c2412c9f4e7b34418ea9fca07ac6fe9ea5d46897c8367fbfa089eb5d8b711300019160d829329733c18c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_5.yaml b/tests/cassettes/test_validar_transferencia_tipo_5.yaml new file mode 100644 index 0000000..df4b72f --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_5.yaml @@ -0,0 +1,179 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015794072&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27529.89&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015794072&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27529.89&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:54 GMT + Set-Cookie: + - JSESSIONID=d5sAJE9N0pMB3SAT9gZ6KA2D59wtK5Y7YBZIuq0yvvwd1Zg1w9h3!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; + expires=Fri, 14-Feb-2025 00:28:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; + Path=/; ' + - TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; + TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; + TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=d5sAJE9N0pMB3SAT9gZ6KA2D59wtK5Y7YBZIuq0yvvwd1Zg1w9h3!-2094109768; + Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; + TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; + TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n + \ \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-RASPEIOAT202411081015794072.xml + Content-Language: + - es-MX + Content-Length: + - '1453' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:54 GMT + Set-Cookie: + - Hex39764011=!zgd1uHJSeHCFq+BFNVyFw/oTv40kxKyDcCcRzsPoa+/D8T7hI68VcvjdaItVn0zrvl7rmCOUFRZsPw==; + expires=Fri, 14-Feb-2025 00:28:54 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a800288883e6ddb8d82f8bae0d234285987cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec125465378073a358d3399ec03da6d34fb1ef39e; + Path=/; ' + - TS604574e3027=083fd6a492ab20003dac2c1c60b7357a27828bc25827e05fc59c24a244d18157a24671817ec2032b08d98eeb3d1130001324be7901e8dedc28b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_6.yaml b/tests/cassettes/test_validar_transferencia_tipo_6.yaml new file mode 100644 index 0000000..75123f0 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_6.yaml @@ -0,0 +1,179 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015791849&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27532.17&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015791849&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27532.17&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:55 GMT + Set-Cookie: + - JSESSIONID=XPwAJFF-NMmpmLgTz4DjEN0fUJXT3rcDenPFcGFs-dYvpKeQcQYA!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; + expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; + Path=/; ' + - TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; + TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; + TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=XPwAJFF-NMmpmLgTz4DjEN0fUJXT3rcDenPFcGFs-dYvpKeQcQYA!-2094109768; + Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; + TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; + TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n + \ \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-RASPEIOAT202411081015791849.xml + Content-Language: + - es-MX + Content-Length: + - '1435' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:55 GMT + Set-Cookie: + - Hex39764011=!bQcEp9jdWvbBpatFNVyFw/oTv40kxHtiLxS5k+LmMiQV1A1/8p7IrU5XNHO+qqJIsErw3YSHeZ5hCg==; + expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8b7fb78763afea0ee2cc7a0ad31fd20ba699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dacd57e18be8cc8e36cc3fa5aded2c38814; + Path=/; ' + - TS604574e3027=083fd6a492ab200070bd468b15351ba281534e738d58861952192ed5903192da3c0d7b9254153f00086909dd3a113000124502f56d2dd2f9a78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_8.yaml b/tests/cassettes/test_validar_transferencia_tipo_8.yaml new file mode 100644 index 0000000..a095e72 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_8.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102121081&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=28523.96&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102121081&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=28523.96&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:25:41 GMT + Set-Cookie: + - JSESSIONID=D9kAIV65xCwbsszGkRiHUFGeecxq0wVtLA4xCefNAMukkbfFLLNo!384618570; + path=/; secure; HttpOnly + - Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; + expires=Fri, 14-Feb-2025 00:25:41 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; + Path=/; ' + - TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; + TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; + TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=D9kAIV65xCwbsszGkRiHUFGeecxq0wVtLA4xCefNAMukkbfFLLNo!384618570; + Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; + TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; + TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n + \ \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-MIFELSPEI20241108102121081.xml + Content-Language: + - es-MX + Content-Length: + - '1526' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:25:42 GMT + Set-Cookie: + - Hex39764011=!F57fKxP7DW7MgnhFNVyFw/oTv40kxIFQmMnTBCPBqkrk4R4fkpwawHeJcY/WAXi+6NzmvqSLnlFMQQ==; + expires=Fri, 14-Feb-2025 00:25:42 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8933231cc0ae675d496e58c63bf417d4d89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b157949aec6de6af370d8759f07e84af06; + Path=/; ' + - TS604574e3027=083fd6a492ab2000f5646c475d210ddf6e73c6c472fddd1bf2e80c481325fe04cc5e7a21b510d821089384274c113000c2e68743cd23ebd3677b00c3773eacb58180f92cc045972befa837713b66a7b11013279a6ec26ba4f046205fd53b5403; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_validar_transferencia_tipo_9.yaml b/tests/cassettes/test_validar_transferencia_tipo_9.yaml new file mode 100644 index 0000000..1aab1c5 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_tipo_9.yaml @@ -0,0 +1,180 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081215739794&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=29778.66&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081215739794&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=29778.66&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '185' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n
\n \n Descargar CEP\n
\n
\n

Gracias + por utilizar el servicio de descarga de CEP

\n \n
Haga clic sobre el + ícono para descargar el CEP.

\n PDF\n \n XML\n \n + \ ZIP\n \n + \
\n \n
" + headers: + Content-Language: + - es-MX + Content-Length: + - '1508' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Thu, 13 Feb 2025 16:28:55 GMT + Set-Cookie: + - JSESSIONID=iMUAJFSg-WF2LTRvDlfy1C36mvkS5phZ2YgSvJZtr2qrYQLbVEmw!384618570; + path=/; secure; HttpOnly + - Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; + expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; + Path=/; ' + - TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863; + Path=/ + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; + TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; + TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - JSESSIONID=iMUAJFSg-WF2LTRvDlfy1C36mvkS5phZ2YgSvJZtr2qrYQLbVEmw!384618570; + Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; + TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; + TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863 + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: GET + uri: https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML + response: + body: + string: "\r\n\r\n \r\n \r\n" + headers: + Content-Disposition: + - attachment; filename=CEP-20241108-RASPEIOAT202411081215739794.xml + Content-Language: + - es-MX + Content-Length: + - '1546' + Content-Type: + - application/xml + Date: + - Thu, 13 Feb 2025 16:28:56 GMT + Set-Cookie: + - Hex39764011=!h3BRlWI5U4+XhKJFNVyFw/oTv40kxLig3zq5jNCbFspdLsBF4GAAr0HHKvjwiLFAY6kUov9657mHmQ==; + expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a88a9102cb5847614b303f0766ca7fb5e2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b37166358635575d7488adad14bea373f3d4; + Path=/; ' + - TS604574e3027=083fd6a492ab20007e3d8a6ccef1f4aee1bbc1abf403e7b744588106d109acff53370ca69d03ad9e08d54484eb113000a8070c11f5f4a512ea10aed0b8da5eaa8042f8dd19fc485e9ae39560be2f40ad127412e5f89382c3d39bd0ce54fcfc25; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/conftest.py b/tests/conftest.py index f67f722..110847e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,7 +2,10 @@ import pytest -from cep import Client, Cuenta, Transferencia +from cep import Client, Config, Cuenta, Transferencia + +# Use beta endpoint for testing +Config.BASE_URL = 'http://www.banxico.org.mx/cep-beta' @pytest.fixture @@ -11,34 +14,39 @@ def client(): @pytest.fixture -def transferencia(): +def transferencia_tipo_1(): yield Transferencia( - fecha_operacion=datetime.datetime(2019, 4, 12, 13, 31, 44), + fecha_operacion=datetime.date(2024, 11, 8), + fecha_abono=datetime.datetime(2024, 11, 8, 10, 53, 36), ordenante=Cuenta( - nombre='Matin Tamizi', - tipo='40', - banco='STP', - numero='646180157042875763', - rfc='ND', + nombre='Pruebas Bienestar', + tipo_cuenta='40', + banco='BaBien', + numero='166180026480316602', + rfc='GAJH931011I41', ), beneficiario=Cuenta( - nombre='MATIN TAMIZI', - tipo='40', - banco='BBVA BANCOMER', - numero='012180004643051249', - rfc='TAMA840916669', + nombre='Felipe Lopez Hernandez', + tipo_cuenta='40', + banco='Cuenca', + numero='723969000011000077', + rfc='LOHF890619HCSPRL05', ), - monto=8.17, - clave_rastreo='CUENCA1555093850', - concepto='Matin', - emisor='90646', - receptor='40012', + monto=3414.95, + iva=0.00, + concepto='CONCEPTO PAGO TIPO 1', + clave_rastreo='BiB202411081016248360', + emisor='37166', + receptor='90723', sello=( - 'X8YFvAfKZhV72datpHzKes/AaOyLqgs0uDWlVqrDy8i0FV96ajZY17Hz9X35c7' - 'z/TrSSvw6BQiqVWbJGG5xriNn8PK4pFKF6nyCEr6uGQ6FuF7YqAD6tUK55BBKT' - 'dqF3j+qummKguTHJyttR4xMwmOpiuwkgXuUFaEEHiO+UjgIk7BVzkULkZdpciL' - 'rY4czMZhdqpQ7if0udu2BxWI99eU9ZqaAtILyt39MtCPObu61D4A6SFnw6JwsU' - 'Rm2wCZ4KSYzex18Re3Hrg+BLri5drlgcPSG5/OBeE2omlcuZTQqd5iUzRt/XVg' - '33arK4M8h2hbcfU/xwtYEDBQ6Jewh+tg==' + 'WtvkPvCMGKSaj+B/XPUnVnahJXwCfASJ1u3cUsU0+MYSaXV2K0a' + 'EC5otVJntu80bbsmdaVqI1P+V7BbXr3WJDKPtFJnVTXmuRalInP' + 'UZ6e0rs5GOO45ZktZ0CYnxoLqt1kgX5oIlRchh/xXVfHAPy964K' + 'sARiCTr8/BeaiBeImjhcXh6CKwmO23cGiydQ3OxGPagnijfZE/F' + 'PWPJ2z5NBOIH9Qo4wg/UuDZEVl5ekmUZlarFZ+sT8F+RkrRYr6I' + 'P0x+5Y7y53qMGqoBy0x6L3wI9rwhue4Nrcmk40pQGjsQR+FBKtS' + 'etSaWZhz/32cbulWzEk9wug8LfUij+KNtU3Q==' ), + tipo_pago=1, + pago_a_banco=False, ) diff --git a/tests/test_transferencia.py b/tests/test_transferencia.py index 7c0140b..9175c3c 100644 --- a/tests/test_transferencia.py +++ b/tests/test_transferencia.py @@ -2,129 +2,282 @@ import os import pytest -from requests import HTTPError +from requests.exceptions import HTTPError from cep import Transferencia -from cep.client import Client -from cep.exc import CepError, IncompleteResponseError, MaxRequestError - - -@pytest.mark.vcr -def test_validar_transferencia(transferencia): - tr = Transferencia.validar( - fecha=dt.date(2019, 4, 12), - clave_rastreo='CUENCA1555093850', - emisor='90646', # STP - receptor='40012', # BBVA - cuenta='012180004643051249', - monto=8.17, - ) - assert tr == transferencia - assert type(tr.to_dict()) is dict +from cep.exc import CepError, MaxRequestError, NotFoundError @pytest.mark.vcr def test_fail_validar_transferencia(): - tr = Transferencia.validar( - fecha=dt.date(2019, 1, 1), - clave_rastreo='guey', - emisor='90646', - receptor='40012', - cuenta='012180004643051249', - monto=1111111.00, - ) - assert tr is None + with pytest.raises(NotFoundError): + Transferencia.validar( + fecha=dt.date(2019, 1, 1), + clave_rastreo='invalid-clave', + emisor='37166', + receptor='90723', + cuenta='012180004643051249', + monto=1111111.00, + ) @pytest.mark.vcr -def test_descarga_pdf(transferencia): - pdf = transferencia.descargar() +def test_descarga_pdf(transferencia_tipo_1): + pdf = transferencia_tipo_1.descargar() file_dir = os.path.dirname(__file__) - file_path = os.path.join(file_dir, 'CEP-20190412-CUENCA1555093850.pdf') + file_path = os.path.join( + file_dir, 'CEP-20241108-BiB202411081016248360.pdf' + ) with open(file_path, 'rb') as f: assert pdf == f.read() -@pytest.mark.vcr -def test_descagar_transferencia_con_fecha_distinta(transferencia): - tr = Transferencia.validar( - fecha=dt.date(2019, 8, 29), - clave_rastreo='MBAN01001908300003463991', - emisor='40012', # BBVA - receptor='90646', # STP - cuenta='646180157048010399', - monto=300, - ) - assert type(tr.to_dict()) is dict - tr.descargar() - - @pytest.mark.vcr def test_lanza_cep_error_para_errores_500(): try: for i in range(10): Transferencia.validar( - fecha=dt.date(2022, 4, 19), - clave_rastreo='CUENCA927820173168', - emisor='90646', # STP - receptor='40012', # BBVA - cuenta='012180000', - monto=0.01, + fecha=dt.date(2024, 11, 8), + clave_rastreo='BiB2024110810162420780', + emisor='37166', + receptor='90723', + cuenta='723969000011000077', + monto=25208.26, ) except CepError as exc: assert type(exc.__cause__) is HTTPError - assert str(exc.__cause__) == ( - '500 Server Error: Internal Server Error for url: ' - 'https://www.banxico.org.mx/cep/descarga.do?formato=XML' - ) + assert '500 Server Error: Internal Server Error' in str(exc.__cause__) @pytest.mark.vcr def test_maximo_numero_de_requests(): with pytest.raises(MaxRequestError): Transferencia.validar( - fecha=dt.date(2022, 4, 19), - clave_rastreo='CUENCA927820173168', - emisor='90646', # STP - receptor='40012', # BBVA - cuenta='012180000', - monto=0.01, + fecha=dt.date(2024, 11, 8), + clave_rastreo='MIFELSPEI20241108102122835', + emisor='40042', + receptor='90723', + cuenta='723969000011000077', + monto=20912.98, ) -def test_incomplete_response(monkeypatch): - mock_post_response = b'Respuesta exitosa' - mock_get_response = ( - b'' - b'' - b'' +@pytest.mark.vcr +def test_validar_transferencia_tipo_1(transferencia_tipo_1): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='BiB202411081016248360', + emisor='37166', + receptor='90723', + cuenta='723969000011000077', + monto=3414.95, + ) + assert tr is not None + assert tr.tipo_pago == 1 + assert tr == transferencia_tipo_1 + assert type(tr.to_dict()) is dict + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_3(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='BiB2024110810162418193', + emisor='37166', + receptor='90723', + cuenta='566180000553286528', + monto=10802.62, ) + assert tr is not None + assert tr.beneficiario.rfc == 'NA' + assert tr.tipo_pago == 3 - def mock_post(self, path, data): - return mock_post_response - def mock_get(self, path): - return mock_get_response +@pytest.mark.vcr +def test_validar_transferencia_tipo_4(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='RASPEIOAT202411081015742432', + emisor='40021', + receptor='90723', + cuenta='021180043534353354', + monto=17187.23, + pago_a_banco=True, + ) + assert tr is not None + assert tr.beneficiario.nombre == 'NA' + assert tr.beneficiario.rfc == 'NA' + assert tr.beneficiario.numero == 'NA' + assert tr.tipo_pago == 4 - monkeypatch.setattr(Client, 'post', mock_post) - monkeypatch.setattr(Client, 'get', mock_get) - with pytest.raises(IncompleteResponseError): - Transferencia.validar( - fecha=dt.date(2022, 4, 19), - clave_rastreo='CUENCA927820173168', - emisor='90646', # STP - receptor='40012', # BBVA - cuenta='012180000', - monto=0.01, - ) +@pytest.mark.vcr +def test_validar_transferencia_tipo_5(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='RASPEIOAT202411081015794072', + emisor='40021', + receptor='90723', + cuenta='723969000011000077', + monto=27529.89, + ) + assert tr is not None + assert tr.ordenante.nombre == 'NA' + assert tr.ordenante.rfc == 'NA' + assert tr.ordenante.numero == 'NA' + assert tr.tipo_pago == 5 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_6(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='RASPEIOAT202411081015791849', + emisor='40021', + receptor='90723', + cuenta='723969000011000077', + monto=27532.17, + ) + assert tr is not None + assert tr.ordenante.nombre == 'NA' + assert tr.ordenante.rfc == 'NA' + assert tr.ordenante.numero == 'NA' + assert tr.beneficiario.rfc == 'NA' + assert tr.tipo_pago == 6 + +@pytest.mark.vcr +def test_validar_transferencia_tipo_8(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='MIFELSPEI20241108102121081', + emisor='40042', + receptor='90723', + cuenta='723969000011000077', + monto=28523.96, + ) + assert tr is not None + assert tr.tipo_pago == 8 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_9(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='RASPEIOAT202411081215739794', + emisor='40021', + receptor='90723', + cuenta='723969000011000077', + monto=29778.66, + ) + assert tr is not None + assert tr.beneficiario.rfc == 'NA' + assert tr.tipo_pago == 9 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_10(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='MIFELSPEI20241108102122835', + emisor='40042', + receptor='90723', + cuenta='723969000011000077', + monto=20912.98, + ) + assert tr is not None + assert tr.ordenante.rfc == 'NA' + assert tr.ordenante.nombre == 'NA' + assert tr.ordenante.numero == 'NA' + assert tr.tipo_pago == 10 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_11(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='MIFELSPEI20241108112123712', + emisor='40042', + receptor='90723', + cuenta='723969000011000077', + monto=9858.7, + ) + assert tr is not None + assert tr.ordenante.rfc == 'NA' + assert tr.ordenante.nombre == 'NA' + assert tr.ordenante.numero == 'NA' + assert tr.tipo_pago == 11 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_12(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 7), + clave_rastreo='EPRU723PRENOM24110744VL0000001', + emisor='2001', + receptor='90723', + cuenta='723969000011000077', + monto=1.25, + ) + assert tr is not None + assert tr.tipo_pago == 12 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_30(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='BiB2024110810162420780', + emisor='37166', + receptor='90723', + cuenta='723969000011000077', + monto=25208.26, + ) + assert tr is not None + assert tr.tipo_pago == 30 + + +@pytest.mark.vcr +def test_validar_transferencia_tipo_31(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='6022135', + emisor='40059', + receptor='90723', + cuenta='059180019535000152', + monto=6593.15, + pago_a_banco=True, + ) + assert tr is not None + assert tr.beneficiario.rfc == 'NA' + assert tr.beneficiario.nombre == 'NA' + assert tr.beneficiario.numero == 'NA' + assert tr.tipo_pago == 31 -def test_descarga_sin_client_validacion_fallida(monkeypatch, transferencia): - def mock_validar(*args, **kwargs): - return None - monkeypatch.setattr(Transferencia, '_validar', mock_validar) +@pytest.mark.vcr +def test_validar_transferencia_tipo_35(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='2370050', + emisor='40062', + receptor='90723', + cuenta='723969000011000077', + monto=13887.7, + ) + assert tr is not None + assert tr.tipo_pago == 35 + - with pytest.raises(CepError): - transferencia.descargar() +@pytest.mark.vcr +def test_validar_transferencia_tipo_36(): + tr = Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='BXM492411081919171201', + emisor='40113', + receptor='90723', + cuenta='723969000011000077', + monto=21683.76, + ) + assert tr is not None + assert tr.tipo_pago == 36 From a6a6ccac026b605cb325cc883c24216ee4a89f89 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 12:00:18 -0600 Subject: [PATCH 13/28] Bump version to 1.0.0.dev2 --- cep/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep/version.py b/cep/version.py index 1f356cc..9ff2e61 100644 --- a/cep/version.py +++ b/cep/version.py @@ -1 +1 @@ -__version__ = '1.0.0' +__version__ = '1.0.0.dev2' From 430cb6b6e5ed1d07ee8bdfd05e36b750c089cc5f Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 13:04:23 -0600 Subject: [PATCH 14/28] Improve transfer validation error handling --- cep/transferencia.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cep/transferencia.py b/cep/transferencia.py index 1938f4f..0fdd2a7 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -149,7 +149,10 @@ def _validar( receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) - if NOT_FOUND_ERROR_MESSAGE in resp.decode('utf-8'): + if ( + NOT_FOUND_ERROR_MESSAGE in resp.decode('utf-8') + or b'no encontrada' in resp + ): raise NotFoundError return client From bfa17d35e56c47a00f615aaa1971351fb70d10c3 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 13:04:38 -0600 Subject: [PATCH 15/28] Update README --- README.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 7d42f93..388ab54 100644 --- a/README.md +++ b/README.md @@ -13,20 +13,66 @@ Python client library for CEP (http://www.banxico.org.mx/cep/) pip install cepmex ``` -### Uso +## Development & Testing + +You can use a staging environment to test the library: ```python -from datetime import date +from cep import Config + +Config.BASE_URL = 'http://www.banxico.org.mx/cep-beta' +``` + +To run unit tests, use `pytest`. +```bash +pytest +``` + +### Usage +```python +from datetime import date from cep import Transferencia +from cep.exc import NotFoundError -tr = Transferencia.validar( - fecha=date(2019, 4, 12), - clave_rastreo='CUENCA1555093850', - emisor='90646', # STP - receptor='40012', # BBVA - cuenta='012180004643051249', - monto=8.17, -) -pdf = tr.descargar() +try: + tr = Transferencia.validar( + fecha=date(2019, 4, 12), + clave_rastreo='CUENCA1555093850', + emisor='90646', # STP + receptor='40012', # BBVA + cuenta='012180004643051249', + monto=8.17, + ) + pdf = tr.descargar() + with open('CUENCA1555093850.pdf', 'wb') as f: + f.write(pdf) +except NotFoundError as e: + print('No se encontro la transferencia') +``` + +## Validate Transfer Parameters + +Use the `validar` method to validate a transfer with the following parameters: + +### Required Parameters: +- `fecha` (`datetime.date`): Transfer date. +- `clave_rastreo` (`str`): Transfer tracking key. +- `emisor` (`str`): Transfer sender bank code. +- `receptor` (`str`): Transfer receiver bank code. +- `cuenta` (`str`): Transfer account number. +- `monto` (`Decimal`): Transfer amount. + +### Optional Parameters: +- `pago_a_banco` (`bool`, default=`False`): Set to `True` for transfer types 4 and 31. + +## Download Transfer Data + +Use the `descargar` method to download a transfer in one of the following formats: +- `PDF` (default) +- `XML` +- `ZIP` + +```python +tr.descargar(formato='XML') ``` From ce92abca3ff4e233a328d2f93930d51a1b3183ec Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 13:12:52 -0600 Subject: [PATCH 16/28] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 388ab54..2af35d4 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Python client library for CEP (http://www.banxico.org.mx/cep/) -## Instalaci贸n +## Installation ```bash pip install cepmex From d69d13c9d5c76b649402ca25d401638341b65ab5 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 13 Feb 2025 13:14:41 -0600 Subject: [PATCH 17/28] Bump version to 1.0.0 --- CEP-20241108-BiB202411081016248360.pdf | Bin 28770 -> 0 bytes cep/version.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 CEP-20241108-BiB202411081016248360.pdf diff --git a/CEP-20241108-BiB202411081016248360.pdf b/CEP-20241108-BiB202411081016248360.pdf deleted file mode 100644 index bbfa532013cea2c145dae9c75cc96339cdf10c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28770 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 Date: Thu, 13 Feb 2025 13:23:58 -0600 Subject: [PATCH 18/28] Update README formatting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2af35d4..e02ebec 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ To run unit tests, use `pytest`. pytest ``` -### Usage +## Usage ```python from datetime import date From d60dbc459b1a50e60e9d65212c9416842790fb29 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 12:51:11 -0600 Subject: [PATCH 19/28] Add CepNotAvailableError --- README.md | 7 + cep/exc.py | 7 + cep/transferencia.py | 22 +- ..._fail_validar_transferencia_operacion.yaml | 130 ++++++++ ...test_fail_validar_transferencia_pago.yaml} | 12 +- ...idar_transferencia_encontrada_sin_cep.yaml | 307 ++++++++++++++++++ tests/test_transferencia.py | 35 +- 7 files changed, 506 insertions(+), 14 deletions(-) create mode 100644 tests/cassettes/test_fail_validar_transferencia_operacion.yaml rename tests/cassettes/{test_fail_validar_transferencia.yaml => test_fail_validar_transferencia_pago.yaml} (77%) create mode 100644 tests/cassettes/test_validar_transferencia_encontrada_sin_cep.yaml diff --git a/README.md b/README.md index e02ebec..afcb0ff 100644 --- a/README.md +++ b/README.md @@ -76,3 +76,10 @@ Use the `descargar` method to download a transfer in one of the following format ```python tr.descargar(formato='XML') ``` + +## Exceptions + +- `NotFoundError`: The transfer was not found. +- `MaxRequestError`: The maximum number of requests has been reached. +- `CepNotAvailableError`: The transfer was found, but the CEP is not available. + diff --git a/cep/exc.py b/cep/exc.py index 7756787..e8b2b93 100644 --- a/cep/exc.py +++ b/cep/exc.py @@ -16,3 +16,10 @@ class MaxRequestError(CepError): M谩ximo n煤mero de peticiones alcanzadas para obtener el CEP de una transferencia """ + + +class CepNotAvailableError(CepError): + """ + La transferencia fue encontrada, pero el CEP no + est谩 disponible. + """ diff --git a/cep/transferencia.py b/cep/transferencia.py index 0fdd2a7..5c8d73d 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -9,17 +9,26 @@ from .client import Client from .cuenta import Cuenta -from .exc import CepError, MaxRequestError, NotFoundError +from .exc import CepError, CepNotAvailableError, MaxRequestError, NotFoundError MAX_REQUEST_ERROR_MESSAGE = ( b'Lo sentimos, pero ha excedido el número máximo ' b'de consultas en este portal' ) -NOT_FOUND_ERROR_MESSAGE = ( +NO_PAYMENT_ERROR_MESSAGE = ( 'No se encontr贸 ning煤n pago con la informaci贸n proporcionada' ) +NO_OPERATION_ERROR_MESSAGE = ( + 'El SPEI no ha recibido una orden de pago que cumpla con el ' + 'criterio de b煤squeda especificado' +) + +NO_CEP_ERROR_MESSAGE = ( + 'Con la informaci贸n proporcionada se identific贸 el siguiente pago' +) + @dataclass class Transferencia: @@ -149,10 +158,11 @@ def _validar( receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) - if ( - NOT_FOUND_ERROR_MESSAGE in resp.decode('utf-8') - or b'no encontrada' in resp - ): + if NO_CEP_ERROR_MESSAGE in resp.decode('utf-8'): + raise CepNotAvailableError + if NO_PAYMENT_ERROR_MESSAGE in resp.decode( + 'utf-8' + ) or NO_OPERATION_ERROR_MESSAGE in resp.decode('utf-8'): raise NotFoundError return client diff --git a/tests/cassettes/test_fail_validar_transferencia_operacion.yaml b/tests/cassettes/test_fail_validar_transferencia_operacion.yaml new file mode 100644 index 0000000..605333c --- /dev/null +++ b/tests/cassettes/test_fail_validar_transferencia_operacion.yaml @@ -0,0 +1,130 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248XXX&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '178' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248XXX&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '178' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n\n \n\n\n\n\n\n\n\n + \ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n \r\n\r\n
\r\n \r\n + \ Información del estado del pago\r\n
\r\n
\r\n + \
\r\n \r\n
Lo sentimos, + por el momento no es posible generar el CEP. Operaci\xF3n no encontrada. El + SPEI no ha recibido una orden de pago que cumpla con el criterio de b\xFAsqueda + especificado. Se recomienda verificar la informaci\xF3n o consulte con su + instituci\xF3n financiera.
\r\n \r\n + \

\r\n \r\n
\r\n \r\n
\r\n\r\n" + headers: + Content-Language: + - es-MX + Content-Length: + - '4353' + Content-Type: + - text/html; charset=UTF-8 + Date: + - Fri, 14 Feb 2025 18:25:00 GMT + Set-Cookie: + - JSESSIONID=IqkFtPWscAfquVAu7B3iqmwSXS3jX_8YkJuMjv6-i8rvv4GXfXwB!-2094109768; + path=/; secure; HttpOnly + - Hex39764011=!V/M13Dw+vDYMB7VFNVyFw/oTv40kxNntM9Cc6wJni3k2NRMa0yVJOoPIZGPZ2yztNhLv43+jmR6nNQ==; + expires=Sat, 15-Feb-2025 02:25:00 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8be8c98dfb666a6f6f8ac94c01d11b86c3651ff0ecbb7343ae81fabb06ab50ece65a041d2c42843ec30791e5846f4307852112d127b1109f72e1adbeed6e77195de2e64a2ee899ab39b3f1723e25db831; + Path=/; ' + - TS604574e3027=083fd6a492ab2000d7d560a374810648a3ca846f27b698b39c5d5afa98be331ec435cd0bce871651080d38975e113000fb177e6916cb13c6cbec0e53e11f475bd3705e75f10b4be26a04b395977daca653a3e6e7d4a51bfa3f0ccfe876dba4de; + Path=/ + status: + code: 200 + message: OK +version: 1 diff --git a/tests/cassettes/test_fail_validar_transferencia.yaml b/tests/cassettes/test_fail_validar_transferencia_pago.yaml similarity index 77% rename from tests/cassettes/test_fail_validar_transferencia.yaml rename to tests/cassettes/test_fail_validar_transferencia_pago.yaml index 626b93a..95ef59b 100644 --- a/tests/cassettes/test_fail_validar_transferencia.yaml +++ b/tests/cassettes/test_fail_validar_transferencia_pago.yaml @@ -66,15 +66,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:25:34 GMT + - Fri, 14 Feb 2025 18:24:59 GMT Set-Cookie: - - JSESSIONID=L1QAIUBvfVoiIyEPtI_zYKtEVdTdxUKW6DURwUlxUrUf5j0buoTS!-2094109768; + - JSESSIONID=i2UFtPQJ_qSQA4LOoo5U8qT4BaGkDWrx98jdKjqqx0jFe-LWqrIm!384618570; path=/; secure; HttpOnly - - Hex39764011=!gAvSQWDwuCTFl1JFNVyFw/oTv40kxLg1HD4ls3vODi3yAy5Wm3BhzgxxulALXcz3KoRgQlInngLvSA==; - expires=Fri, 14-Feb-2025 00:25:34 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a81497a889d111c7c6b7a3089924f249dd3e785c8e18d629bf521efe70d62e81d052987707a4c517bd392afa6c339df4f68ee482fea560a8b88c923a2c40cad78199bbf43b8453c9e11dd62064f4a1e0dc; + - Hex39764011=!XCF7PmHmzc2GmLpFNVyFw/oTv40kxIBv9ZJrUZn6/gd08ilD6Cp9OeDi7rdTe4T4vOjBkoi+d6KV0A==; + expires=Sat, 15-Feb-2025 02:25:00 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a861a3409779d131ae7adc973ed697f37166d6ea395011d0d355d063db0b567fa99bfbcb3f99ce7d76c8eeed8989d95d444624d9064ac79d07386af62c3b3fe6738f8c605526f2ae874ab733a34e6a01de; Path=/; ' - - TS604574e3027=083fd6a492ab2000610ffb96df3cc891ddf40e7adf2c7f4f53681407b649677c5f37ccd84082e3ea088ae78a5511300008172d082ec1c9a6ba5daced4ae245998f994aa81feace10acfa2583bbbccd3af9a668c3034f8883362e7467a2f0b9d7; + - TS604574e3027=083fd6a492ab20000a9f766d9f752ee0ee19d7263690d52f4f7108add91b9501da46d3315b57e4f908f7953b9c113000b83fb6dfc65e99efcbec0e53e11f475b2b5e72011020258f921584a6eb7633dc7071f17a4db8d0b7121424dfdccfb23d; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_encontrada_sin_cep.yaml b/tests/cassettes/test_validar_transferencia_encontrada_sin_cep.yaml new file mode 100644 index 0000000..84a0857 --- /dev/null +++ b/tests/cassettes/test_validar_transferencia_encontrada_sin_cep.yaml @@ -0,0 +1,307 @@ +interactions: +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=06-11-2024&criterio=COMPROPAG2024110610833063&emisor=90728&receptor=90723&cuenta=723969000011000077&monto=17584.28&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: http://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: '' + headers: + Connection: + - Keep-Alive + Content-Length: + - '0' + Location: + - https://www.banxico.org.mx/cep-beta/valida.do + Server: + - mxbanxico + status: + code: 307 + message: Temporary Redirect +- request: + body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=06-11-2024&criterio=COMPROPAG2024110610833063&emisor=90728&receptor=90723&cuenta=723969000011000077&monto=17584.28&receptorParticipante=0 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/75.0.3770.142 Safari/537.36 + method: POST + uri: https://www.banxico.org.mx/cep-beta/valida.do + response: + body: + string: "\n\n \n\n\n\n\n\n\n\n + \ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n \r\n\r\n
\r\n \r\n + \ Información del estado del pago\r\n
\r\n
\r\n + \
\r\n \r\n
Lo + sentimos, por el momento no es posible generar el CEP. Con la informaci\xF3n + proporcionada se identific\xF3 el siguiente pago:
\r\n + \ \r\n

\r\n \r\n + \ \r\n \r\n \r\n + \ \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n + \ \r\n + \ \r\n \r\n + \ \r\n \r\n + \
N\xFAmero de + Referencia4600001
Clave + de RastreoCOMPROPAG2024110610833063
Institución + emisora del pagoCompropago
Institución + receptora del pagoCuenca
Estado + del pago en BanxicoLiquidado
Fecha + y hora de recepci\xF3n06/11/2024 13:23:08
Fecha + y hora de procesamiento06/11/2024 13:23:11
Cuenta Beneficiaria723969000011000077
Monto17584.28
\r\n \r\n

\r\n + \ \r\n
\r\n \r\n
\r\n
\r\n

IMPORTANTE: Esta + consulta no es un Comprobante Electr\xF3nico de Pago (CEP). El CEP es un documento + digital que hace constar la acreditaci\xF3n del monto correspondiente a una + orden de transferencia en la cuenta beneficiaria efectuada a trav\xE9s de + este sistema. Si requieres comprobar la acreditaci\xF3n de alguna operaci\xF3n, + descarga el CEP.

\r\n
\r\n \r\n
+ \ \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Descripción de + los estados del pago [+]
\r\n
\r\n
\r\n

En proceso

\r\n

El + SPEI® ha recibido de la institución ordenante la \r\n instrucción + de pago, pero no la ha liquidado.\r\n

\r\n
\r\n + \
\r\n + \

Liquidado

\r\n

El pago ha + sido liquidado en el SPEI® y éste \r\n ha + enviado la notificación correspondiente a la \r\n institución + del beneficiario. Dicha institución\r\n ya está + en posibilidades de depositar los \r\n recursos a + la cuenta del beneficiario.\r\n
\r\n En + caso de que los recursos no estuvieran disponibles \r\n para + el beneficiario, éste podría \r\n presentar + a la institución receptora la impresión del \r\n estado + del pago, con el fin de solicitar que se \r\n reconozca + el monto en la cuenta beneficiaria.\r\n
\r\n En + caso de que la respuesta de la institución receptora no fuera\r\n satisfactoria, + sugeriríamos presentar el caso \r\n ante la + Comisión Nacional para la \r\n Protección + y Defensa de los Usuarios de Servicios\r\n Financieros + (CONDUSEF, http://www.gob.mx/condusef). + \r\n Es importante mencionar que, el funcionamiento + de esta \r\n liga, así como su contenido, no + es \r\n responsabilidad de Banco de México. + Corresponde a\r\n la CONDUSEF su publicación + y actualización.\r\n

\r\n
\r\n + \
\r\n + \

Cancelado

\r\n

El pago fue + recibido por el SPEI®, sin embargo fue \r\n cancelado + por la institución que recibió la \r\n instrucción + de pago de su cliente, previo a que \r\n fuera liquidado + por el SPEI®.\r\n
\r\n La + institución emisora deberá reintegrar el importe del \r\n pago + al titular de la cuenta ordenante. En caso de que \r\n esto + no ocurra, el titular de la cuenta ordenante \r\n podrá + presentar a la institución emisora la \r\n impresión + del estado del pago para que le \r\n solicite que efectúe + la reintegración del\r\n monto.\r\n
\r\n + \ En caso de que la respuesta de la institución + emisora no fuera\r\n satisfactoria, sugeriríamos + presentar el caso \r\n ante la Comisión Nacional + para la \r\n Protección y Defensa de los Usuarios + de Servicios\r\n Financieros (CONDUSEF, http://www.gob.mx/condusef). + \r\n Es importante mencionar que, el funcionamiento + de esta \r\n liga, así como su contenido, no + es \r\n responsabilidad de Banco de México. + Corresponde a\r\n la CONDUSEF su publicación + y actualización.\r\n

\r\n
\r\n + \
\r\n + \

Rechazado

\r\n

El pago fue + rechazado por el SPEI® debido a errores \r\n en + la información que recibió de la \r\n institución + emisora para procesar el pago o a un\r\n problema grave + de seguridad.\r\n
\r\n La + institución emisora deberá reintegrar el importe del \r\n pago + al titular de la cuenta ordenante. En caso de que \r\n esto + no ocurra, el titular de la cuenta ordenante \r\n podrá + presentar a la institución emisora la \r\n impresión + del estado del pago para que le \r\n solicite que efectúe + la reintegración del\r\n monto.\r\n
\r\n + \ En caso de que la respuesta de la institución + emisora no fuera\r\n satisfactoria, sugeriríamos + presentar el caso \r\n ante la Comisión Nacional + para la \r\n Protección y Defensa de los Usuarios + de Servicios\r\n Financieros (CONDUSEF, http://www.gob.mx/condusef). + \r\n Es importante mencionar que, el funcionamiento + de esta \r\n liga, así como su contenido, no + es \r\n responsabilidad de Banco de México. + Corresponde a\r\n la CONDUSEF su publicación + y actualización.\r\n

\r\n
\r\n + \
\r\n

En proceso de devolución

\r\n + \

El pago fue liquidado y posteriormente devuelto por + la \r\n institución del beneficiario. La devolución + se \r\n encuentra pendiente de liquidación.\r\n + \

\r\n
\r\n
\r\n

Devuelto

\r\n + \

El pago fue devuelto por la institución del + beneficiario; dicha\r\n devolución fue liquidada + por el SPEI® e \r\n informada a la institución + que originalmente envió la \r\n orden de pago. + Este último ya está en \r\n posibilidades + de depositarlo en la cuenta del cliente\r\n que instruyó + el pago.\r\n
\r\n En caso + de que la institución que originalmente envió \r\n la + orden de pago no realice el depósito, el \r\n titular + de la cuenta ordenante podrá presentar a la\r\n institución + emisora la impresión del estado del pago \r\n para + que le solicite que efectúe el \r\n depósito + del monto.\r\n
\r\n En caso + de que la respuesta de la institución emisora no fuera\r\n satisfactoria, + sugeriríamos presentar el caso \r\n ante la + Comisión Nacional para la \r\n Protección + y Defensa de los Usuarios de Servicios\r\n Financieros + (CONDUSEF, http://www.gob.mx/condusef). + \r\n Es importante mencionar que, el funcionamiento + de esta \r\n liga, así como su contenido, no + es \r\n responsabilidad de Banco de México. + Corresponde a\r\n la CONDUSEF su publicación + y actualización.\r\n

\r\n
\r\n + \
\r\n

No liquidado

\r\n

El + pago se recibió en el SPEI® pero no pudo \r\n ser + liquidado durante la jornada operativa respectiva y\r\n al + cierre del sistema se eliminó. La institución del \r\n ordenante + deberá reintegrar el monto del pago al\r\n cliente + que le instruyó el mismo.\r\n
\r\n En + caso de que la institución ordenante no reintegre el monto\r\n del + pago a su cliente, el titular de la cuenta ordenante\r\n podrá + presentar a la institución emisora la \r\n impresión + del estado del pago para que le \r\n solicite que efectúe + la reintegración del \r\n monto.\r\n
\r\n + \ En caso de que la respuesta de la institución + emisora no fuera\r\n satisfactoria, sugeriríamos + presentar el caso \r\n ante la Comisión Nacional + para la \r\n Protección y Defensa de los Usuarios + de Servicios\r\n Financieros (CONDUSEF, http://www.gob.mx/condusef). + \r\n Es importante mencionar que, el funcionamiento + de esta \r\n liga, así como su contenido, no + es \r\n responsabilidad de Banco de México. + Corresponde a\r\n la CONDUSEF su publicación + y actualización.\r\n

\r\n
\r\n + \
\r\n + \

No encontrado

\r\n

El SPEI® + no ha recibido una orden de pago que cumpla \r\n con + el criterio de búsqueda especificado.\r\n

\r\n + \
\r\n
\r\n

Retornado

\r\n

El + pago fue retornado por la institución del beneficiario; \r\n dicho + retorno fue liquidado por el SPEI® e informado a la institución + \r\n que originalmente envió la orden de pago. + Esta última ya está \r\n en posibilidades + de depositar el monto del retorno, \r\n que puede ser + igual o menor al monto de la orden de pago original, \r\n en + la cuenta del cliente que instruyó el pago. \r\n En + caso de que la institución que originalmente envió la orden + de pago \r\n no realice el depósito, el titular + de la cuenta ordenante podr\xE1 presentar \r\n a la + institución emisora la impresión del estado del pago para que + \r\n le solicite que efectúe el depósito + del monto. \r\n En caso de que la respuesta de la institución + emisora no fuera satisfactoria, \r\n sugeriríamos + presentar el caso ante la Comisión Nacional para la Protección + y \r\n Defensa de los Usuarios de Servicios Financieros + (CONDUSEF, http://www.gob.mx/condusef)\r\n + \ Es importante mencionar que, el funcionamiento de + esta liga, as\xED como su contenido, \r\n no es responsabilidad + de Banco de México. Corresponde a la CONDUSEF su publicación + y \r\n actualización.\r\n

\r\n + \
\r\n\r\n
\r\n
\r\n
\r\n + \
\r\n
\r\n \r\n
\r\n\r\n" + headers: + Content-Language: + - es-MX + Content-Type: + - text/html; charset=UTF-8 + Date: + - Fri, 14 Feb 2025 18:41:39 GMT + Set-Cookie: + - JSESSIONID=4tAFxDUr8AY5Jb9ynpipLT5VOY_joa5Nz-oEOUf8KvY_kkgCGdTC!384618570; + path=/; secure; HttpOnly + - Hex39764011=!kEAnn/xP1qFwhqBFNVyFw/oTv40kxKdT5ia33iZXMvlIBroO3+PILU0GEACUL9gTlBH5EUUkiKA6bA==; + expires=Sat, 15-Feb-2025 02:41:41 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8ff2f3c26e9333ef460cfdbe680a43a479bc484e924b08b99d2d0861c97712593f2e1f3610dc6fef740565570619b49bbd4480f32965811e822071ba03851633dc0c4488dea28b296ab33888a1c0c450f; + Path=/; ' + - TS604574e3027=083fd6a492ab2000c59b5f4269ebc476c05bd402e99b8e5798ba0f2a939aa88f3f27f7da6553e47108eced30be113000155eb65526041ab5b2901f1dbe77c00b06e37e5888f70b9cae2cb5fdd03f285616e473594263e852aac02636e63d70fa; + Path=/ + Transfer-Encoding: + - chunked + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_transferencia.py b/tests/test_transferencia.py index 9175c3c..ba287c8 100644 --- a/tests/test_transferencia.py +++ b/tests/test_transferencia.py @@ -5,11 +5,16 @@ from requests.exceptions import HTTPError from cep import Transferencia -from cep.exc import CepError, MaxRequestError, NotFoundError +from cep.exc import ( + CepError, + CepNotAvailableError, + MaxRequestError, + NotFoundError, +) @pytest.mark.vcr -def test_fail_validar_transferencia(): +def test_fail_validar_transferencia_pago(): with pytest.raises(NotFoundError): Transferencia.validar( fecha=dt.date(2019, 1, 1), @@ -21,6 +26,19 @@ def test_fail_validar_transferencia(): ) +@pytest.mark.vcr +def test_fail_validar_transferencia_operacion(): + with pytest.raises(NotFoundError): + Transferencia.validar( + fecha=dt.date(2024, 11, 8), + clave_rastreo='BiB202411081016248XXX', + emisor='37166', + receptor='90723', + cuenta='723969000011000077', + monto=3414.95, + ) + + @pytest.mark.vcr def test_descarga_pdf(transferencia_tipo_1): pdf = transferencia_tipo_1.descargar() @@ -62,6 +80,19 @@ def test_maximo_numero_de_requests(): ) +@pytest.mark.vcr +def test_validar_transferencia_encontrada_sin_cep(): + with pytest.raises(CepNotAvailableError): + Transferencia.validar( + fecha=dt.date(2024, 11, 6), + clave_rastreo='COMPROPAG2024110610833063', + emisor='90728', + receptor='90723', + cuenta='723969000011000077', + monto=17584.28, + ) + + @pytest.mark.vcr def test_validar_transferencia_tipo_1(transferencia_tipo_1): tr = Transferencia.validar( From 9cb1a4691177cb1dcbc178746558552fae60cba0 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 15:23:23 -0600 Subject: [PATCH 20/28] Rename NotFoundError to TransferNotFoundError --- README.md | 2 +- cep/exc.py | 5 +- cep/transferencia.py | 9 +- .../test_validar_transferencia_tipo_1.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_3.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_4.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_5.yaml | 96 +++---------------- tests/conftest.py | 2 +- tests/test_transferencia.py | 6 +- 9 files changed, 75 insertions(+), 333 deletions(-) diff --git a/README.md b/README.md index afcb0ff..8dcff45 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ tr.descargar(formato='XML') ## Exceptions -- `NotFoundError`: The transfer was not found. +- `TransferNotFoundError`: The transfer was not found. - `MaxRequestError`: The maximum number of requests has been reached. - `CepNotAvailableError`: The transfer was found, but the CEP is not available. diff --git a/cep/exc.py b/cep/exc.py index e8b2b93..b732cbb 100644 --- a/cep/exc.py +++ b/cep/exc.py @@ -5,9 +5,10 @@ class CepError(Exception): """ -class NotFoundError(CepError): +class TransferNotFoundError(CepError): """ - No se encontr贸 el CEP de una transferencia + No se encontr贸 la transferencia con + los datos proporcionados """ diff --git a/cep/transferencia.py b/cep/transferencia.py index 5c8d73d..c61da36 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -9,7 +9,12 @@ from .client import Client from .cuenta import Cuenta -from .exc import CepError, CepNotAvailableError, MaxRequestError, NotFoundError +from .exc import ( + CepError, + CepNotAvailableError, + MaxRequestError, + TransferNotFoundError, +) MAX_REQUEST_ERROR_MESSAGE = ( b'Lo sentimos, pero ha excedido el número máximo ' @@ -163,7 +168,7 @@ def _validar( if NO_PAYMENT_ERROR_MESSAGE in resp.decode( 'utf-8' ) or NO_OPERATION_ERROR_MESSAGE in resp.decode('utf-8'): - raise NotFoundError + raise TransferNotFoundError return client @staticmethod diff --git a/tests/cassettes/test_validar_transferencia_tipo_1.yaml b/tests/cassettes/test_validar_transferencia_tipo_1.yaml index d4de248..b05264f 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_1.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_1.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '178' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB202411081016248360&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=3414.95&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:25:39 GMT + - Fri, 14 Feb 2025 20:24:23 GMT Set-Cookie: - - JSESSIONID=f68AIVQHMlwqzWoziZtqs8h5lWYE5rvLDk8cmzXuAVHH1AOeWk7P!-2094109768; + - JSESSIONID=4oQGIkM-sKZlYkBS9xOOUYXAkUnPtI08-wJg9SeUGNIHf87kcHyj!384618570; path=/; secure; HttpOnly - - Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; - expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; + - Hex39764011=!Ke4ABgjvU+3+g4pFNVyFw/oTv40kxKvGtz9CjZ8iGA+9oTIKpuBlFPOrCOFDcY2agJoAkI2j+Cd9sQ==; + expires=Sat, 15-Feb-2025 04:24:23 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a803352e4a5970f858f521b9be6a9da91c5eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dd2bcf3f9fcbb9c5cb76674853a64ec60c; Path=/; ' - - TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26; + - TS604574e3027=083fd6a492ab2000c83b9f46e27fac0a84d324c5e166f4c30ba043e376f96ebe7d2726265010eb5108934748cb1130006dbc44300b4efc0b28fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; - TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; - TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=f68AIVQHMlwqzWoziZtqs8h5lWYE5rvLDk8cmzXuAVHH1AOeWk7P!-2094109768; - Hex39764011=!ZI2k74yDfRl0y8NFNVyFw/oTv40kxNt4Y0Vsff2qokFPFxU6C8KX1/2wfntmqyIO/Kv1JBxG2m3Ekg==; - TS012f422b=01ab44a5a8b30e1df79ba9c949df328b2b2bb45d502dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bdd00ca6469e7128c95ffaa622b0ccadcc6; - TS604574e3027=083fd6a492ab2000e7f497591f5c587e10d618f97a503f1bf1534cc95c9085cfb59f2fdf1eec37fc08770f7169113000783be38f872f197b5a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26 + - JSESSIONID=4oQGIkM-sKZlYkBS9xOOUYXAkUnPtI08-wJg9SeUGNIHf87kcHyj!384618570; + Hex39764011=!Ke4ABgjvU+3+g4pFNVyFw/oTv40kxKvGtz9CjZ8iGA+9oTIKpuBlFPOrCOFDcY2agJoAkI2j+Cd9sQ==; + TS012f422b=01ab44a5a803352e4a5970f858f521b9be6a9da91c5eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dd2bcf3f9fcbb9c5cb76674853a64ec60c; + TS604574e3027=083fd6a492ab2000c83b9f46e27fac0a84d324c5e166f4c30ba043e376f96ebe7d2726265010eb5108934748cb1130006dbc44300b4efc0b28fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:25:39 GMT + - Fri, 14 Feb 2025 20:24:23 GMT Set-Cookie: - - Hex39764011=!08q1ph0ucoWFOsdFNVyFw/oTv40kxBU4lzGh7WVVg43xVRGVBrCSGo51tu5j1MfSYtWRWlsW+GH4Bg==; - expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a821ef8fd9e85b3e599a2445fe174b96802dcab5204e2dcc3cb045eb82205a7f72fefd983ec01926d315661d1961b55cdcfb52d8f9ef9a814b8ad4ac58dbee9bddb2fe6926ac33deb6a467c22ae5da181b; + - Hex39764011=!z/20OOL+zc8+jp1FNVyFw/oTv40kxF1gXWcnTBelXeZdpn1fqTwNSZ6/HkEpjLh5/pQVSoVhQvsT7Q==; + expires=Sat, 15-Feb-2025 04:24:23 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a81fe3ea4d6951034fefca9e88bd1e72f65eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dda37e5b957d4648ccf0bc7f5d98c3b71c; Path=/; ' - - TS604574e3027=083fd6a492ab2000ea583d4ef2b57e7c91b3c87059b4aa7fcc29ee6854e5e49f518a136550ebe15d08a95b5a0a113000e08ccd4837a5c0a05a9b4f533f7c9abc568fc39ab392d2bf0d3ab7fa995057e0878688d707a64561499d71e23dbafd26; + - TS604574e3027=083fd6a492ab2000fded5e2a2e815c4f626ca127051c41b4ec33a404acbac92a4e863448c34f317908945f939b1130007aa4876625496b5728fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_3.yaml b/tests/cassettes/test_validar_transferencia_tipo_3.yaml index c69dbf4..ad6cb34 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_3.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_3.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162418193&emisor=37166&receptor=90723&cuenta=566180000553286528&monto=10802.62&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '180' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162418193&emisor=37166&receptor=90723&cuenta=566180000553286528&monto=10802.62&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:25:39 GMT + - Fri, 14 Feb 2025 20:26:41 GMT Set-Cookie: - - JSESSIONID=IgAAIVYduT2qG94VyerCxdqCJPnGAJlaigkF33eXv45UUsD3enfg!-2094109768; + - JSESSIONID=61gGJF9rtKkvTr-p9zcdKZmNac3CUOINtDEOCGRI-Nyw7rINjxQb!384618570; path=/; secure; HttpOnly - - Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; - expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; + - Hex39764011=!UUtj3LLmOwmgthtFNVyFw/oTv40kxOWsnOilsy9izRFQ67UGUit/QZ32Ml8FO/F/qdF7YKccQXV+gg==; + expires=Sat, 15-Feb-2025 04:26:41 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a827a4ebe7e08c69d9ae0c5fe07486b88ceab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17dacce8f39417ba078b1eb1bdbaac173944; Path=/; ' - - TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046; + - TS604574e3027=083fd6a492ab2000fb1229caa6cc2e426f808c9a7bf013d7a989fa19356e6ebfcfe9bfc22f9ab8ea08290647da1130003d6a0c9a9947ae0c485c19058b3479c5dcf758c3407f85faaf718adc7d4c973e0d4e480d60bde68b20dd3709f02f792c; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; - TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; - TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=IgAAIVYduT2qG94VyerCxdqCJPnGAJlaigkF33eXv45UUsD3enfg!-2094109768; - Hex39764011=!n3hOk3dmijyp/zlFNVyFw/oTv40kxBOjm8bz/usyWJ84Owr7IRwxPLfEsfZs0OWravO1fA0fIjq9Wg==; - TS012f422b=01ab44a5a801c76885b79b8557c183b453f43be6f6d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a230049ba9b885c2f06a98c31ab1223615; - TS604574e3027=083fd6a492ab20000ab6b51471376a2708c7201a26ac501e8f35309d0f928a8000891af3bd499b74081f537f0011300036f2c3b2d2bcd1625a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046 + - JSESSIONID=61gGJF9rtKkvTr-p9zcdKZmNac3CUOINtDEOCGRI-Nyw7rINjxQb!384618570; + Hex39764011=!UUtj3LLmOwmgthtFNVyFw/oTv40kxOWsnOilsy9izRFQ67UGUit/QZ32Ml8FO/F/qdF7YKccQXV+gg==; + TS012f422b=01ab44a5a827a4ebe7e08c69d9ae0c5fe07486b88ceab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17dacce8f39417ba078b1eb1bdbaac173944; + TS604574e3027=083fd6a492ab2000fb1229caa6cc2e426f808c9a7bf013d7a989fa19356e6ebfcfe9bfc22f9ab8ea08290647da1130003d6a0c9a9947ae0c485c19058b3479c5dcf758c3407f85faaf718adc7d4c973e0d4e480d60bde68b20dd3709f02f792c User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:25:39 GMT + - Fri, 14 Feb 2025 20:26:42 GMT Set-Cookie: - - Hex39764011=!oXpd+/I92dfyfkNFNVyFw/oTv40kxELuMRn0XjB+xsp7zCMfi0XNPSDDNp3+McCG8Qyie2MTzlyxFw==; - expires=Fri, 14-Feb-2025 00:25:39 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8aa366b68e55531c965407f4f727d59d4d4b40337a1451ae82c6a8783715fb6e3de9340a2131ff4a14b9a076450f73e7556b6f1e37f9141f4def5c09c724c47a26a5a07aa69a13a27855cdcba029e1074; + - Hex39764011=!2LR2DwPaAJX1jwJFNVyFw/oTv40kxEM3yep1obyt+lP1MoBGT90AW59EzI4gwAOTh/i29lUQP7Gl+w==; + expires=Sat, 15-Feb-2025 04:26:42 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8085361180176bf61b7063edb735ebd13eab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17da3992ee329fb3a5f6214f3b787a18ae16; Path=/; ' - - TS604574e3027=083fd6a492ab2000bb6a4d9d28dbdcf5f98da15163347155dfe3dade07a0f767bdfd6b90bfb4f6d608daea1f851130008aa97b4cff2e741f5a9b4f533f7c9abcdcd223108feac14bd1a509d3a3f3efffdaa96450cc4888f9404d86a6b730f046; + - TS604574e3027=083fd6a492ab20006f1c10f7c70728ed1fa81366d56896adfff930ecce96394324f36aa0ab3ca6c2089d5deed4113000a1055c47870a5a7ab014eb32cf386353b36cea912f2be0a9d152ee061fd9479f6862a0b60b3cd7d078033e0d38082cfc; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_4.yaml b/tests/cassettes/test_validar_transferencia_tipo_4.yaml index 2fbc29b..06124fa 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_4.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_4.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015742432&emisor=40021&receptor=90723&cuenta=021180043534353354&monto=17187.23&receptorParticipante=1 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '185' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015742432&emisor=40021&receptor=90723&cuenta=021180043534353354&monto=17187.23&receptorParticipante=1 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:25:40 GMT + - Fri, 14 Feb 2025 21:22:44 GMT Set-Cookie: - - JSESSIONID=FFEAIVhG0DRta4GdLelEo2CZJH0lDBz_hPOiiRFhESeoZIp0LIF0!384618570; + - JSESSIONID=dAUGV64ZV7QgjpkFsU1LUMpfWeJsrSzQgXGkn51yWGmBqzW2xw0C!384618570; path=/; secure; HttpOnly - - Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; - expires=Fri, 14-Feb-2025 00:25:40 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; + - Hex39764011=!iOT+w4y2J7uNO0lFNVyFw/oTv40kxM7wWu5DqgvvKJbohoWyK2VBPj8dDDSKIEgZUziaZLGDnISURA==; + expires=Sat, 15-Feb-2025 05:22:44 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8ebe94ac586b891f11f84952675de959c94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c68b2100125a973c44f1b183432260aa17; Path=/; ' - - TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc; + - TS604574e3027=083fd6a492ab20000c49d361d3e13990d407af95bafa52b660b82be2ce5bbf7743831c6f1d5d535f08d41e227c1130009a1fb632208740b8a1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; - TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; - TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=FFEAIVhG0DRta4GdLelEo2CZJH0lDBz_hPOiiRFhESeoZIp0LIF0!384618570; - Hex39764011=!PnV+NKq2tmtNN05FNVyFw/oTv40kxECd1eZxzv20+pBYNiagZUzJ9YKQwDeozz/0EWFEnrQY0izdpQ==; - TS012f422b=01ab44a5a8c560cb23607974e2193462168784f256410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5804726c2c1e0dd92c245115bec61a07c; - TS604574e3027=083fd6a492ab20001a9cdecc758658558ec3b96f118fe858c804caba89913df500eb42debf79241708ce074764113000044820d713cfdf7918c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc + - JSESSIONID=dAUGV64ZV7QgjpkFsU1LUMpfWeJsrSzQgXGkn51yWGmBqzW2xw0C!384618570; + Hex39764011=!iOT+w4y2J7uNO0lFNVyFw/oTv40kxM7wWu5DqgvvKJbohoWyK2VBPj8dDDSKIEgZUziaZLGDnISURA==; + TS012f422b=01ab44a5a8ebe94ac586b891f11f84952675de959c94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c68b2100125a973c44f1b183432260aa17; + TS604574e3027=083fd6a492ab20000c49d361d3e13990d407af95bafa52b660b82be2ce5bbf7743831c6f1d5d535f08d41e227c1130009a1fb632208740b8a1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:25:40 GMT + - Fri, 14 Feb 2025 21:22:44 GMT Set-Cookie: - - Hex39764011=!0GZz6GY9OQbuKP1FNVyFw/oTv40kxImjxinzbsiMmGMIKakJ2i7zX5aNwtjgkt4W3Nc2FKAz1oOLfA==; - expires=Fri, 14-Feb-2025 00:25:40 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a85f3a39e9d144b56b1536aa1854b1a6de410dd321939c0345f3ca91672eaa5130789e168d4827f146e348eb147ea90fb8beba5f8860e8ee23b3b498a4f82f37d5f7d8fd2ee2c3f215eb8b47cfb5683fdb; + - Hex39764011=!hAmj2ePxCRdokcJFNVyFw/oTv40kxFkJjhWRmhT1d1FvrEGIf05AwaZxo1Ei/4U2xLpnXik1fE6CDQ==; + expires=Sat, 15-Feb-2025 05:22:44 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8cb669a5d62a75cf220e1e870535a25ed94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c682a7eb07a4d56480c27cbffc3b62cb19; Path=/; ' - - TS604574e3027=083fd6a492ab20007c4fd2e7b1c2263c2412c9f4e7b34418ea9fca07ac6fe9ea5d46897c8367fbfa089eb5d8b711300019160d829329733c18c6cfc5d50de97bf1f19e368be95a389bfa73c9a2b9b7e0995c016f9a15363325a5806c9d862bfc; + - TS604574e3027=083fd6a492ab200016f0e50d7e41a8f0e1e4d97c403b0874f22f8b798daef1fc58760f03d082ef2908cec06ef81130006d82c9ec183abf1da1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_5.yaml b/tests/cassettes/test_validar_transferencia_tipo_5.yaml index df4b72f..d0db517 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_5.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_5.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015794072&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27529.89&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '185' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015794072&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27529.89&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:54 GMT + - Fri, 14 Feb 2025 21:22:59 GMT Set-Cookie: - - JSESSIONID=d5sAJE9N0pMB3SAT9gZ6KA2D59wtK5Y7YBZIuq0yvvwd1Zg1w9h3!-2094109768; + - JSESSIONID=nDQGV-gNoV4N7CBGgV3_Id6wo8y4jPk0dxAY4oM7FvBnssz4EDq2!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; - expires=Fri, 14-Feb-2025 00:28:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; + - Hex39764011=!OFIG9iwvGykbDvNFNVyFw/oTv40kxALjDXoo50y0C3Mb4o4aI1b67Xzszliy/YRAVwAOnsx9ZhcNww==; + expires=Sat, 15-Feb-2025 05:22:59 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a84a94e98613651c89e129b718c523227eaa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe0bdd3c3c41a5eabcf7681863b4876f7f; Path=/; ' - - TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4; + - TS604574e3027=083fd6a492ab2000d716f111e297c4ad00111b19512a9a851c28f70ff0f05f33c9dca71152da461508bf077457113000eb82f1e9930c6a3819fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; - TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; - TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=d5sAJE9N0pMB3SAT9gZ6KA2D59wtK5Y7YBZIuq0yvvwd1Zg1w9h3!-2094109768; - Hex39764011=!cNCp2mkDyFVvn8VFNVyFw/oTv40kxAETVhTT37I+rvNrmFi6L3e1YBmRqxtL8epjA4/8h4YSI5cq6Q==; - TS012f422b=01ab44a5a81b239ed3ee01bcb2bb65d92dae97241f7cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec12546539431af698c8391017add71cecb184e0e; - TS604574e3027=083fd6a492ab2000b7deec983d4a7ba98d6893d49e6acd5c88c50d4ea31b432d353fb7ba391f786c08049b5b7a1130008ebc60e33302e58128b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4 + - JSESSIONID=nDQGV-gNoV4N7CBGgV3_Id6wo8y4jPk0dxAY4oM7FvBnssz4EDq2!-2094109768; + Hex39764011=!OFIG9iwvGykbDvNFNVyFw/oTv40kxALjDXoo50y0C3Mb4o4aI1b67Xzszliy/YRAVwAOnsx9ZhcNww==; + TS012f422b=01ab44a5a84a94e98613651c89e129b718c523227eaa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe0bdd3c3c41a5eabcf7681863b4876f7f; + TS604574e3027=083fd6a492ab2000d716f111e297c4ad00111b19512a9a851c28f70ff0f05f33c9dca71152da461508bf077457113000eb82f1e9930c6a3819fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -165,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:54 GMT + - Fri, 14 Feb 2025 21:22:59 GMT Set-Cookie: - - Hex39764011=!zgd1uHJSeHCFq+BFNVyFw/oTv40kxKyDcCcRzsPoa+/D8T7hI68VcvjdaItVn0zrvl7rmCOUFRZsPw==; - expires=Fri, 14-Feb-2025 00:28:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a800288883e6ddb8d82f8bae0d234285987cabceb08ca3c4f7bfbee2a3c00530e438c5640bc073a33eab85ad3648a9dad14456f65706f84008bb12cc7ec125465378073a358d3399ec03da6d34fb1ef39e; + - Hex39764011=!v2dR1xSGc2qjJmZFNVyFw/oTv40kxBMPKicGt2wgcHKapBSrmJZ/ZaUJrU3+lMNKv3J8atjs5OcN8Q==; + expires=Sat, 15-Feb-2025 05:22:59 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8b099d5829a6e72bb8fefb51584bb1fb7aa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe8bacaa63ffc48915e527c399d5471e5c; Path=/; ' - - TS604574e3027=083fd6a492ab20003dac2c1c60b7357a27828bc25827e05fc59c24a244d18157a24671817ec2032b08d98eeb3d1130001324be7901e8dedc28b15b514df36329cb0bfffb802001f2d31a8aa9be9a2cb3bc32c554897a4d1d91afffedbd9929a4; + - TS604574e3027=083fd6a492ab20008749409fbaf7ded2636c6c2f2044dcaae2f6749aee6376d9eafae25e73eda30e08fc4aa6ab113000ee99d839eda6474b19fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992; Path=/ status: code: 200 diff --git a/tests/conftest.py b/tests/conftest.py index 110847e..ec95a9e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -5,7 +5,7 @@ from cep import Client, Config, Cuenta, Transferencia # Use beta endpoint for testing -Config.BASE_URL = 'http://www.banxico.org.mx/cep-beta' +Config.BASE_URL = 'https://www.banxico.org.mx/cep-beta' @pytest.fixture diff --git a/tests/test_transferencia.py b/tests/test_transferencia.py index ba287c8..9ff3861 100644 --- a/tests/test_transferencia.py +++ b/tests/test_transferencia.py @@ -9,13 +9,13 @@ CepError, CepNotAvailableError, MaxRequestError, - NotFoundError, + TransferNotFoundError, ) @pytest.mark.vcr def test_fail_validar_transferencia_pago(): - with pytest.raises(NotFoundError): + with pytest.raises(TransferNotFoundError): Transferencia.validar( fecha=dt.date(2019, 1, 1), clave_rastreo='invalid-clave', @@ -28,7 +28,7 @@ def test_fail_validar_transferencia_pago(): @pytest.mark.vcr def test_fail_validar_transferencia_operacion(): - with pytest.raises(NotFoundError): + with pytest.raises(TransferNotFoundError): Transferencia.validar( fecha=dt.date(2024, 11, 8), clave_rastreo='BiB202411081016248XXX', From cd419d8145ae8a35f85ac066364f20e33b298b60 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 15:45:12 -0600 Subject: [PATCH 21/28] Simplify fecha_abono parsing --- cep/transferencia.py | 10 +- .../test_validar_transferencia_tipo_10.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_6.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_8.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_9.yaml | 96 +++---------------- 5 files changed, 62 insertions(+), 332 deletions(-) diff --git a/cep/transferencia.py b/cep/transferencia.py index c61da36..e77efc7 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -86,21 +86,15 @@ def validar( # FechaAbono is not explicitly provided in response. # It can be extracted from the CDA string. - fecha_abono_str = ( - f"{cadena_cda[4][4:]}-{cadena_cda[4][2:4]}-{cadena_cda[4][:2]}" + fecha_abono = datetime.datetime.strptime( + cadena_cda[4] + cadena_cda[5], '%d%m%Y%H%M%S' ) - tipo_pago = cadena_cda[2] fecha_operacion = datetime.date.fromisoformat( resp.attrib['FechaOperacion'] ) - hora_abono = resp.attrib['Hora'] - fecha_abono = datetime.datetime.fromisoformat( - f'{fecha_abono_str} {hora_abono}' - ) - iva = beneficiario_element.attrib['IVA'] concepto = beneficiario_element.attrib['Concepto'] sello = resp.attrib['sello'] diff --git a/tests/cassettes/test_validar_transferencia_tipo_10.yaml b/tests/cassettes/test_validar_transferencia_tipo_10.yaml index ac879d5..4275a54 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_10.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_10.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '184' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102122835&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=20912.98&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:56 GMT + - Fri, 14 Feb 2025 21:44:57 GMT Set-Cookie: - - JSESSIONID=KqkAJFeVabaz6FdtU89dOzDOriO03FxzmGK4pRLnIfaYOso3-X-m!384618570; + - JSESSIONID=2ykGbAYcxrI4FWmoEKrQh4BFhzaRnREEzBYzJlYDqJGintqNBa6A!384618570; path=/; secure; HttpOnly - - Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; - expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; + - Hex39764011=!KY4NY9JGuBNd7JVFNVyFw/oTv40kxAPQ2Zxu48s1SJKDP4fqQJvfMEGJOXYZ181AwV/yd1+TkqbgKw==; + expires=Sat, 15-Feb-2025 05:44:57 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8302d7d763c92bd8c0d94d093369defec530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869f62216e79809d38120c78b225ca84da2; Path=/; ' - - TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f; + - TS604574e3027=083fd6a492ab20008bf4338bc439f934fc1b8d0d1cbf69ec0c2f44ad656d51492627c3aca667934c086055ce9411300043e34faf2f441781bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; - TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; - TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=KqkAJFeVabaz6FdtU89dOzDOriO03FxzmGK4pRLnIfaYOso3-X-m!384618570; - Hex39764011=!abrzCFNSrMjVqChFNVyFw/oTv40kxLgbyevifyZt7nyY4oWtUqNzlENYVgKMp4Cg82CfKB6REeG0ow==; - TS012f422b=01ab44a5a8cba324c4c07df77604af67708d56d76ceae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241de82bbefb489590ea5ff9ab54b28553c; - TS604574e3027=083fd6a492ab2000766238b0d86d4608ba2cd3fdd459377b27f6aae462867dc0c5d2d16695b971330879a130dd113000d81c3309a7f7e5beea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f + - JSESSIONID=2ykGbAYcxrI4FWmoEKrQh4BFhzaRnREEzBYzJlYDqJGintqNBa6A!384618570; + Hex39764011=!KY4NY9JGuBNd7JVFNVyFw/oTv40kxAPQ2Zxu48s1SJKDP4fqQJvfMEGJOXYZ181AwV/yd1+TkqbgKw==; + TS012f422b=01ab44a5a8302d7d763c92bd8c0d94d093369defec530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869f62216e79809d38120c78b225ca84da2; + TS604574e3027=083fd6a492ab20008bf4338bc439f934fc1b8d0d1cbf69ec0c2f44ad656d51492627c3aca667934c086055ce9411300043e34faf2f441781bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -165,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:56 GMT + - Fri, 14 Feb 2025 21:44:57 GMT Set-Cookie: - - Hex39764011=!s63SpY47M/5mNhFFNVyFw/oTv40kxPBKEFC9PQzYgAdSQVj0hCtdletv50H54UxkNPIuhJRmFGlvbA==; - expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a86661d74c2c70d47257601e917f20984eeae49e908b54580fda739e71105e4b96598a1dc6a67f4a3c2e277f3bd2e99da54022751db7485641cd0235ac8cfae241a9a53bbb7e1ed1bad48790de91a8e988; + - Hex39764011=!mkQJ1ikxZM7zzU5FNVyFw/oTv40kxHRFDB6KRY3d7iTIHBhM0Y8+Cb89yj4p3lXukwnO2GMwkBfOxg==; + expires=Sat, 15-Feb-2025 05:44:57 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8a1563bc62d20c2cac514b0b13ed4475c530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869a82f16913fc82d89168edf21072421e2; Path=/; ' - - TS604574e3027=083fd6a492ab200020ee72dfeff0b089c1547759f97f3d0935779bedc6ef0e90265da4f6e6caca1e0879960e001130004cc14bfb60b16624ea10aed0b8da5eaabb76b411c795ab9b706ec88cc7ef330caf03edbaa7f5953833f6243f7e1aac5f; + - TS604574e3027=083fd6a492ab20004509fe1eb202107e7584ace481ab4c251d7885f029e97b7892483af5d10a1067082675d2ea113000d509dad6952a7bf0bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_6.yaml b/tests/cassettes/test_validar_transferencia_tipo_6.yaml index 75123f0..d2d135f 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_6.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_6.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015791849&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27532.17&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '185' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081015791849&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=27532.17&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:55 GMT + - Fri, 14 Feb 2025 21:44:26 GMT Set-Cookie: - - JSESSIONID=XPwAJFF-NMmpmLgTz4DjEN0fUJXT3rcDenPFcGFs-dYvpKeQcQYA!-2094109768; + - JSESSIONID=tnkGa4sFxYoGm5aU_sYyAbvJ9Jxk7_OldYRngzOyvVAaShhEWkWG!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; - expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; + - Hex39764011=!G4WqmVsb/JoFlTlFNVyFw/oTv40kxL41Fdn9AsiAAACb8LKYggRRWDfEemUk99lxXfPtXRpN/OGaRg==; + expires=Sat, 15-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a88f026ac31b7a224480c77f910ff9efb511444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb5e1c0f90dae22cb256801f14cde6f50aa; Path=/; ' - - TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97; + - TS604574e3027=083fd6a492ab2000519a54b32cc4434b8fda11ac424754377df4948cfd700f86c4c2bf3e65311b8908890ed78d113000bfe37d528b42e770036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; - TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; - TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=XPwAJFF-NMmpmLgTz4DjEN0fUJXT3rcDenPFcGFs-dYvpKeQcQYA!-2094109768; - Hex39764011=!o2ekfBYG1Q/Fh/RFNVyFw/oTv40kxA6GVEntwR5hFvFRbFQbKDg+hPSwCrNcIAbFBuIxIx3aZC+p5A==; - TS012f422b=01ab44a5a821930a66b801ecc2110fec39c57d826f699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dac8aa07e190d909d11528bd2d05cbe48c5; - TS604574e3027=083fd6a492ab2000345ac4b3481237a8fb062536a5833179e57b2fd4d489438e676a980ce6658ce50891a6fbac113000a450673dbc01241fa78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97 + - JSESSIONID=tnkGa4sFxYoGm5aU_sYyAbvJ9Jxk7_OldYRngzOyvVAaShhEWkWG!-2094109768; + Hex39764011=!G4WqmVsb/JoFlTlFNVyFw/oTv40kxL41Fdn9AsiAAACb8LKYggRRWDfEemUk99lxXfPtXRpN/OGaRg==; + TS012f422b=01ab44a5a88f026ac31b7a224480c77f910ff9efb511444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb5e1c0f90dae22cb256801f14cde6f50aa; + TS604574e3027=083fd6a492ab2000519a54b32cc4434b8fda11ac424754377df4948cfd700f86c4c2bf3e65311b8908890ed78d113000bfe37d528b42e770036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -165,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:55 GMT + - Fri, 14 Feb 2025 21:44:26 GMT Set-Cookie: - - Hex39764011=!bQcEp9jdWvbBpatFNVyFw/oTv40kxHtiLxS5k+LmMiQV1A1/8p7IrU5XNHO+qqJIsErw3YSHeZ5hCg==; - expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8b7fb78763afea0ee2cc7a0ad31fd20ba699160ebb4f29c000022780ed01c50386eddfcbc101b02df5d7771d6276665244176ba808d7d5cb4dc8100b008146dacd57e18be8cc8e36cc3fa5aded2c38814; + - Hex39764011=!ZaDHNbBzlPNaPKJFNVyFw/oTv40kxF392spd5SRAlIdIUbotC9UP4w7nkzzTC3ePdjx5j0Lx2W0ZfQ==; + expires=Sat, 15-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a896e37b7d5f767495decc34b77f0bb97911444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb53852c849a27890cfd48468bb15202789; Path=/; ' - - TS604574e3027=083fd6a492ab200070bd468b15351ba281534e738d58861952192ed5903192da3c0d7b9254153f00086909dd3a113000124502f56d2dd2f9a78be9b0d0a68d1b1b9ef3e636997de9063ca1c658abe1d667576e7358a2fa45252298556f794f97; + - TS604574e3027=083fd6a492ab20005a768639754c850ed164a81d5478d3044ad1936c75f16a0ef653026c513864440834c7dd7f1130005cff3f8cb9bc7778036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_8.yaml b/tests/cassettes/test_validar_transferencia_tipo_8.yaml index a095e72..bf39d27 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_8.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_8.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102121081&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=28523.96&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '184' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108102121081&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=28523.96&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:25:41 GMT + - Fri, 14 Feb 2025 21:44:40 GMT Set-Cookie: - - JSESSIONID=D9kAIV65xCwbsszGkRiHUFGeecxq0wVtLA4xCefNAMukkbfFLLNo!384618570; + - JSESSIONID=HgUGa8S4XYAY8MahLUD2AXlfcH8nyqdG4pkIRYoZKM3u8KPXHuVY!384618570; path=/; secure; HttpOnly - - Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; - expires=Fri, 14-Feb-2025 00:25:41 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; + - Hex39764011=!2Gr5C/1NFys93ipFNVyFw/oTv40kxKgEnCFKYpqmprZApzbtAKqIIQYNar/CZVBm90X8Qw+Q2z1u8A==; + expires=Sat, 15-Feb-2025 05:44:40 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a86c771d23663bccef773a1be7b30cfc67f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb30561dd976c6f5535c8b6065ef7532a3c34c6; Path=/; ' - - TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb; + - TS604574e3027=083fd6a492ab20005aa6638b7c4f95a34352c8383d98d754949fd2a2908d1846fe42f5dc840336f008db369102113000ad934018d781fcced36cf840809b17d1ce75d0b23c6b6cfaaf3646601dd9efca4d17f54a9f621f5200725440c5572959; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; - TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; - TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=D9kAIV65xCwbsszGkRiHUFGeecxq0wVtLA4xCefNAMukkbfFLLNo!384618570; - Hex39764011=!jTYCjN/z90ybyCdFNVyFw/oTv40kxJ5SprHbVS7L+BtneUFtas9aiHQo6u2C81Do05qr0bt2yPenCg==; - TS012f422b=01ab44a5a855d414cc9b1219aa5125e4f1090d5d5f89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b1f9548cedf0bd498c42cb56cc009e3e06; - TS604574e3027=083fd6a492ab2000499f7774544b89123e5bf7a8e7ce1d8e38c1abcb7995b5035bc17800dbcf124508ed2ebae6113000b5afd0a0de227083b1e037a410d1a750c0479f81b94cf9b1a663a5249281a03a8f81c548bc65c930bf0ea22d143784cb + - JSESSIONID=HgUGa8S4XYAY8MahLUD2AXlfcH8nyqdG4pkIRYoZKM3u8KPXHuVY!384618570; + Hex39764011=!2Gr5C/1NFys93ipFNVyFw/oTv40kxKgEnCFKYpqmprZApzbtAKqIIQYNar/CZVBm90X8Qw+Q2z1u8A==; + TS012f422b=01ab44a5a86c771d23663bccef773a1be7b30cfc67f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb30561dd976c6f5535c8b6065ef7532a3c34c6; + TS604574e3027=083fd6a492ab20005aa6638b7c4f95a34352c8383d98d754949fd2a2908d1846fe42f5dc840336f008db369102113000ad934018d781fcced36cf840809b17d1ce75d0b23c6b6cfaaf3646601dd9efca4d17f54a9f621f5200725440c5572959 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:25:42 GMT + - Fri, 14 Feb 2025 21:44:41 GMT Set-Cookie: - - Hex39764011=!F57fKxP7DW7MgnhFNVyFw/oTv40kxIFQmMnTBCPBqkrk4R4fkpwawHeJcY/WAXi+6NzmvqSLnlFMQQ==; - expires=Fri, 14-Feb-2025 00:25:42 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8933231cc0ae675d496e58c63bf417d4d89fd6c8add6e611be9e883bb1bf2f6cc4311f131d5585c43e01cfe6918b499b46a10d60e2f90b3ecfb7a9939947fe7b157949aec6de6af370d8759f07e84af06; + - Hex39764011=!yrPe8XqlhQTi2QpFNVyFw/oTv40kxJHSQM5FoHBLgRgn9/A6LzBzSssTN49tMzfvp4RJ92oan1v/3A==; + expires=Sat, 15-Feb-2025 05:44:41 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8cf8d53415a7ea0543438626d2296a622f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb305613b168d21ee0adde51f8c351a6fd8040a; Path=/; ' - - TS604574e3027=083fd6a492ab2000f5646c475d210ddf6e73c6c472fddd1bf2e80c481325fe04cc5e7a21b510d821089384274c113000c2e68743cd23ebd3677b00c3773eacb58180f92cc045972befa837713b66a7b11013279a6ec26ba4f046205fd53b5403; + - TS604574e3027=083fd6a492ab2000052e715d312a8349bade3a7dfe046e1ea4cb26a58c396781a3aacec338f9833408fcd2eefe1130001dbad4a71cf3c4228d13721ad7b2edcd2ac85829a02e365073841933b92fc8394604c0c5ef322f23a231f2c5d4848ff9; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_9.yaml b/tests/cassettes/test_validar_transferencia_tipo_9.yaml index 1aab1c5..27bccd9 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_9.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_9.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081215739794&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=29778.66&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '185' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=RASPEIOAT202411081215739794&emisor=40021&receptor=90723&cuenta=723969000011000077&monto=29778.66&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:55 GMT + - Fri, 14 Feb 2025 21:44:49 GMT Set-Cookie: - - JSESSIONID=iMUAJFSg-WF2LTRvDlfy1C36mvkS5phZ2YgSvJZtr2qrYQLbVEmw!384618570; + - JSESSIONID=NPkGa-fkEZ18iuWRzlQvfZJnLMRwkclLtKg4unARZTX_zivsmNfg!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; - expires=Fri, 14-Feb-2025 00:28:55 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; + - Hex39764011=!2LHyIv57P5ElFThFNVyFw/oTv40kxAbYezcwDCHGPFT0EYcJnsEyQWGfXUWZTL20kRfMOd/lsl8Nbw==; + expires=Sat, 15-Feb-2025 05:44:49 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8b7f737c85fcfb6fbd36760f052c1f7c762b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04b8e03ed5fbbf55599465b1ea4388ad06; Path=/; ' - - TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863; + - TS604574e3027=083fd6a492ab2000080cd804174ffbc0e2b93f972a0b90f8afbb613c34d6bd34f56f0f5c07268c82082dc5e84d113000f5ae5e141f73b572828d45d0639e5d32c7812438b8aacdf34bb7b049b16fd5fef05e71da78bb58050cdb072bba7672ab; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; - TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; - TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=iMUAJFSg-WF2LTRvDlfy1C36mvkS5phZ2YgSvJZtr2qrYQLbVEmw!384618570; - Hex39764011=!myM/lVgY3kziqnFFNVyFw/oTv40kxHw869Xv/E6lpAB2QCpOXbuwn05KLUGMGpsVBcs3dfaMHcDTMA==; - TS012f422b=01ab44a5a8c81303e078dbe7b500e8900b98103cc2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b3715eb10714603c4fac1a87838e174839b4; - TS604574e3027=083fd6a492ab20004be4d5a1e4a6f42156d71b9ba1433728f7f5c98761ee84403b26c3e170469261087056573c11300026c1f684c8103543a78be9b0d0a68d1bbf071a693f3da0cc5134d5e0ceb56511aa20b37693a55461c0a5911f1a827863 + - JSESSIONID=NPkGa-fkEZ18iuWRzlQvfZJnLMRwkclLtKg4unARZTX_zivsmNfg!-2094109768; + Hex39764011=!2LHyIv57P5ElFThFNVyFw/oTv40kxAbYezcwDCHGPFT0EYcJnsEyQWGfXUWZTL20kRfMOd/lsl8Nbw==; + TS012f422b=01ab44a5a8b7f737c85fcfb6fbd36760f052c1f7c762b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04b8e03ed5fbbf55599465b1ea4388ad06; + TS604574e3027=083fd6a492ab2000080cd804174ffbc0e2b93f972a0b90f8afbb613c34d6bd34f56f0f5c07268c82082dc5e84d113000f5ae5e141f73b572828d45d0639e5d32c7812438b8aacdf34bb7b049b16fd5fef05e71da78bb58050cdb072bba7672ab User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:56 GMT + - Fri, 14 Feb 2025 21:44:50 GMT Set-Cookie: - - Hex39764011=!h3BRlWI5U4+XhKJFNVyFw/oTv40kxLig3zq5jNCbFspdLsBF4GAAr0HHKvjwiLFAY6kUov9657mHmQ==; - expires=Fri, 14-Feb-2025 00:28:56 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a88a9102cb5847614b303f0766ca7fb5e2ee6e5c984a41e1f97d912a7a3d9bd7dad93195c0841523f7b949565a9e3fa87adbec46caab889b87180912386c16b37166358635575d7488adad14bea373f3d4; + - Hex39764011=!wkSIl8HXpMMpseFFNVyFw/oTv40kxOtTpmkEboeQRAAczYAoiCSb2R+fIZBq0pEBjXYsjXy3QJnV7g==; + expires=Sat, 15-Feb-2025 05:44:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8d6738851396d3b3a820c2f8c2e370a7362b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04e36e8f167962c8e05860b57b68e7521e; Path=/; ' - - TS604574e3027=083fd6a492ab20007e3d8a6ccef1f4aee1bbc1abf403e7b744588106d109acff53370ca69d03ad9e08d54484eb113000a8070c11f5f4a512ea10aed0b8da5eaa8042f8dd19fc485e9ae39560be2f40ad127412e5f89382c3d39bd0ce54fcfc25; + - TS604574e3027=083fd6a492ab2000647891438113d10b4975fab5bb51ee4b3d459e632ad4b740f0b2847012442d87089728ec7f1130000e464e4cd3cd8a55534aa44ab3ec04168b804671b8d9f54e25f7f3721405e77c85bd8818591db635d7cf11a1701958a1; Path=/ status: code: 200 From 438799c47279d5e528fe1b5e36cd334760d691e9 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 15:48:49 -0600 Subject: [PATCH 22/28] Optimize response decoding in transfer validation --- cep/transferencia.py | 10 +- .../test_validar_transferencia_tipo_11.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_12.yaml | 96 +++---------------- 3 files changed, 36 insertions(+), 166 deletions(-) diff --git a/cep/transferencia.py b/cep/transferencia.py index e77efc7..daf2071 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -157,11 +157,13 @@ def _validar( receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) - if NO_CEP_ERROR_MESSAGE in resp.decode('utf-8'): + decoded_resp = resp.decode('utf-8') + if NO_CEP_ERROR_MESSAGE in decoded_resp: raise CepNotAvailableError - if NO_PAYMENT_ERROR_MESSAGE in resp.decode( - 'utf-8' - ) or NO_OPERATION_ERROR_MESSAGE in resp.decode('utf-8'): + if ( + NO_PAYMENT_ERROR_MESSAGE in decoded_resp + or NO_OPERATION_ERROR_MESSAGE in decoded_resp + ): raise TransferNotFoundError return client diff --git a/tests/cassettes/test_validar_transferencia_tipo_11.yaml b/tests/cassettes/test_validar_transferencia_tipo_11.yaml index 6a0e3e7..6e825d1 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_11.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_11.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '182' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:57 GMT + - Fri, 14 Feb 2025 21:48:16 GMT Set-Cookie: - - JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768; + - JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570; path=/; secure; HttpOnly - - Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; - expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; + - Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==; + expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99; Path=/; ' - - TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c; + - TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; - TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; - TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768; - Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==; - TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998; - TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c + - JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570; + Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==; + TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99; + TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:57 GMT + - Fri, 14 Feb 2025 21:48:16 GMT Set-Cookie: - - Hex39764011=!wH3l1Dw9N84jHIBFNVyFw/oTv40kxLWMZ9vEiqwdBWgZVBtZBgk2DbjtTj9nQ50U/9O4tX6zpQicuQ==; - expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a82876f666ce8b7ca75196c65f21614316bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e546fa6495acadf879c8f6b257ece276d5; + - Hex39764011=!BmOXTrS6kBhOoOtFNVyFw/oTv40kxEEtgzIJOfT/fFHXoNuz9sWuhKYgRS+u2b7tsWH5ZT0/8p2CNA==; + expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a88183ec2080bc85ee59da9c880ac673c00b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd9ea1f2d1f447df1511095ca29dd66430d; Path=/; ' - - TS604574e3027=083fd6a492ab2000ab5ad56174af898e18de05fa465facb66dd47d8cf075c71fde32afa438a908f9081465a8451130003d5c5d3131e47252118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c; + - TS604574e3027=083fd6a492ab2000d7e2302834857936b75dd4a74729fb2643339fed870b8740286ee202858479ec08ae19fb9d1130001c2ad72619200ccf3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_12.yaml b/tests/cassettes/test_validar_transferencia_tipo_12.yaml index b7bbadb..5cd4a27 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_12.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_12.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '183' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:28:58 GMT + - Fri, 14 Feb 2025 21:48:25 GMT Set-Cookie: - - JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570; + - JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; - expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; + - Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==; + expires=Sat, 15-Feb-2025 05:48:25 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d; Path=/; ' - - TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565; + - TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; - TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; - TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570; - Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==; - TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f; - TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565 + - JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768; + Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==; + TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d; + TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -168,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:28:58 GMT + - Fri, 14 Feb 2025 21:48:26 GMT Set-Cookie: - - Hex39764011=!r17YPzkQzKZjTlFFNVyFw/oTv40kxEKr6Y1LK1Dxjctrs0Y1P0ajkF6vlMn/t1RR9iu/YSPG2E5qrQ==; - expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a88cd8fd79d9eca66d69ef64ee10c430ecb362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5dc0a31dc69edab422ffba93bff3641ea8; + - Hex39764011=!wrvvQxgijUSyc7tFNVyFw/oTv40kxCTNvmR64VsxHJI36Wv8oTjajRQehChGqHxN4J2rE1rbuK3enQ==; + expires=Sat, 15-Feb-2025 05:48:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8975e8f4001e559bdd3dfe13b6f8a662e2c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3662b6489b09b928f0d19ed1db68b34b6f; Path=/; ' - - TS604574e3027=083fd6a492ab2000399d5a96f93481592cfae57bfdcf4970be69d9fc3e0aee24eb8f0386c871ee5c088e0f1916113000f5c5d70dc7d5f1c9e2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565; + - TS604574e3027=083fd6a492ab20002019a924c64d316ae1362913c746bb03d825a4eb7c8d5649cc4c4d150807c86108ec8c0cba11300033fb42e753ad506d25f928a0a44f2c1e286fa617ab2520c89c20c08cf537fffeaf67a5727a2ceb0707b650d7f486b1d7; Path=/ status: code: 200 From 08ad08e9d1748e25ec35699e3daca9ad6fbf8ee6 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 16:00:20 -0600 Subject: [PATCH 23/28] Refactor configuration and base URL handling --- cep/__init__.py | 5 +- cep/client.py | 15 ++- cep/config.py | 2 - .../test_validar_transferencia_tipo_30.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_31.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_35.yaml | 96 +++---------------- .../test_validar_transferencia_tipo_36.yaml | 96 +++---------------- tests/conftest.py | 5 +- 8 files changed, 77 insertions(+), 334 deletions(-) delete mode 100644 cep/config.py diff --git a/cep/__init__.py b/cep/__init__.py index 103d858..c1c62ce 100644 --- a/cep/__init__.py +++ b/cep/__init__.py @@ -1,7 +1,6 @@ -__all__ = ['__version__', 'Config', 'Cuenta', 'Client', 'Transferencia'] +__all__ = ['__version__', 'Cuenta', 'Client', 'Transferencia', 'configure'] -from .client import Client -from .config import Config +from .client import Client, configure from .cuenta import Cuenta from .transferencia import Transferencia from .version import __version__ diff --git a/cep/client.py b/cep/client.py index 3ff1bd1..7415ef3 100644 --- a/cep/client.py +++ b/cep/client.py @@ -1,14 +1,23 @@ -import requests +from typing import ClassVar -from .config import Config +import requests USER_AGENT = ( 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' ) +BASE_URL = 'https://www.banxico.org.mx/cep' +BASE_URL_BETA = 'https://www.banxico.org.mx/cep-beta' + + +def configure(beta=False): + Client.base_url = BASE_URL_BETA if beta else BASE_URL + class Client: + base_url: ClassVar[str] = BASE_URL + def __init__(self): self.session = requests.Session() self.session.headers['User-Agent'] = USER_AGENT @@ -28,7 +37,7 @@ def post(self, endpoint: str, data: dict, **kwargs) -> bytes: def request( self, method: str, endpoint: str, data: dict, **kwargs ) -> bytes: - url = Config.BASE_URL + endpoint + url = Client.base_url + endpoint response = self.session.request(method, url, data=data, **kwargs) if not response.ok: response.raise_for_status() diff --git a/cep/config.py b/cep/config.py deleted file mode 100644 index d4c6f09..0000000 --- a/cep/config.py +++ /dev/null @@ -1,2 +0,0 @@ -class Config: - BASE_URL = 'https://www.banxico.org.mx/cep' diff --git a/tests/cassettes/test_validar_transferencia_tipo_30.yaml b/tests/cassettes/test_validar_transferencia_tipo_30.yaml index 3ed10ec..2bd6711 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_30.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_30.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '180' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BiB2024110810162420780&emisor=37166&receptor=90723&cuenta=723969000011000077&monto=25208.26&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:56:53 GMT + - Fri, 14 Feb 2025 21:58:44 GMT Set-Cookie: - - JSESSIONID=iNUAPe1Iq2o3gffKAH3Dhg3OuH756B84Z33S8bqXlJzmSzZKE1KF!384618570; + - JSESSIONID=1MMGeKX6YSicIAP3dae9VkWi5ezcxT7LmZONC6lTEzh5COuNIwq4!384618570; path=/; secure; HttpOnly - - Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; - expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; + - Hex39764011=!wbM5jqN9fgHwzlpFNVyFw/oTv40kxBAr9cDWi06t2wUbp1ec2P31a3/8CErSG1aJ6wNcQKzfilESMA==; + expires=Sat, 15-Feb-2025 05:58:45 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8882aa2d8943a5c99b5e9ad9cfc785250ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b7514db69ab41575ecb1cd153d8d159db839d; Path=/; ' - - TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b; + - TS604574e3027=083fd6a492ab2000a9e5eb04711113a599571f4349c0eb0483d10a05d41b3949584c6c41b317ef8108b01271241130007dcc08dd2001e78c2b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; - TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; - TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=iNUAPe1Iq2o3gffKAH3Dhg3OuH756B84Z33S8bqXlJzmSzZKE1KF!384618570; - Hex39764011=!YRVWycbprFNLpdNFNVyFw/oTv40kxCIcxxJ4bz10RwAYtX4xHN+o1rwPl6WFtC2biERdCI+fucZRaQ==; - TS012f422b=01ab44a5a8efed9e7d6fe4f0ca91d7c2b2a6dae736a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e8ccad1ecfb1109da91d70e6df88a8586; - TS604574e3027=083fd6a492ab20002ddbb4aefe052344301285793bf65b8b013e89994eb131891880f5c21aa0f6c008bb7a54591130008e63bea0c8affad38ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b + - JSESSIONID=1MMGeKX6YSicIAP3dae9VkWi5ezcxT7LmZONC6lTEzh5COuNIwq4!384618570; + Hex39764011=!wbM5jqN9fgHwzlpFNVyFw/oTv40kxBAr9cDWi06t2wUbp1ec2P31a3/8CErSG1aJ6wNcQKzfilESMA==; + TS012f422b=01ab44a5a8882aa2d8943a5c99b5e9ad9cfc785250ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b7514db69ab41575ecb1cd153d8d159db839d; + TS604574e3027=083fd6a492ab2000a9e5eb04711113a599571f4349c0eb0483d10a05d41b3949584c6c41b317ef8108b01271241130007dcc08dd2001e78c2b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -166,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:56:53 GMT + - Fri, 14 Feb 2025 21:58:45 GMT Set-Cookie: - - Hex39764011=!re+M+lgNNXipE9FFNVyFw/oTv40kxN0nRiyETcXNUHYOB31uP5lqzMVrmlX9+aMxNEUAQ8+Db7YT3w==; - expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a827dd9eba85377c35ad440e837607f134a824fcab852e7ad98b7902ddc6274535e406b16da0dda19b2a161e77c410a31c5ebc32ab7fcfeb7b1926d0ee1fdf7e2e239f02772e9b9e34dc86f60f74736eaa; + - Hex39764011=!fFgdtbFiRP9Se1pFNVyFw/oTv40kxOZcZrLKmnvecynE2DYvkzDyO+xwkddjOg2sD53QCjVLbU81/g==; + expires=Sat, 15-Feb-2025 05:58:45 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8d03f1771dc2cae81266e84d92559e2d2ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b75142a906b7e852e4ef7579274b1eb5f82d2; Path=/; ' - - TS604574e3027=083fd6a492ab20003247c401cc93db494f7af812147e0de74ce2741805dcf35eba8a090f17b9095a08d77070ad113000ed51ee4af8fcabf28ce051a9029fb210c280a0aabffdd1791d6eb55ae12fea1d0f3488e845c06577526bfe317044c25b; + - TS604574e3027=083fd6a492ab20003cc5db84f200f1cc21f2af2acef3130ceaf040b3578a35cc386aa43063d00fcd0875cb82961130003fbf5c4c694551222b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_31.yaml b/tests/cassettes/test_validar_transferencia_tipo_31.yaml index b309fd2..64cf21a 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_31.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_31.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=6022135&emisor=40059&receptor=90723&cuenta=059180019535000152&monto=6593.15&receptorParticipante=1 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '164' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=6022135&emisor=40059&receptor=90723&cuenta=059180019535000152&monto=6593.15&receptorParticipante=1 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:56:53 GMT + - Fri, 14 Feb 2025 21:59:00 GMT Set-Cookie: - - JSESSIONID=Ce0APe9i7g84TBAe9veNQ5FA3ruUG-0mS0rc6SQfvDBAGAu3Rj0d!-2094109768; + - JSESSIONID=DoAGeOJRPhKKyIDY4FJyoinGKVOETSn9utsCqaJRevgIS5BcpMSW!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; - expires=Fri, 14-Feb-2025 00:56:53 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; + - Hex39764011=!oWWwLDpDktdn1lNFNVyFw/oTv40kxPzJvCPvG5Vmp+i1mMA6AtD/OyYPxE2Kyn6PWl5v/MgTzD782g==; + expires=Sat, 15-Feb-2025 05:59:00 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8495c062a55b3e499af09b08e0ff3831e99777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c0037319c28746a583b7b81f2e1b374b355; Path=/; ' - - TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38; + - TS604574e3027=083fd6a492ab2000471c6fce7d099e39ea884d4b2cca8f4e5792295512c6eb3a19d8699158a02bf3083bbea2231130002ae4e25cec0394334bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; - TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; - TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=Ce0APe9i7g84TBAe9veNQ5FA3ruUG-0mS0rc6SQfvDBAGAu3Rj0d!-2094109768; - Hex39764011=!9iaT2V3u6icZuipFNVyFw/oTv40kxGMCgBvuP+ydKz/6SIhEzjPEVQAd66oYRfQjQR0Zh6dosBMsgQ==; - TS012f422b=01ab44a5a8e820d9791ab9422eb3895ca2df58361addb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179a72a170456d00e8aca5e0863886cd627; - TS604574e3027=083fd6a492ab2000dca694b24603a5d7e38fa3e205f8a14c2f268000defb2d3f723dafc636dbf346087d3d3f2b113000711da46a32387c3d8ce051a9029fb2107ec0f8004c0d2e1e62039b46de431888f6f4543e5d193f44ed4cb2ce78ce1b38 + - JSESSIONID=DoAGeOJRPhKKyIDY4FJyoinGKVOETSn9utsCqaJRevgIS5BcpMSW!-2094109768; + Hex39764011=!oWWwLDpDktdn1lNFNVyFw/oTv40kxPzJvCPvG5Vmp+i1mMA6AtD/OyYPxE2Kyn6PWl5v/MgTzD782g==; + TS012f422b=01ab44a5a8495c062a55b3e499af09b08e0ff3831e99777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c0037319c28746a583b7b81f2e1b374b355; + TS604574e3027=083fd6a492ab2000471c6fce7d099e39ea884d4b2cca8f4e5792295512c6eb3a19d8699158a02bf3083bbea2231130002ae4e25cec0394334bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -164,13 +98,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:56:54 GMT + - Fri, 14 Feb 2025 21:59:00 GMT Set-Cookie: - - Hex39764011=!AWt3/gbmbo9qGchFNVyFw/oTv40kxM2SlRFvnbliuvraXd00Zjgp2cejZF0Y7LvVQPixchbcAcb0oQ==; - expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a88b3b635953b3b6ae1694b7006fa421afddb4a7234d5ce9e8886499ed56977031593b42d0e2fc8958e0d510109dc275ab9c7cec585bfeff2dcc63b3d8ca5f9179dbcb5616bc6d9a04e6d683ceb28bd16f; + - Hex39764011=!8WNvwcBZObhZTf5FNVyFw/oTv40kxGvR9Lr7px2Xc1x7rAwf7eVfDM+2gDf5jLClk9JIuKxTKm6rtA==; + expires=Sat, 15-Feb-2025 05:59:00 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c9a1bf14e29a064065ade179adb1c4c299777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c00a7bf985324a96f391e5fe05965ce1994; Path=/; ' - - TS604574e3027=083fd6a492ab2000326d8b5b8091e9629a431079b620376b8c31992294e5dace5b75a9662ee6fa4c08479569b6113000cd856a5ec810c07c02c6b2748cb3dbabdb8454e047d7b5144ba19a4506dcfdcad0d9cb6c2b6456ea06b13c9ace924e0d; + - TS604574e3027=083fd6a492ab2000e8b2f9869b258dab68eeb6c881fac95014002739885bfe5e65a1ba431eb35dcd08eb2ae82b11300069d2f1bb7913ad324bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_35.yaml b/tests/cassettes/test_validar_transferencia_tipo_35.yaml index eaad407..516d1f7 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_35.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_35.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=2370050&emisor=40062&receptor=90723&cuenta=723969000011000077&monto=13887.7&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '164' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=2370050&emisor=40062&receptor=90723&cuenta=723969000011000077&monto=13887.7&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:56:54 GMT + - Fri, 14 Feb 2025 21:59:16 GMT Set-Cookie: - - JSESSIONID=W_QAPfFgzrBJKGZz7csC4zLpkaJR3stLcR1LQGIiWNM3kX3b5_1m!-2094109768; + - JSESSIONID=kXwGeSCBAfzWXB9N_MRyLm_t2yUpQI42x0D8ncUZG3IdT-4zuVTe!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; - expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; + - Hex39764011=!GkNmgqkS4s87+SxFNVyFw/oTv40kxLTsNR3pvYOyqnrZwdqagIXvWsbMjdOiPMrANfdEzhMlBRc3gQ==; + expires=Sat, 15-Feb-2025 05:59:16 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a839830f71d43779ca7f33fc6bfc236cedf45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f24020f8c960f318ad2ff3f98b2f0f401; Path=/; ' - - TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571; + - TS604574e3027=083fd6a492ab2000008976124a163de8224ba452b17d416899dc4c11280b66f37bb2394e597f3fba086d2ebb8b113000b1d113e259043ff0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; - TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; - TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=W_QAPfFgzrBJKGZz7csC4zLpkaJR3stLcR1LQGIiWNM3kX3b5_1m!-2094109768; - Hex39764011=!h1D3qt8se3/eM2tFNVyFw/oTv40kxMLpjcSOHEMZ51Xl20GY76AXwSXW5NNANSaqK+YlEviMpv/c9w==; - TS012f422b=01ab44a5a8cff1ecf63e45077cdbdf105dfea3890c4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e5bd4d6aced98e264711363b51468ad46; - TS604574e3027=083fd6a492ab2000e9a7df601dbadbd2b966050a18e1d84e83777c08ceb5f33ad07342d34b52695f08116d0c33113000e25ec49e1a1ae5a102c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571 + - JSESSIONID=kXwGeSCBAfzWXB9N_MRyLm_t2yUpQI42x0D8ncUZG3IdT-4zuVTe!-2094109768; + Hex39764011=!GkNmgqkS4s87+SxFNVyFw/oTv40kxLTsNR3pvYOyqnrZwdqagIXvWsbMjdOiPMrANfdEzhMlBRc3gQ==; + TS012f422b=01ab44a5a839830f71d43779ca7f33fc6bfc236cedf45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f24020f8c960f318ad2ff3f98b2f0f401; + TS604574e3027=083fd6a492ab2000008976124a163de8224ba452b17d416899dc4c11280b66f37bb2394e597f3fba086d2ebb8b113000b1d113e259043ff0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -168,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:56:54 GMT + - Fri, 14 Feb 2025 21:59:16 GMT Set-Cookie: - - Hex39764011=!QUYxMdMsHc/r4BdFNVyFw/oTv40kxNkpi186H1ncgAbeUcfeYIEce73RWa1exx/e8Yio/92rE6262g==; - expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a87fb0fc2f1fb87157a62fce2e60eb4e3d4687369eb9d4d825724ebd527dacbee08eb152950dce4700997346c28850f4bd3e235df4320749853eb8f1dcb5f4f57e41220e3580a01001d19529e44bcf5cec; + - Hex39764011=!MREafkxsk2Ohu9BFNVyFw/oTv40kxB+ekyMASMov7sVRHaQ5gziwJPMWpDjv/Mkm8rA0i7S3C7gGZg==; + expires=Sat, 15-Feb-2025 05:59:16 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c4540a9a1791f15bddbdc9af0ccf7573f45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f3d19375b850cd3a1badcae8572adead2; Path=/; ' - - TS604574e3027=083fd6a492ab2000605560675e2d52007f5d744153ef1ca3f616bff4bf9444a47f02e20a88c5d02608a492df0b1130005082d3da8785f6f902c6b2748cb3dbab48eab9faab67da26f781a54124566bde46a14d3fabc7d56d4091527db06c7571; + - TS604574e3027=083fd6a492ab20001a883e930034586916638d0e83e40b6e09964235fe6054d675eb4195005b1aaa08fe507ce1113000651b6bd580aad8a0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_36.yaml b/tests/cassettes/test_validar_transferencia_tipo_36.yaml index 8d08001..bb5ad3e 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_36.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_36.yaml @@ -1,37 +1,4 @@ interactions: -- request: - body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BXM492411081919171201&emisor=40113&receptor=90723&cuenta=723969000011000077&monto=21683.76&receptorParticipante=0 - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '179' - Content-Type: - - application/x-www-form-urlencoded - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: POST - uri: http://www.banxico.org.mx/cep-beta/valida.do - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/valida.do - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect - request: body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=BXM492411081919171201&emisor=40113&receptor=90723&cuenta=723969000011000077&monto=21683.76&receptorParticipante=0 headers: @@ -79,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Thu, 13 Feb 2025 16:56:54 GMT + - Fri, 14 Feb 2025 21:59:38 GMT Set-Cookie: - - JSESSIONID=1NkAPfOMAmmpNwOB96TCOcnqqjKopFpdlDzgzEMYxAWBmP3jGqAL!-2094109768; + - JSESSIONID=fccGeXautlxMVWXFw-WQ1I42OG2DRD7Q6cJ0uQAQpEcNmO1VuaTM!384618570; path=/; secure; HttpOnly - - Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; - expires=Fri, 14-Feb-2025 00:56:54 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; + - Hex39764011=!p1LhI3isdp7MPm5FNVyFw/oTv40kxNErDzZdvd5FGpxfSFx+dZPvPzSF0TmBqr5slw2zhU4acjpuxg==; + expires=Sat, 15-Feb-2025 05:59:38 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a81c0e1f7ead95327f12318055cc066ea302f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba53585e4cbf91de43165b6ee7c9205c4c10; Path=/; ' - - TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8; + - TS604574e3027=083fd6a492ab2000ada309028c412a85880207db0954458f4ecdc50fab0bd1ff7e85a3314d4264a208866bfe18113000e80f7f475dcf702eedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a; Path=/ status: code: 200 @@ -102,43 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; - TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; - TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8 - User-Agent: - - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/75.0.3770.142 Safari/537.36 - method: GET - uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - response: - body: - string: '' - headers: - Connection: - - Keep-Alive - Content-Length: - - '0' - Location: - - https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML - Server: - - mxbanxico - status: - code: 307 - message: Temporary Redirect -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - JSESSIONID=1NkAPfOMAmmpNwOB96TCOcnqqjKopFpdlDzgzEMYxAWBmP3jGqAL!-2094109768; - Hex39764011=!zqXUavgkzwHawuBFNVyFw/oTv40kxBrHAF5IIbuH1IuIMrix0oOfhUCsvBwBjx3N+cTfHROTC454Yw==; - TS012f422b=01ab44a5a83c7dd86edcfdd87958aec11f8cebee0dae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e6442eb9e8eca8e4b06a9b43b2e9f28290; - TS604574e3027=083fd6a492ab200007d93e9fbf18a26ce927f071d42447dbe2c393e041d1fb2b87b79e981bb7dc0c085a5231e7113000ec3ccf053db447a702c6b2748cb3dbab2f9ec1577773ff7293bba7cbe20a0556a4a6c2e1cf41a9b43e8ad8b23f8843e8 + - JSESSIONID=fccGeXautlxMVWXFw-WQ1I42OG2DRD7Q6cJ0uQAQpEcNmO1VuaTM!384618570; + Hex39764011=!p1LhI3isdp7MPm5FNVyFw/oTv40kxNErDzZdvd5FGpxfSFx+dZPvPzSF0TmBqr5slw2zhU4acjpuxg==; + TS012f422b=01ab44a5a81c0e1f7ead95327f12318055cc066ea302f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba53585e4cbf91de43165b6ee7c9205c4c10; + TS604574e3027=083fd6a492ab2000ada309028c412a85880207db0954458f4ecdc50fab0bd1ff7e85a3314d4264a208866bfe18113000e80f7f475dcf702eedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -168,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Thu, 13 Feb 2025 16:56:55 GMT + - Fri, 14 Feb 2025 21:59:38 GMT Set-Cookie: - - Hex39764011=!fJGDmUQxog77UpdFNVyFw/oTv40kxNoyzUE0zlIDRyG8rvneLq2jxZmjOgm8bpQahmnwmKll9yPgoA==; - expires=Fri, 14-Feb-2025 00:56:55 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a888178248cc59005ec49c8aca07f94840ae1b38e68635b0c52d8a45745616e7cc419ce543c3f74bd76ff85658cb63491451bf07f105005e475146e792270ed4e674a5fd791f42be88b3358b6c47bc276a; + - Hex39764011=!KhyVrPn3NoePKFxFNVyFw/oTv40kxOo6Oel5cPjEj0B6wlwJFi4vPBDGXxoam2nBjpWnR8u1spITyw==; + expires=Sat, 15-Feb-2025 05:59:38 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8d9b1840476816c5745c651fe66bc486c02f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba534cee5dcab7ea3f57494109a355ce2600; Path=/; ' - - TS604574e3027=083fd6a492ab2000101f06610504caf96be855c9f6c0eab92ce59992078ccea24c01bff133d8e29308312854df113000b9fac45cdf4070927436abc5d75ce209a21909a0ba5c4018fa242196a3d763b831c0b74d1b9090fb7f5e5a465845ef00; + - TS604574e3027=083fd6a492ab2000dbeeeb42ad8dd345641aa5f1452279f5885c9fbb99d0f937aec9ca0b81195d000892bf9aab11300079b126acfcbd175cedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a; Path=/ status: code: 200 diff --git a/tests/conftest.py b/tests/conftest.py index ec95a9e..8d4f1a5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,10 +2,11 @@ import pytest -from cep import Client, Config, Cuenta, Transferencia +import cep +from cep import Client, Cuenta, Transferencia # Use beta endpoint for testing -Config.BASE_URL = 'https://www.banxico.org.mx/cep-beta' +cep.configure(beta=True) @pytest.fixture From 9a67dd5f873b05ea4245a7e8f2a305a9d6f3860c Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 16:09:14 -0600 Subject: [PATCH 24/28] Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8dcff45..61e5338 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ pip install cepmex You can use a staging environment to test the library: ```python -from cep import Config +import cep -Config.BASE_URL = 'http://www.banxico.org.mx/cep-beta' +cep.configure(beta=True) ``` To run unit tests, use `pytest`. From 7be5f69cbead8a3585b301ac13f40fd6191bc850 Mon Sep 17 00:00:00 2001 From: gabino Date: Fri, 14 Feb 2025 16:10:18 -0600 Subject: [PATCH 25/28] Update README example to use TransferNotFoundError --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 61e5338..aa90942 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ pytest ```python from datetime import date from cep import Transferencia -from cep.exc import NotFoundError +from cep.exc import TransferNotFoundError try: tr = Transferencia.validar( @@ -47,7 +47,7 @@ try: pdf = tr.descargar() with open('CUENCA1555093850.pdf', 'wb') as f: f.write(pdf) -except NotFoundError as e: +except TransferNotFoundError as e: print('No se encontro la transferencia') ``` From dc2f057f40f2f4205c94619a5a1b168333f2efac Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 18 Feb 2025 15:52:13 -0600 Subject: [PATCH 26/28] Change transfer amount handling to use cents as integer --- README.md | 4 +- cep/transferencia.py | 16 +++++--- .../test_validar_transferencia_tipo_1.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_10.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_11.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_12.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_3.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_30.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_31.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_35.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_36.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_4.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_5.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_6.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_8.yaml | 30 +++++++-------- .../test_validar_transferencia_tipo_9.yaml | 30 +++++++-------- tests/conftest.py | 2 +- tests/test_transferencia.py | 38 +++++++++---------- 18 files changed, 243 insertions(+), 237 deletions(-) diff --git a/README.md b/README.md index aa90942..13418c3 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ try: emisor='90646', # STP receptor='40012', # BBVA cuenta='012180004643051249', - monto=8.17, + monto=817, # In cents ) pdf = tr.descargar() with open('CUENCA1555093850.pdf', 'wb') as f: @@ -61,7 +61,7 @@ Use the `validar` method to validate a transfer with the following parameters: - `emisor` (`str`): Transfer sender bank code. - `receptor` (`str`): Transfer receiver bank code. - `cuenta` (`str`): Transfer account number. -- `monto` (`Decimal`): Transfer amount. +- `monto` (`int`): Transfer amount **in cents**. ### Optional Parameters: - `pago_a_banco` (`bool`, default=`False`): Set to `True` for transfer types 4 and 31. diff --git a/cep/transferencia.py b/cep/transferencia.py index daf2071..5187f47 100644 --- a/cep/transferencia.py +++ b/cep/transferencia.py @@ -41,7 +41,7 @@ class Transferencia: fecha_abono: datetime.datetime ordenante: Cuenta beneficiario: Cuenta - monto: Decimal + monto: int # In cents iva: Decimal concepto: str clave_rastreo: str @@ -51,6 +51,10 @@ class Transferencia: tipo_pago: int pago_a_banco: bool = False + @property + def monto_pesos(self) -> float: + return self.monto / 100 + @classmethod def validar( cls, @@ -59,7 +63,7 @@ def validar( emisor: str, receptor: str, cuenta: str, - monto: Decimal, + monto: int, pago_a_banco: bool = False, ): client = cls._validar( @@ -132,7 +136,9 @@ def descargar(self, formato: str = 'PDF') -> bytes: return self._descargar(client, formato) def to_dict(self) -> dict: - return asdict(self) + data = asdict(self) + data['monto_pesos'] = self.monto_pesos + return data @staticmethod def _validar( @@ -141,7 +147,7 @@ def _validar( emisor: str, receptor: str, cuenta: str, - monto: Decimal, + monto: int, pago_a_banco: bool = False, ) -> Client: assert emisor in clabe.BANKS.values() @@ -153,7 +159,7 @@ def _validar( emisor=emisor, receptor=receptor, cuenta=cuenta, - monto=monto, + monto=monto / 100, # Convert cents to pesos receptorParticipante=1 if pago_a_banco else 0, ) resp = client.post('/valida.do', request_body) diff --git a/tests/cassettes/test_validar_transferencia_tipo_1.yaml b/tests/cassettes/test_validar_transferencia_tipo_1.yaml index b05264f..73849de 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_1.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_1.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 20:24:23 GMT + - Tue, 18 Feb 2025 21:41:27 GMT Set-Cookie: - - JSESSIONID=4oQGIkM-sKZlYkBS9xOOUYXAkUnPtI08-wJg9SeUGNIHf87kcHyj!384618570; + - JSESSIONID=ozobAj-5K80G32E4OiqePanN3Vx-W6Hxc65iC1JINJT6waufgL82!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!Ke4ABgjvU+3+g4pFNVyFw/oTv40kxKvGtz9CjZ8iGA+9oTIKpuBlFPOrCOFDcY2agJoAkI2j+Cd9sQ==; - expires=Sat, 15-Feb-2025 04:24:23 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a803352e4a5970f858f521b9be6a9da91c5eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dd2bcf3f9fcbb9c5cb76674853a64ec60c; + - Hex39764011=!xgA8wW3Yec6KP2xFNVyFw/oTv40kxKCPf8WgWWgaVDTXvbpSogYtGq1GaaQIl8C0QlE3ctZ0cBKKHw==; + expires=Wed, 19-Feb-2025 05:41:27 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a89b2bcc04be79fde10306b2ceb99ad0cdf23c2b6aafba3440ee57d281b1e7c783f42d29fe62dfff062e5509854f65cdf31d8fc1e43ffb83df7e7d181e158df6c545253d83b264b634925518b4e5a16b2e; Path=/; ' - - TS604574e3027=083fd6a492ab2000c83b9f46e27fac0a84d324c5e166f4c30ba043e376f96ebe7d2726265010eb5108934748cb1130006dbc44300b4efc0b28fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26; + - TS604574e3027=083fd6a492ab2000569aab850a9579705d1ff60620e4705cd6d99327b24361b59484e75e128891fd08227527d611300097148dfe5fbfa1b0a6db9e70e4fda5d5e496825d27495d45a688a0e3c1bedd61dcbbc4d04e284f3ef59d1b9313000dbd; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=4oQGIkM-sKZlYkBS9xOOUYXAkUnPtI08-wJg9SeUGNIHf87kcHyj!384618570; - Hex39764011=!Ke4ABgjvU+3+g4pFNVyFw/oTv40kxKvGtz9CjZ8iGA+9oTIKpuBlFPOrCOFDcY2agJoAkI2j+Cd9sQ==; - TS012f422b=01ab44a5a803352e4a5970f858f521b9be6a9da91c5eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dd2bcf3f9fcbb9c5cb76674853a64ec60c; - TS604574e3027=083fd6a492ab2000c83b9f46e27fac0a84d324c5e166f4c30ba043e376f96ebe7d2726265010eb5108934748cb1130006dbc44300b4efc0b28fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26 + - JSESSIONID=ozobAj-5K80G32E4OiqePanN3Vx-W6Hxc65iC1JINJT6waufgL82!-2094109768; + Hex39764011=!xgA8wW3Yec6KP2xFNVyFw/oTv40kxKCPf8WgWWgaVDTXvbpSogYtGq1GaaQIl8C0QlE3ctZ0cBKKHw==; + TS012f422b=01ab44a5a89b2bcc04be79fde10306b2ceb99ad0cdf23c2b6aafba3440ee57d281b1e7c783f42d29fe62dfff062e5509854f65cdf31d8fc1e43ffb83df7e7d181e158df6c545253d83b264b634925518b4e5a16b2e; + TS604574e3027=083fd6a492ab2000569aab850a9579705d1ff60620e4705cd6d99327b24361b59484e75e128891fd08227527d611300097148dfe5fbfa1b0a6db9e70e4fda5d5e496825d27495d45a688a0e3c1bedd61dcbbc4d04e284f3ef59d1b9313000dbd User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 20:24:23 GMT + - Tue, 18 Feb 2025 21:41:27 GMT Set-Cookie: - - Hex39764011=!z/20OOL+zc8+jp1FNVyFw/oTv40kxF1gXWcnTBelXeZdpn1fqTwNSZ6/HkEpjLh5/pQVSoVhQvsT7Q==; - expires=Sat, 15-Feb-2025 04:24:23 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a81fe3ea4d6951034fefca9e88bd1e72f65eff141f24a2ece4e8b3eb75dead8bc36e7452c0f2f36613db73578cf4b0edbf0c2d5c66d80ddcd65f782453cf24e9dda37e5b957d4648ccf0bc7f5d98c3b71c; + - Hex39764011=!TMZWSekchtSsPaFFNVyFw/oTv40kxN2Wwwex5OnA0WHhNLps5zevbks6q6zSKdp2YmfAqbMEQGaKHg==; + expires=Wed, 19-Feb-2025 05:41:27 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c347cc0ef44c846b3f30f0076a27d199f23c2b6aafba3440ee57d281b1e7c783f42d29fe62dfff062e5509854f65cdf31d8fc1e43ffb83df7e7d181e158df6c53a9bdd251bb9e0832f870dea0d19212c; Path=/; ' - - TS604574e3027=083fd6a492ab2000fded5e2a2e815c4f626ca127051c41b4ec33a404acbac92a4e863448c34f317908945f939b1130007aa4876625496b5728fcb0c272f401dafbb49c7dc33c2a748c807b248e71bc9425f92735ff6716d4c95b1ed476268b26; + - TS604574e3027=083fd6a492ab2000c2dbbd56a0cf75bdedeaec4101b5c49a897b506ee6ba969a7cacf49a2db5a4aa0841b7325f113000dc0525718f77415da6db9e70e4fda5d5e496825d27495d45a688a0e3c1bedd61dcbbc4d04e284f3ef59d1b9313000dbd; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_10.yaml b/tests/cassettes/test_validar_transferencia_tipo_10.yaml index 4275a54..098ffb9 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_10.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_10.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:44:57 GMT + - Tue, 18 Feb 2025 21:45:04 GMT Set-Cookie: - - JSESSIONID=2ykGbAYcxrI4FWmoEKrQh4BFhzaRnREEzBYzJlYDqJGintqNBa6A!384618570; + - JSESSIONID=uggbBZHZMjZ-EHji73B2B0nf6-8QYiNbcMvEscjyMCiJzWaNr36C!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!KY4NY9JGuBNd7JVFNVyFw/oTv40kxAPQ2Zxu48s1SJKDP4fqQJvfMEGJOXYZ181AwV/yd1+TkqbgKw==; - expires=Sat, 15-Feb-2025 05:44:57 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8302d7d763c92bd8c0d94d093369defec530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869f62216e79809d38120c78b225ca84da2; + - Hex39764011=!ie+3/Sm8OQTFF7BFNVyFw/oTv40kxFzT8prHIiuDX6P1N4qYkQbYN8qKrcTXOdJ/VkV4skI7ElyGqw==; + expires=Wed, 19-Feb-2025 05:45:04 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8652283727f80639073e0b864161bc8198c5983e74cd9326fe11fa3b9743b64089e6b6e45cc553b468579b8fda8764319109f20a30528e82fc31dc1c6d9006f238ac6d336476fc86a3101849465c96f87; Path=/; ' - - TS604574e3027=083fd6a492ab20008bf4338bc439f934fc1b8d0d1cbf69ec0c2f44ad656d51492627c3aca667934c086055ce9411300043e34faf2f441781bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d; + - TS604574e3027=083fd6a492ab2000a1a0ea8277f3b1960e5de1b2ca1cffc918a7ef889720175149325aa79b0eac6c08956c7fab1130009c1ada7bef8e20e401d38616be28342038719b749eda0a4ae95590878f7771fb43c22a980549b9ce6e0471195f42a857; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=2ykGbAYcxrI4FWmoEKrQh4BFhzaRnREEzBYzJlYDqJGintqNBa6A!384618570; - Hex39764011=!KY4NY9JGuBNd7JVFNVyFw/oTv40kxAPQ2Zxu48s1SJKDP4fqQJvfMEGJOXYZ181AwV/yd1+TkqbgKw==; - TS012f422b=01ab44a5a8302d7d763c92bd8c0d94d093369defec530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869f62216e79809d38120c78b225ca84da2; - TS604574e3027=083fd6a492ab20008bf4338bc439f934fc1b8d0d1cbf69ec0c2f44ad656d51492627c3aca667934c086055ce9411300043e34faf2f441781bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d + - JSESSIONID=uggbBZHZMjZ-EHji73B2B0nf6-8QYiNbcMvEscjyMCiJzWaNr36C!-2094109768; + Hex39764011=!ie+3/Sm8OQTFF7BFNVyFw/oTv40kxFzT8prHIiuDX6P1N4qYkQbYN8qKrcTXOdJ/VkV4skI7ElyGqw==; + TS012f422b=01ab44a5a8652283727f80639073e0b864161bc8198c5983e74cd9326fe11fa3b9743b64089e6b6e45cc553b468579b8fda8764319109f20a30528e82fc31dc1c6d9006f238ac6d336476fc86a3101849465c96f87; + TS604574e3027=083fd6a492ab2000a1a0ea8277f3b1960e5de1b2ca1cffc918a7ef889720175149325aa79b0eac6c08956c7fab1130009c1ada7bef8e20e401d38616be28342038719b749eda0a4ae95590878f7771fb43c22a980549b9ce6e0471195f42a857 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -99,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:44:57 GMT + - Tue, 18 Feb 2025 21:45:04 GMT Set-Cookie: - - Hex39764011=!mkQJ1ikxZM7zzU5FNVyFw/oTv40kxHRFDB6KRY3d7iTIHBhM0Y8+Cb89yj4p3lXukwnO2GMwkBfOxg==; - expires=Sat, 15-Feb-2025 05:44:57 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8a1563bc62d20c2cac514b0b13ed4475c530c0c439816c69ed952ffe728cf6946932b77d67fc93209ceec2445209a4dc7914c6a4aecfc0692a4f3e5c6fbd49869a82f16913fc82d89168edf21072421e2; + - Hex39764011=!DfiiZHLkHKegf+BFNVyFw/oTv40kxHIaRrFPH4OYsrVvcUKYLfwmFI+PogElia5qiQlXqljzydBkig==; + expires=Wed, 19-Feb-2025 05:45:04 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8f09b40ba7f304e579905dc12767ba64f8c5983e74cd9326fe11fa3b9743b64089e6b6e45cc553b468579b8fda8764319109f20a30528e82fc31dc1c6d9006f23cb902811b6ac8daa85b25a0a84218c03; Path=/; ' - - TS604574e3027=083fd6a492ab20004509fe1eb202107e7584ace481ab4c251d7885f029e97b7892483af5d10a1067082675d2ea113000d509dad6952a7bf0bb1f6384a050c4dda1532b024af7da19aa68b9d45dfe3f7bb4f6b42e9dc65fcd1e009e3ecbdc854d; + - TS604574e3027=083fd6a492ab20001dfb3c76f9ee47bdc7cb21bc6e186b4bf2c8f325874d3f075819a22ebc7e31a408f6e57055113000577021ca2b385eff01d38616be28342038719b749eda0a4ae95590878f7771fb43c22a980549b9ce6e0471195f42a857; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_11.yaml b/tests/cassettes/test_validar_transferencia_tipo_11.yaml index 6e825d1..fd411e8 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_11.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_11.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:48:16 GMT + - Tue, 18 Feb 2025 21:46:12 GMT Set-Cookie: - - JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570; + - JSESSIONID=tUIbBpqAq1IYiPdFot_OAZohMUQuJVoasNhAIdXjfMriDLHg1pjA!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==; - expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99; + - Hex39764011=!dzdL2kNWnDVlSU1FNVyFw/oTv40kxHI/QUrG0xj6LyLNsCwoi+uYGHnjUsbyIFTHyIcz9lTRe+O0xQ==; + expires=Wed, 19-Feb-2025 05:46:12 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a842d86606aadc8583a9203e1113cfe923460aee2a340c16bc043141343c421bf17e651356fa495ee827dbbb1191cb15dbf0478a70ae0f5ad5d3775975656f182724f530b78d5fc6bd70cdfcd1f4e1267d; Path=/; ' - - TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b; + - TS604574e3027=083fd6a492ab20005f167aceee83f0a11fe4000f98264d8b4097cb35ed311d1f90bbff4dd4fa9e9408b3efbc3c1130000933cc7a6228522a8c7e661f3c45900059bfe72071b917b04ed010036164b408fd8e282fc5b0f386b55bc3ead759b4eb; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570; - Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==; - TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99; - TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b + - JSESSIONID=tUIbBpqAq1IYiPdFot_OAZohMUQuJVoasNhAIdXjfMriDLHg1pjA!-2094109768; + Hex39764011=!dzdL2kNWnDVlSU1FNVyFw/oTv40kxHI/QUrG0xj6LyLNsCwoi+uYGHnjUsbyIFTHyIcz9lTRe+O0xQ==; + TS012f422b=01ab44a5a842d86606aadc8583a9203e1113cfe923460aee2a340c16bc043141343c421bf17e651356fa495ee827dbbb1191cb15dbf0478a70ae0f5ad5d3775975656f182724f530b78d5fc6bd70cdfcd1f4e1267d; + TS604574e3027=083fd6a492ab20005f167aceee83f0a11fe4000f98264d8b4097cb35ed311d1f90bbff4dd4fa9e9408b3efbc3c1130000933cc7a6228522a8c7e661f3c45900059bfe72071b917b04ed010036164b408fd8e282fc5b0f386b55bc3ead759b4eb User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:48:16 GMT + - Tue, 18 Feb 2025 21:46:12 GMT Set-Cookie: - - Hex39764011=!BmOXTrS6kBhOoOtFNVyFw/oTv40kxEEtgzIJOfT/fFHXoNuz9sWuhKYgRS+u2b7tsWH5ZT0/8p2CNA==; - expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a88183ec2080bc85ee59da9c880ac673c00b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd9ea1f2d1f447df1511095ca29dd66430d; + - Hex39764011=!89o7MjKsUivrNHFFNVyFw/oTv40kxPzB6KLz5zv8sJLCtZi35x+kzp1VDsYeS/s3bMb7Rxt+ppdUMw==; + expires=Wed, 19-Feb-2025 05:46:12 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8d183a2e937e9e828861afe7e41860f32460aee2a340c16bc043141343c421bf17e651356fa495ee827dbbb1191cb15dbf0478a70ae0f5ad5d3775975656f18277e826f0490723d6400371fd6a1193e7e; Path=/; ' - - TS604574e3027=083fd6a492ab2000d7e2302834857936b75dd4a74729fb2643339fed870b8740286ee202858479ec08ae19fb9d1130001c2ad72619200ccf3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b; + - TS604574e3027=083fd6a492ab20001fccfa210db8197b26d0aca49e34029ef3dfa9019faf183395561a1bd0df19bb085aa107031130002b10a9b3b2bc1c438c7e661f3c45900059bfe72071b917b04ed010036164b408fd8e282fc5b0f386b55bc3ead759b4eb; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_12.yaml b/tests/cassettes/test_validar_transferencia_tipo_12.yaml index 5cd4a27..ee9851f 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_12.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_12.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:48:25 GMT + - Tue, 18 Feb 2025 21:45:23 GMT Set-Cookie: - - JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768; + - JSESSIONID=sJYbBdmN9XKIgwp5SWsl7Ziagckfy_N84GSCblZ0aGCixt7itvSs!384618570; path=/; secure; HttpOnly - - Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==; - expires=Sat, 15-Feb-2025 05:48:25 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d; + - Hex39764011=!drLCZDOIqO7+sAdFNVyFw/oTv40kxIyXx5M3Nt6SW7WkorfRQkw4n/hlasogX68DLLHDTgzG/CIVjQ==; + expires=Wed, 19-Feb-2025 05:45:23 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8333dfb5b3a478378d4f806a888144f5005645c1080177cc546ab217ee3ce5c4c9ee4bf9b3ce0e755b23e2a1378211f77d5b23afef81e9270ab93b5c33c656b146b1f8393200d71832acae80a84e10864; Path=/; ' - - TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16; + - TS604574e3027=083fd6a492ab20009cfe58845976187bac351486108f8d77698008567dc3227b42919c37c89115e5085ec94444113000f0c0ff84c70cac8f9c24028523439ed2e20f12c4deceee468000d524684358e101942834297b0282da41bb727aded9fe; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768; - Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==; - TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d; - TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16 + - JSESSIONID=sJYbBdmN9XKIgwp5SWsl7Ziagckfy_N84GSCblZ0aGCixt7itvSs!384618570; + Hex39764011=!drLCZDOIqO7+sAdFNVyFw/oTv40kxIyXx5M3Nt6SW7WkorfRQkw4n/hlasogX68DLLHDTgzG/CIVjQ==; + TS012f422b=01ab44a5a8333dfb5b3a478378d4f806a888144f5005645c1080177cc546ab217ee3ce5c4c9ee4bf9b3ce0e755b23e2a1378211f77d5b23afef81e9270ab93b5c33c656b146b1f8393200d71832acae80a84e10864; + TS604574e3027=083fd6a492ab20009cfe58845976187bac351486108f8d77698008567dc3227b42919c37c89115e5085ec94444113000f0c0ff84c70cac8f9c24028523439ed2e20f12c4deceee468000d524684358e101942834297b0282da41bb727aded9fe User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -102,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:48:26 GMT + - Tue, 18 Feb 2025 21:45:23 GMT Set-Cookie: - - Hex39764011=!wrvvQxgijUSyc7tFNVyFw/oTv40kxCTNvmR64VsxHJI36Wv8oTjajRQehChGqHxN4J2rE1rbuK3enQ==; - expires=Sat, 15-Feb-2025 05:48:26 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8975e8f4001e559bdd3dfe13b6f8a662e2c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3662b6489b09b928f0d19ed1db68b34b6f; + - Hex39764011=!7VIqJ+1vL3wr32tFNVyFw/oTv40kxPlUXxd5Z6LqMaPvZNkc3+sVzg+Vafs6Cg6I/m1WY9DZyFT4lA==; + expires=Wed, 19-Feb-2025 05:45:23 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a82c477acc3d41a14e5dfab119b76c79dc05645c1080177cc546ab217ee3ce5c4c9ee4bf9b3ce0e755b23e2a1378211f77d5b23afef81e9270ab93b5c33c656b1494867c5c6461b7991d58b3157efefb32; Path=/; ' - - TS604574e3027=083fd6a492ab20002019a924c64d316ae1362913c746bb03d825a4eb7c8d5649cc4c4d150807c86108ec8c0cba11300033fb42e753ad506d25f928a0a44f2c1e286fa617ab2520c89c20c08cf537fffeaf67a5727a2ceb0707b650d7f486b1d7; + - TS604574e3027=083fd6a492ab2000e543d6ce76c87fb7379efdc5de8e91cfbfc49931e5c82b24c7e923be113fd285084e6523341130006408c3183cd9b43b9c24028523439ed2e20f12c4deceee468000d524684358e101942834297b0282da41bb727aded9fe; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_3.yaml b/tests/cassettes/test_validar_transferencia_tipo_3.yaml index ad6cb34..a6cb7ce 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_3.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_3.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 20:26:41 GMT + - Tue, 18 Feb 2025 21:42:50 GMT Set-Cookie: - - JSESSIONID=61gGJF9rtKkvTr-p9zcdKZmNac3CUOINtDEOCGRI-Nyw7rINjxQb!384618570; + - JSESSIONID=5WQbA4b3MfIzRf7f-qts7u022hdbRGhHzt1KXX2ljJxAHso8JO87!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!UUtj3LLmOwmgthtFNVyFw/oTv40kxOWsnOilsy9izRFQ67UGUit/QZ32Ml8FO/F/qdF7YKccQXV+gg==; - expires=Sat, 15-Feb-2025 04:26:41 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a827a4ebe7e08c69d9ae0c5fe07486b88ceab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17dacce8f39417ba078b1eb1bdbaac173944; + - Hex39764011=!aHsubGksysrHichFNVyFw/oTv40kxIoVY3XdM1eDhiJtgk5oqmvtguMJwH5PHls7yBn64LaMFNW2oA==; + expires=Wed, 19-Feb-2025 05:42:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a816efb7d4d471696f64c170a358c16e0d877a9fcf3829ef07520f7a39f3ea8fe05e021df438520b7b8272ab2e2384d7862d81b36d4903207b14a30b29faa040376ea3a661b4cf2b5e2d24db68de7d78bc; Path=/; ' - - TS604574e3027=083fd6a492ab2000fb1229caa6cc2e426f808c9a7bf013d7a989fa19356e6ebfcfe9bfc22f9ab8ea08290647da1130003d6a0c9a9947ae0c485c19058b3479c5dcf758c3407f85faaf718adc7d4c973e0d4e480d60bde68b20dd3709f02f792c; + - TS604574e3027=083fd6a492ab2000fc3e2975ab67a526d833b1446dc9ab58745db528a35dd7a28eb7b0a20526979408c73fbf92113000e8b8ee6ece0cb0ea11f3b6825c5b856014e31391c07a00358e0e031f9efc1a2ed240edde876c8c76f94a59cc9dec2768; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=61gGJF9rtKkvTr-p9zcdKZmNac3CUOINtDEOCGRI-Nyw7rINjxQb!384618570; - Hex39764011=!UUtj3LLmOwmgthtFNVyFw/oTv40kxOWsnOilsy9izRFQ67UGUit/QZ32Ml8FO/F/qdF7YKccQXV+gg==; - TS012f422b=01ab44a5a827a4ebe7e08c69d9ae0c5fe07486b88ceab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17dacce8f39417ba078b1eb1bdbaac173944; - TS604574e3027=083fd6a492ab2000fb1229caa6cc2e426f808c9a7bf013d7a989fa19356e6ebfcfe9bfc22f9ab8ea08290647da1130003d6a0c9a9947ae0c485c19058b3479c5dcf758c3407f85faaf718adc7d4c973e0d4e480d60bde68b20dd3709f02f792c + - JSESSIONID=5WQbA4b3MfIzRf7f-qts7u022hdbRGhHzt1KXX2ljJxAHso8JO87!-2094109768; + Hex39764011=!aHsubGksysrHichFNVyFw/oTv40kxIoVY3XdM1eDhiJtgk5oqmvtguMJwH5PHls7yBn64LaMFNW2oA==; + TS012f422b=01ab44a5a816efb7d4d471696f64c170a358c16e0d877a9fcf3829ef07520f7a39f3ea8fe05e021df438520b7b8272ab2e2384d7862d81b36d4903207b14a30b29faa040376ea3a661b4cf2b5e2d24db68de7d78bc; + TS604574e3027=083fd6a492ab2000fc3e2975ab67a526d833b1446dc9ab58745db528a35dd7a28eb7b0a20526979408c73fbf92113000e8b8ee6ece0cb0ea11f3b6825c5b856014e31391c07a00358e0e031f9efc1a2ed240edde876c8c76f94a59cc9dec2768 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 20:26:42 GMT + - Tue, 18 Feb 2025 21:42:51 GMT Set-Cookie: - - Hex39764011=!2LR2DwPaAJX1jwJFNVyFw/oTv40kxEM3yep1obyt+lP1MoBGT90AW59EzI4gwAOTh/i29lUQP7Gl+w==; - expires=Sat, 15-Feb-2025 04:26:42 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8085361180176bf61b7063edb735ebd13eab644584e0419a032ffc9d6855ee3487afb8c94bc967b72426153674d89d38ba8e4ab3e878ec96158dab87c675a17da3992ee329fb3a5f6214f3b787a18ae16; + - Hex39764011=!0MyFUBvuU/U/t9tFNVyFw/oTv40kxMXqFbFiYwImXIIA/YDWtnOVkayhjSrOHUqbq30kt7xs29jfNw==; + expires=Wed, 19-Feb-2025 05:42:51 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a82a4c0f74b80c6d53dea51dff95d60686877a9fcf3829ef07520f7a39f3ea8fe05e021df438520b7b8272ab2e2384d7862d81b36d4903207b14a30b29faa040377393277629b7c09de8a78f28f681c249; Path=/; ' - - TS604574e3027=083fd6a492ab20006f1c10f7c70728ed1fa81366d56896adfff930ecce96394324f36aa0ab3ca6c2089d5deed4113000a1055c47870a5a7ab014eb32cf386353b36cea912f2be0a9d152ee061fd9479f6862a0b60b3cd7d078033e0d38082cfc; + - TS604574e3027=083fd6a492ab2000ad4c1458b518f230aec54acb6503976c344015c3b140b332e527d66c44a98a2a08bdc31a35113000bf0fdfa1ca82e8af8c92c0877c9d26f6a234c227eb4441d114e8ff73fbcc09534d45200a5e22967b392c8979fa910e2b; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_30.yaml b/tests/cassettes/test_validar_transferencia_tipo_30.yaml index 2bd6711..13906fe 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_30.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_30.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:58:44 GMT + - Tue, 18 Feb 2025 21:46:13 GMT Set-Cookie: - - JSESSIONID=1MMGeKX6YSicIAP3dae9VkWi5ezcxT7LmZONC6lTEzh5COuNIwq4!384618570; + - JSESSIONID=C68bBpy1B88JullwPtDFhR1XJon0mWjeCH31srv0tO-HbiM0k6UN!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!wbM5jqN9fgHwzlpFNVyFw/oTv40kxBAr9cDWi06t2wUbp1ec2P31a3/8CErSG1aJ6wNcQKzfilESMA==; - expires=Sat, 15-Feb-2025 05:58:45 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8882aa2d8943a5c99b5e9ad9cfc785250ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b7514db69ab41575ecb1cd153d8d159db839d; + - Hex39764011=!jJmaWXaV9j4NGehFNVyFw/oTv40kxDSGAjVDOVXW3wybDLNV4oTPNHKNF2Gx7TnlFvXiMhbz7A2vew==; + expires=Wed, 19-Feb-2025 05:46:13 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8af65f34e643c1df25ac84144a121e12a43736dd264dda2f87b39ce3ff8fcd5257fe00ba97dd0180da94313a3c0107dcb55b50b461a3d475b6f27557679b4ef3bb484a54eebee76321d8b7503b1f04c1b; Path=/; ' - - TS604574e3027=083fd6a492ab2000a9e5eb04711113a599571f4349c0eb0483d10a05d41b3949584c6c41b317ef8108b01271241130007dcc08dd2001e78c2b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd; + - TS604574e3027=083fd6a492ab20005d36a93c6cdc83e2b85d56814a7b5f1e50a98bd133850a413897af793e53dfc60889577ca1113000d29dcbd48321411344f28549584abb43ccd949ff2998e1260146ef528ef96b900494a4ec607e0ae14c75b8dacb7beaae; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=1MMGeKX6YSicIAP3dae9VkWi5ezcxT7LmZONC6lTEzh5COuNIwq4!384618570; - Hex39764011=!wbM5jqN9fgHwzlpFNVyFw/oTv40kxBAr9cDWi06t2wUbp1ec2P31a3/8CErSG1aJ6wNcQKzfilESMA==; - TS012f422b=01ab44a5a8882aa2d8943a5c99b5e9ad9cfc785250ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b7514db69ab41575ecb1cd153d8d159db839d; - TS604574e3027=083fd6a492ab2000a9e5eb04711113a599571f4349c0eb0483d10a05d41b3949584c6c41b317ef8108b01271241130007dcc08dd2001e78c2b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd + - JSESSIONID=C68bBpy1B88JullwPtDFhR1XJon0mWjeCH31srv0tO-HbiM0k6UN!-2094109768; + Hex39764011=!jJmaWXaV9j4NGehFNVyFw/oTv40kxDSGAjVDOVXW3wybDLNV4oTPNHKNF2Gx7TnlFvXiMhbz7A2vew==; + TS012f422b=01ab44a5a8af65f34e643c1df25ac84144a121e12a43736dd264dda2f87b39ce3ff8fcd5257fe00ba97dd0180da94313a3c0107dcb55b50b461a3d475b6f27557679b4ef3bb484a54eebee76321d8b7503b1f04c1b; + TS604574e3027=083fd6a492ab20005d36a93c6cdc83e2b85d56814a7b5f1e50a98bd133850a413897af793e53dfc60889577ca1113000d29dcbd48321411344f28549584abb43ccd949ff2998e1260146ef528ef96b900494a4ec607e0ae14c75b8dacb7beaae User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:58:45 GMT + - Tue, 18 Feb 2025 21:46:13 GMT Set-Cookie: - - Hex39764011=!fFgdtbFiRP9Se1pFNVyFw/oTv40kxOZcZrLKmnvecynE2DYvkzDyO+xwkddjOg2sD53QCjVLbU81/g==; - expires=Sat, 15-Feb-2025 05:58:45 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8d03f1771dc2cae81266e84d92559e2d2ac219f45cbe05f8489438c906b8366519518f21aa7ab349d9668d59376b2676a38aed8ed9ae0d269f64136d41a1b75142a906b7e852e4ef7579274b1eb5f82d2; + - Hex39764011=!InJFZFWyYugplM5FNVyFw/oTv40kxGfWb+1mLfxV8HhP+kpmer8+Vkia+/P3mD1OqSH0rjNBx7hklA==; + expires=Wed, 19-Feb-2025 05:46:13 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a817df834d80f18ddbfc57400ccba2bec843736dd264dda2f87b39ce3ff8fcd5257fe00ba97dd0180da94313a3c0107dcb55b50b461a3d475b6f27557679b4ef3b337c35621c6b15eb1ba95c296fe66188; Path=/; ' - - TS604574e3027=083fd6a492ab20003cc5db84f200f1cc21f2af2acef3130ceaf040b3578a35cc386aa43063d00fcd0875cb82961130003fbf5c4c694551222b51541a2b7d8ed8c09c975feef844ad15a16e234059ea48df810ecfb63f7f8f5a922c3f232ff8cd; + - TS604574e3027=083fd6a492ab20006903f1b828f88646423fa109d438e61ad8d73995ed621296d97bd9b5a11709ae08275897c81130002fc796468470924d44f28549584abb43ccd949ff2998e1260146ef528ef96b900494a4ec607e0ae14c75b8dacb7beaae; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_31.yaml b/tests/cassettes/test_validar_transferencia_tipo_31.yaml index 64cf21a..7b0cdc9 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_31.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_31.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:59:00 GMT + - Tue, 18 Feb 2025 21:46:28 GMT Set-Cookie: - - JSESSIONID=DoAGeOJRPhKKyIDY4FJyoinGKVOETSn9utsCqaJRevgIS5BcpMSW!-2094109768; + - JSESSIONID=vgsbBtiSE8AZAbRwj8CJI_wYC0SJGjnBa5k0civHvSsvkWHKHXWV!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!oWWwLDpDktdn1lNFNVyFw/oTv40kxPzJvCPvG5Vmp+i1mMA6AtD/OyYPxE2Kyn6PWl5v/MgTzD782g==; - expires=Sat, 15-Feb-2025 05:59:00 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8495c062a55b3e499af09b08e0ff3831e99777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c0037319c28746a583b7b81f2e1b374b355; + - Hex39764011=!zxwhJH5FrmSKteJFNVyFw/oTv40kxMm51G0sc6zOh2wpmas/XtDeO552g5KJBvouEUvZgx0jsT9WuQ==; + expires=Wed, 19-Feb-2025 05:46:28 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8807e6cb36143ec5f07708be4d3d4f35f33491e0d28383ac81d03421f0118422b7c002b0e3e2b8dabd07a636795f041bb8f009a362523b77f14798d1345a0cf2978b4fd4618776b51f2cb719816b75ead; Path=/; ' - - TS604574e3027=083fd6a492ab2000471c6fce7d099e39ea884d4b2cca8f4e5792295512c6eb3a19d8699158a02bf3083bbea2231130002ae4e25cec0394334bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b; + - TS604574e3027=083fd6a492ab20006c95b6f0cc70af592c972a7b371b5c1c88f5af9946e0fd60f3b4c138065a9c870888f1ea741130006a22ed4beff2084663fc4ded976255cae1228e20b9a29730f006feee3dd2a59db3a3055e7dcdab01a90e5998eebba272; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=DoAGeOJRPhKKyIDY4FJyoinGKVOETSn9utsCqaJRevgIS5BcpMSW!-2094109768; - Hex39764011=!oWWwLDpDktdn1lNFNVyFw/oTv40kxPzJvCPvG5Vmp+i1mMA6AtD/OyYPxE2Kyn6PWl5v/MgTzD782g==; - TS012f422b=01ab44a5a8495c062a55b3e499af09b08e0ff3831e99777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c0037319c28746a583b7b81f2e1b374b355; - TS604574e3027=083fd6a492ab2000471c6fce7d099e39ea884d4b2cca8f4e5792295512c6eb3a19d8699158a02bf3083bbea2231130002ae4e25cec0394334bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b + - JSESSIONID=vgsbBtiSE8AZAbRwj8CJI_wYC0SJGjnBa5k0civHvSsvkWHKHXWV!-2094109768; + Hex39764011=!zxwhJH5FrmSKteJFNVyFw/oTv40kxMm51G0sc6zOh2wpmas/XtDeO552g5KJBvouEUvZgx0jsT9WuQ==; + TS012f422b=01ab44a5a8807e6cb36143ec5f07708be4d3d4f35f33491e0d28383ac81d03421f0118422b7c002b0e3e2b8dabd07a636795f041bb8f009a362523b77f14798d1345a0cf2978b4fd4618776b51f2cb719816b75ead; + TS604574e3027=083fd6a492ab20006c95b6f0cc70af592c972a7b371b5c1c88f5af9946e0fd60f3b4c138065a9c870888f1ea741130006a22ed4beff2084663fc4ded976255cae1228e20b9a29730f006feee3dd2a59db3a3055e7dcdab01a90e5998eebba272 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -98,13 +98,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:59:00 GMT + - Tue, 18 Feb 2025 21:46:28 GMT Set-Cookie: - - Hex39764011=!8WNvwcBZObhZTf5FNVyFw/oTv40kxGvR9Lr7px2Xc1x7rAwf7eVfDM+2gDf5jLClk9JIuKxTKm6rtA==; - expires=Sat, 15-Feb-2025 05:59:00 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8c9a1bf14e29a064065ade179adb1c4c299777a6c959aea38a57a571f1089001369f89ed79977725b59d79dcf399cdf037d3920d66ef7a7d7ed3dd08d3ad89c00a7bf985324a96f391e5fe05965ce1994; + - Hex39764011=!kYMQVvw4z5wms6RFNVyFw/oTv40kxPTyuWG9zoTZmBcMg5cAj8yIcmJSAZQp+IhqulWmG6blD7cU/g==; + expires=Wed, 19-Feb-2025 05:46:28 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a810220ff1100a993b72600ff2b7d172bb33491e0d28383ac81d03421f0118422b7c002b0e3e2b8dabd07a636795f041bb8f009a362523b77f14798d1345a0cf29107a98c2b8f8a6b0cdf6d82fc5c184cf; Path=/; ' - - TS604574e3027=083fd6a492ab2000e8b2f9869b258dab68eeb6c881fac95014002739885bfe5e65a1ba431eb35dcd08eb2ae82b11300069d2f1bb7913ad324bb66a9d7ee6622352669bf1d4bd0d45898fd4b77328400497d1efbe0bbd8ca03ec5938f30237c5b; + - TS604574e3027=083fd6a492ab20006b9d95f9b8c2abf5e068802f9fad8f1458f748754b882f297e55bde95568b61c08afa9afa11130007a9dfe08082339eb63fc4ded976255cae1228e20b9a29730f006feee3dd2a59db3a3055e7dcdab01a90e5998eebba272; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_35.yaml b/tests/cassettes/test_validar_transferencia_tipo_35.yaml index 516d1f7..4d8b695 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_35.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_35.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:59:16 GMT + - Tue, 18 Feb 2025 21:47:01 GMT Set-Cookie: - - JSESSIONID=kXwGeSCBAfzWXB9N_MRyLm_t2yUpQI42x0D8ncUZG3IdT-4zuVTe!-2094109768; + - JSESSIONID=X_sbB1teVyPkTYr_jk7dY8zuxUqavu8yfhdBQgzKBzX6V1xd1YXM!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!GkNmgqkS4s87+SxFNVyFw/oTv40kxLTsNR3pvYOyqnrZwdqagIXvWsbMjdOiPMrANfdEzhMlBRc3gQ==; - expires=Sat, 15-Feb-2025 05:59:16 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a839830f71d43779ca7f33fc6bfc236cedf45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f24020f8c960f318ad2ff3f98b2f0f401; + - Hex39764011=!lkJBvs2ZX8kK121FNVyFw/oTv40kxJUM2unVlH6JLrNcB45j9oA0EDr9PzX2mj1VEqU0kUvpE0O+Uw==; + expires=Wed, 19-Feb-2025 05:47:01 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a81c65bcc58f5fe32c45209e4dd44523b36d354f53509b8aa7211325e090c68c96acb11f7ecaea9858e3ab97affb7cacdef29308c90c022269e69ea042877738ec2d0b510d34eecad12291fe87216ccdd6; Path=/; ' - - TS604574e3027=083fd6a492ab2000008976124a163de8224ba452b17d416899dc4c11280b66f37bb2394e597f3fba086d2ebb8b113000b1d113e259043ff0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963; + - TS604574e3027=083fd6a492ab20006363bd7fc02337ebd78775f564b7cb7dea6c148f26712473ac1d3f2be03b9983088502fd41113000f4fa98f3d7fa9536a11d31fa58b64faaf8fba7f133033581d56ae564c6a9edd9985b02abe22451a9663b3ee9c7dc7d92; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=kXwGeSCBAfzWXB9N_MRyLm_t2yUpQI42x0D8ncUZG3IdT-4zuVTe!-2094109768; - Hex39764011=!GkNmgqkS4s87+SxFNVyFw/oTv40kxLTsNR3pvYOyqnrZwdqagIXvWsbMjdOiPMrANfdEzhMlBRc3gQ==; - TS012f422b=01ab44a5a839830f71d43779ca7f33fc6bfc236cedf45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f24020f8c960f318ad2ff3f98b2f0f401; - TS604574e3027=083fd6a492ab2000008976124a163de8224ba452b17d416899dc4c11280b66f37bb2394e597f3fba086d2ebb8b113000b1d113e259043ff0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963 + - JSESSIONID=X_sbB1teVyPkTYr_jk7dY8zuxUqavu8yfhdBQgzKBzX6V1xd1YXM!-2094109768; + Hex39764011=!lkJBvs2ZX8kK121FNVyFw/oTv40kxJUM2unVlH6JLrNcB45j9oA0EDr9PzX2mj1VEqU0kUvpE0O+Uw==; + TS012f422b=01ab44a5a81c65bcc58f5fe32c45209e4dd44523b36d354f53509b8aa7211325e090c68c96acb11f7ecaea9858e3ab97affb7cacdef29308c90c022269e69ea042877738ec2d0b510d34eecad12291fe87216ccdd6; + TS604574e3027=083fd6a492ab20006363bd7fc02337ebd78775f564b7cb7dea6c148f26712473ac1d3f2be03b9983088502fd41113000f4fa98f3d7fa9536a11d31fa58b64faaf8fba7f133033581d56ae564c6a9edd9985b02abe22451a9663b3ee9c7dc7d92 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -102,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:59:16 GMT + - Tue, 18 Feb 2025 21:47:02 GMT Set-Cookie: - - Hex39764011=!MREafkxsk2Ohu9BFNVyFw/oTv40kxB+ekyMASMov7sVRHaQ5gziwJPMWpDjv/Mkm8rA0i7S3C7gGZg==; - expires=Sat, 15-Feb-2025 05:59:16 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8c4540a9a1791f15bddbdc9af0ccf7573f45482c74229f225188dbda863cb891670ed717ba4a88ec05a16e67af62293d684dbef2cf2c119aa1d347748f207c16f3d19375b850cd3a1badcae8572adead2; + - Hex39764011=!0aM9f126G9Zi8kdFNVyFw/oTv40kxM9Q5bYBOgiGBGMWiQcbXH+aGYgiYQ/83GMZNlo792T/o4Oaeg==; + expires=Wed, 19-Feb-2025 05:47:02 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a851adeb97186a12e959507fa7bd0b123d6d354f53509b8aa7211325e090c68c96acb11f7ecaea9858e3ab97affb7cacdef29308c90c022269e69ea042877738ecd2a232111a123f3c3128b7af097de172; Path=/; ' - - TS604574e3027=083fd6a492ab20001a883e930034586916638d0e83e40b6e09964235fe6054d675eb4195005b1aaa08fe507ce1113000651b6bd580aad8a0c3cb4f3379532b487fbf9eba47fbd75215f94401f37d0785111a530e75efbab70418c46f8c85e963; + - TS604574e3027=083fd6a492ab20002952ac80ea8b2e097dc2ff002e43a24105ee6e4b105b8534640ebe33c8c4e31a089f4bcd2c113000f141245059188f0b651f4e1b99ce78def5ae73d5fc77556e8cc3b82034fd64f30641ffe7158e1e1352c1dabf3b60260c; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_36.yaml b/tests/cassettes/test_validar_transferencia_tipo_36.yaml index bb5ad3e..6dcaf31 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_36.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_36.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:59:38 GMT + - Tue, 18 Feb 2025 21:47:02 GMT Set-Cookie: - - JSESSIONID=fccGeXautlxMVWXFw-WQ1I42OG2DRD7Q6cJ0uQAQpEcNmO1VuaTM!384618570; + - JSESSIONID=BzsbB1zBdzhVBoeFhiwkWQ3G0YbJbaRfSzhi5Z3_PPOZLT3vJqKO!384618570; path=/; secure; HttpOnly - - Hex39764011=!p1LhI3isdp7MPm5FNVyFw/oTv40kxNErDzZdvd5FGpxfSFx+dZPvPzSF0TmBqr5slw2zhU4acjpuxg==; - expires=Sat, 15-Feb-2025 05:59:38 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a81c0e1f7ead95327f12318055cc066ea302f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba53585e4cbf91de43165b6ee7c9205c4c10; + - Hex39764011=!gsIcfL0vS2X3J8RFNVyFw/oTv40kxJc2vxt6/uSPg7ktJPLWE0CI6xnyywljZ/RSvvp/iO+YCMfilw==; + expires=Wed, 19-Feb-2025 05:47:02 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8256f1a9638cbce4a7ac9bd803d0c4c98ee4b9dbc86b6ea874a9ee362d9186900272427ac7c34e8dc9b7122fb1a5bca815a19675efa9619272cc4174da585429fe4aedd18a7970a515a38e345672d9f3e; Path=/; ' - - TS604574e3027=083fd6a492ab2000ada309028c412a85880207db0954458f4ecdc50fab0bd1ff7e85a3314d4264a208866bfe18113000e80f7f475dcf702eedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a; + - TS604574e3027=083fd6a492ab20007a3cab0d4ba2ed68279e751443ead698764d2af0f9b39a8fde35adf6cbd3ae1d08eb4acf971130009dcc17a3557824ba651f4e1b99ce78de8f054884a79bd1f9f688420ea5ae3850c3d9ef066c87b5bf61cccc5f7b5b96f6; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=fccGeXautlxMVWXFw-WQ1I42OG2DRD7Q6cJ0uQAQpEcNmO1VuaTM!384618570; - Hex39764011=!p1LhI3isdp7MPm5FNVyFw/oTv40kxNErDzZdvd5FGpxfSFx+dZPvPzSF0TmBqr5slw2zhU4acjpuxg==; - TS012f422b=01ab44a5a81c0e1f7ead95327f12318055cc066ea302f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba53585e4cbf91de43165b6ee7c9205c4c10; - TS604574e3027=083fd6a492ab2000ada309028c412a85880207db0954458f4ecdc50fab0bd1ff7e85a3314d4264a208866bfe18113000e80f7f475dcf702eedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a + - JSESSIONID=BzsbB1zBdzhVBoeFhiwkWQ3G0YbJbaRfSzhi5Z3_PPOZLT3vJqKO!384618570; + Hex39764011=!gsIcfL0vS2X3J8RFNVyFw/oTv40kxJc2vxt6/uSPg7ktJPLWE0CI6xnyywljZ/RSvvp/iO+YCMfilw==; + TS012f422b=01ab44a5a8256f1a9638cbce4a7ac9bd803d0c4c98ee4b9dbc86b6ea874a9ee362d9186900272427ac7c34e8dc9b7122fb1a5bca815a19675efa9619272cc4174da585429fe4aedd18a7970a515a38e345672d9f3e; + TS604574e3027=083fd6a492ab20007a3cab0d4ba2ed68279e751443ead698764d2af0f9b39a8fde35adf6cbd3ae1d08eb4acf971130009dcc17a3557824ba651f4e1b99ce78de8f054884a79bd1f9f688420ea5ae3850c3d9ef066c87b5bf61cccc5f7b5b96f6 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -102,13 +102,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:59:38 GMT + - Tue, 18 Feb 2025 21:47:02 GMT Set-Cookie: - - Hex39764011=!KhyVrPn3NoePKFxFNVyFw/oTv40kxOo6Oel5cPjEj0B6wlwJFi4vPBDGXxoam2nBjpWnR8u1spITyw==; - expires=Sat, 15-Feb-2025 05:59:38 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8d9b1840476816c5745c651fe66bc486c02f57df2bea612bc7292096af982ab73fde461b98bb204c0fdb4c90d2d7772e28609e02c417c50817c4af4b68d8fba534cee5dcab7ea3f57494109a355ce2600; + - Hex39764011=!O7PdBkY+XlrlBPVFNVyFw/oTv40kxE1EPqeF81VADh/auXmfkhNhFHbskObebedq6NH4a8bqoWsJRw==; + expires=Wed, 19-Feb-2025 05:47:02 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8cd5fec56641cca38e7d6dbbb8fbe183eee4b9dbc86b6ea874a9ee362d9186900272427ac7c34e8dc9b7122fb1a5bca815a19675efa9619272cc4174da585429f887948d9c45ff09f034721d6403751c2; Path=/; ' - - TS604574e3027=083fd6a492ab2000dbeeeb42ad8dd345641aa5f1452279f5885c9fbb99d0f937aec9ca0b81195d000892bf9aab11300079b126acfcbd175cedc54544df5c0240241b15d9c3aafe372ea19ef6fc70660cd75134b8be985cab9cdc05b23bae845a; + - TS604574e3027=083fd6a492ab20002406e6eb51d7997abc34ca1b1ed08ec576b2fe3e2b9a0e8035778147fb0484bb08c0d50084113000101108e2a901fc1c651f4e1b99ce78de8f054884a79bd1f9f688420ea5ae3850c3d9ef066c87b5bf61cccc5f7b5b96f6; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_4.yaml b/tests/cassettes/test_validar_transferencia_tipo_4.yaml index 06124fa..b2e34c3 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_4.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_4.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:22:44 GMT + - Tue, 18 Feb 2025 21:44:25 GMT Set-Cookie: - - JSESSIONID=dAUGV64ZV7QgjpkFsU1LUMpfWeJsrSzQgXGkn51yWGmBqzW2xw0C!384618570; + - JSESSIONID=EH4bBPqTWIyhCq1_PqHsq_R_r-ugubUBUYFGzsl5qC7lGooeDukU!384618570; path=/; secure; HttpOnly - - Hex39764011=!iOT+w4y2J7uNO0lFNVyFw/oTv40kxM7wWu5DqgvvKJbohoWyK2VBPj8dDDSKIEgZUziaZLGDnISURA==; - expires=Sat, 15-Feb-2025 05:22:44 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8ebe94ac586b891f11f84952675de959c94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c68b2100125a973c44f1b183432260aa17; + - Hex39764011=!dB6xzdRoED/cosBFNVyFw/oTv40kxPHfPl1kFYH1qhyxRvwideKq2nBLui7HvIbsnoY8k79SRhjOig==; + expires=Wed, 19-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a82280e9ff0173d280d56dbc605c3911194af01d51047e16d0b008b48625b9eb29f5f866d9a1d32708975445ccbbfb55a012d74404ac022a1aef0c8e8cc82573ea69245b2d3b543317f5450cb826ce0952; Path=/; ' - - TS604574e3027=083fd6a492ab20000c49d361d3e13990d407af95bafa52b660b82be2ce5bbf7743831c6f1d5d535f08d41e227c1130009a1fb632208740b8a1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353; + - TS604574e3027=083fd6a492ab20008fd760e81d0e432b75f8c9f0e8730c61c02d008e379652c182d648d47b7ce261086a4044891130004cabec8298a1874f3b3694ac4129c126738521fcf47abc71ffef3a0a135c760883ec89f0b7b337e73768a850e0f6ae7d; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=dAUGV64ZV7QgjpkFsU1LUMpfWeJsrSzQgXGkn51yWGmBqzW2xw0C!384618570; - Hex39764011=!iOT+w4y2J7uNO0lFNVyFw/oTv40kxM7wWu5DqgvvKJbohoWyK2VBPj8dDDSKIEgZUziaZLGDnISURA==; - TS012f422b=01ab44a5a8ebe94ac586b891f11f84952675de959c94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c68b2100125a973c44f1b183432260aa17; - TS604574e3027=083fd6a492ab20000c49d361d3e13990d407af95bafa52b660b82be2ce5bbf7743831c6f1d5d535f08d41e227c1130009a1fb632208740b8a1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353 + - JSESSIONID=EH4bBPqTWIyhCq1_PqHsq_R_r-ugubUBUYFGzsl5qC7lGooeDukU!384618570; + Hex39764011=!dB6xzdRoED/cosBFNVyFw/oTv40kxPHfPl1kFYH1qhyxRvwideKq2nBLui7HvIbsnoY8k79SRhjOig==; + TS012f422b=01ab44a5a82280e9ff0173d280d56dbc605c3911194af01d51047e16d0b008b48625b9eb29f5f866d9a1d32708975445ccbbfb55a012d74404ac022a1aef0c8e8cc82573ea69245b2d3b543317f5450cb826ce0952; + TS604574e3027=083fd6a492ab20008fd760e81d0e432b75f8c9f0e8730c61c02d008e379652c182d648d47b7ce261086a4044891130004cabec8298a1874f3b3694ac4129c126738521fcf47abc71ffef3a0a135c760883ec89f0b7b337e73768a850e0f6ae7d User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:22:44 GMT + - Tue, 18 Feb 2025 21:44:26 GMT Set-Cookie: - - Hex39764011=!hAmj2ePxCRdokcJFNVyFw/oTv40kxFkJjhWRmhT1d1FvrEGIf05AwaZxo1Ei/4U2xLpnXik1fE6CDQ==; - expires=Sat, 15-Feb-2025 05:22:44 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8cb669a5d62a75cf220e1e870535a25ed94fd6ada012308e4a25866fcaacc299b66c86b8d8205498b977d6ab0bbc4b2b390f78141890ee7011c97e5aef23736c682a7eb07a4d56480c27cbffc3b62cb19; + - Hex39764011=!tU4JF/BSvXh4XnZFNVyFw/oTv40kxBKiZZMs1c0eM30dUvoP+K97CnnJFsTttA2FDo4knWdYSYTJmQ==; + expires=Wed, 19-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a83ef7eed2bd6cd8dd8299e77acf76c86e4af01d51047e16d0b008b48625b9eb29f5f866d9a1d32708975445ccbbfb55a012d74404ac022a1aef0c8e8cc82573ea01fac6e376d39c6521394853922c6376; Path=/; ' - - TS604574e3027=083fd6a492ab200016f0e50d7e41a8f0e1e4d97c403b0874f22f8b798daef1fc58760f03d082ef2908cec06ef81130006d82c9ec183abf1da1ccfd4ad8822ea587660d5370a5cff3f4448207a878ea9804e897280b08692458d4ae1d7bc7b353; + - TS604574e3027=083fd6a492ab2000cdc25d02b29968111083b6bc159fde88a1ad15c97bcc00fed6c9466ac843dd41087110f9da113000aca7ad0621e5c5a53b3694ac4129c126738521fcf47abc71ffef3a0a135c760883ec89f0b7b337e73768a850e0f6ae7d; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_5.yaml b/tests/cassettes/test_validar_transferencia_tipo_5.yaml index d0db517..7dd47d1 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_5.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_5.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:22:59 GMT + - Tue, 18 Feb 2025 21:44:26 GMT Set-Cookie: - - JSESSIONID=nDQGV-gNoV4N7CBGgV3_Id6wo8y4jPk0dxAY4oM7FvBnssz4EDq2!-2094109768; + - JSESSIONID=FiMbBPvaro7vWaK4YzlHWW3e-y3jbclHuN3yWDtvwYl3KRP01GT_!384618570; path=/; secure; HttpOnly - - Hex39764011=!OFIG9iwvGykbDvNFNVyFw/oTv40kxALjDXoo50y0C3Mb4o4aI1b67Xzszliy/YRAVwAOnsx9ZhcNww==; - expires=Sat, 15-Feb-2025 05:22:59 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a84a94e98613651c89e129b718c523227eaa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe0bdd3c3c41a5eabcf7681863b4876f7f; + - Hex39764011=!w9sKLj1vEKCH8gdFNVyFw/oTv40kxD+9iTFnwPlUZgxMPEwAxHv8tpamfRyeeOcgshd2rPKTouz/+A==; + expires=Wed, 19-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a80718f3544c07e6c53649e3d7c537129f023de16e5a8c3242dad792650fa790d6eb14a71944a04a500d3dbe311e946615cef276c73bc41f9aa223ead1f6f44f95dd99e49daa5bcde3a83a338b5c5a6379; Path=/; ' - - TS604574e3027=083fd6a492ab2000d716f111e297c4ad00111b19512a9a851c28f70ff0f05f33c9dca71152da461508bf077457113000eb82f1e9930c6a3819fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992; + - TS604574e3027=083fd6a492ab20001b3d0adba255de4570cef4e866eeca13e771b0165fa3d3135165bf822080029b083f562e60113000ba3afa181a8c64b43b3694ac4129c126de936fecb39e729608541ce442d6aa73ac2ec7e0c50ae006ea83780129c803c8; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=nDQGV-gNoV4N7CBGgV3_Id6wo8y4jPk0dxAY4oM7FvBnssz4EDq2!-2094109768; - Hex39764011=!OFIG9iwvGykbDvNFNVyFw/oTv40kxALjDXoo50y0C3Mb4o4aI1b67Xzszliy/YRAVwAOnsx9ZhcNww==; - TS012f422b=01ab44a5a84a94e98613651c89e129b718c523227eaa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe0bdd3c3c41a5eabcf7681863b4876f7f; - TS604574e3027=083fd6a492ab2000d716f111e297c4ad00111b19512a9a851c28f70ff0f05f33c9dca71152da461508bf077457113000eb82f1e9930c6a3819fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992 + - JSESSIONID=FiMbBPvaro7vWaK4YzlHWW3e-y3jbclHuN3yWDtvwYl3KRP01GT_!384618570; + Hex39764011=!w9sKLj1vEKCH8gdFNVyFw/oTv40kxD+9iTFnwPlUZgxMPEwAxHv8tpamfRyeeOcgshd2rPKTouz/+A==; + TS012f422b=01ab44a5a80718f3544c07e6c53649e3d7c537129f023de16e5a8c3242dad792650fa790d6eb14a71944a04a500d3dbe311e946615cef276c73bc41f9aa223ead1f6f44f95dd99e49daa5bcde3a83a338b5c5a6379; + TS604574e3027=083fd6a492ab20001b3d0adba255de4570cef4e866eeca13e771b0165fa3d3135165bf822080029b083f562e60113000ba3afa181a8c64b43b3694ac4129c126de936fecb39e729608541ce442d6aa73ac2ec7e0c50ae006ea83780129c803c8 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -99,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:22:59 GMT + - Tue, 18 Feb 2025 21:44:26 GMT Set-Cookie: - - Hex39764011=!v2dR1xSGc2qjJmZFNVyFw/oTv40kxBMPKicGt2wgcHKapBSrmJZ/ZaUJrU3+lMNKv3J8atjs5OcN8Q==; - expires=Sat, 15-Feb-2025 05:22:59 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8b099d5829a6e72bb8fefb51584bb1fb7aa9b288b2143e2a2ba7891b85fd3dae4c9129a35ebc54dcc7480430eb85bfd5771337d50207aa790fbb247e2874c1dbe8bacaa63ffc48915e527c399d5471e5c; + - Hex39764011=!SsTypSXFipox6qlFNVyFw/oTv40kxDwabLlws30P/8bI6p1N/zD/vpKCcr2HYJ698V5wbdSgmO3BRw==; + expires=Wed, 19-Feb-2025 05:44:26 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8bc84fbdaae1a4dc38d4f1a850e3f9e75023de16e5a8c3242dad792650fa790d6eb14a71944a04a500d3dbe311e946615cef276c73bc41f9aa223ead1f6f44f95d8089de0afdf2fc608700f8be9a06e90; Path=/; ' - - TS604574e3027=083fd6a492ab20008749409fbaf7ded2636c6c2f2044dcaae2f6749aee6376d9eafae25e73eda30e08fc4aa6ab113000ee99d839eda6474b19fd76f1ac8fb75f52e06acb23fdbf15e41ed416372fe1bc387dee1ef2762cd5d9b5546ca25aa992; + - TS604574e3027=083fd6a492ab2000b2f8348952614910e6301c2b810f5c852a78723bd417c00091c8f28994a2ec6808d6e5d1e4113000a4d30eacb04dc6963b3694ac4129c126de936fecb39e729608541ce442d6aa73ac2ec7e0c50ae006ea83780129c803c8; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_6.yaml b/tests/cassettes/test_validar_transferencia_tipo_6.yaml index d2d135f..ffab5a2 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_6.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_6.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:44:26 GMT + - Tue, 18 Feb 2025 21:44:50 GMT Set-Cookie: - - JSESSIONID=tnkGa4sFxYoGm5aU_sYyAbvJ9Jxk7_OldYRngzOyvVAaShhEWkWG!-2094109768; + - JSESSIONID=iVobBViOP-Rvdvcm9TmEdTefyeckfzXDsGXoPLizgwLah8SO_j7I!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!G4WqmVsb/JoFlTlFNVyFw/oTv40kxL41Fdn9AsiAAACb8LKYggRRWDfEemUk99lxXfPtXRpN/OGaRg==; - expires=Sat, 15-Feb-2025 05:44:26 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a88f026ac31b7a224480c77f910ff9efb511444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb5e1c0f90dae22cb256801f14cde6f50aa; + - Hex39764011=!VqzDtEmmRRMv1TdFNVyFw/oTv40kxCpTB2Kr+73+uvBwy53I+tNX85SFjkRN2JgSI9+yRWdjzOeU2A==; + expires=Wed, 19-Feb-2025 05:44:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a860bde57d72e6d2a0530762f95bd7d54b7466f99cdea7b3d2314cb93878d28409a679051bfe4642b3d81792e969d6af603dcc95edc16fc63818e06f1a98b15df0630c048f23b87faddd6435c3a458d0e5; Path=/; ' - - TS604574e3027=083fd6a492ab2000519a54b32cc4434b8fda11ac424754377df4948cfd700f86c4c2bf3e65311b8908890ed78d113000bfe37d528b42e770036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194; + - TS604574e3027=083fd6a492ab2000460706fd5dcf297fa2c453c3f1904b5e4fb902cb5a045f7024a66ec514b47b3608d47f3d89113000e72bb68275b37c1cb1db165cd0989d7792857c865e76e963dc06a7b91830a0f0da5101d3ab8ff603e8722d50f8265157; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=tnkGa4sFxYoGm5aU_sYyAbvJ9Jxk7_OldYRngzOyvVAaShhEWkWG!-2094109768; - Hex39764011=!G4WqmVsb/JoFlTlFNVyFw/oTv40kxL41Fdn9AsiAAACb8LKYggRRWDfEemUk99lxXfPtXRpN/OGaRg==; - TS012f422b=01ab44a5a88f026ac31b7a224480c77f910ff9efb511444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb5e1c0f90dae22cb256801f14cde6f50aa; - TS604574e3027=083fd6a492ab2000519a54b32cc4434b8fda11ac424754377df4948cfd700f86c4c2bf3e65311b8908890ed78d113000bfe37d528b42e770036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194 + - JSESSIONID=iVobBViOP-Rvdvcm9TmEdTefyeckfzXDsGXoPLizgwLah8SO_j7I!-2094109768; + Hex39764011=!VqzDtEmmRRMv1TdFNVyFw/oTv40kxCpTB2Kr+73+uvBwy53I+tNX85SFjkRN2JgSI9+yRWdjzOeU2A==; + TS012f422b=01ab44a5a860bde57d72e6d2a0530762f95bd7d54b7466f99cdea7b3d2314cb93878d28409a679051bfe4642b3d81792e969d6af603dcc95edc16fc63818e06f1a98b15df0630c048f23b87faddd6435c3a458d0e5; + TS604574e3027=083fd6a492ab2000460706fd5dcf297fa2c453c3f1904b5e4fb902cb5a045f7024a66ec514b47b3608d47f3d89113000e72bb68275b37c1cb1db165cd0989d7792857c865e76e963dc06a7b91830a0f0da5101d3ab8ff603e8722d50f8265157 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -99,13 +99,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:44:26 GMT + - Tue, 18 Feb 2025 21:44:50 GMT Set-Cookie: - - Hex39764011=!ZaDHNbBzlPNaPKJFNVyFw/oTv40kxF392spd5SRAlIdIUbotC9UP4w7nkzzTC3ePdjx5j0Lx2W0ZfQ==; - expires=Sat, 15-Feb-2025 05:44:26 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a896e37b7d5f767495decc34b77f0bb97911444ae9e11b8c6003e180cf07cdad47bfe500df13dfd518cf3964b2b04cd89f90b4e500d69381a3982877b6c82c3cb53852c849a27890cfd48468bb15202789; + - Hex39764011=!WW2xvEFTVHu10gZFNVyFw/oTv40kxGt/qvZ4CvC4HxvFJaCgTk7NMXKK3F6oJGiq3DU+Sn3SHsL+tg==; + expires=Wed, 19-Feb-2025 05:44:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a84d5e163a91a10a1dae81743dd6a870817466f99cdea7b3d2314cb93878d28409a679051bfe4642b3d81792e969d6af603dcc95edc16fc63818e06f1a98b15df01ed5cff615cddf640d78b73b4aea693e; Path=/; ' - - TS604574e3027=083fd6a492ab20005a768639754c850ed164a81d5478d3044ad1936c75f16a0ef653026c513864440834c7dd7f1130005cff3f8cb9bc7778036bb578016c5e09ebe8c542e2279bb31af0fa8fc4afd94ed2ea0a8268927618fdbbb86995ddc194; + - TS604574e3027=083fd6a492ab2000420060f7be9f07d68149c864df1311b86e945ffca636933cd7e30ebb3ec60873086188562c1130000dcae34a0bbe742cb1db165cd0989d7792857c865e76e963dc06a7b91830a0f0da5101d3ab8ff603e8722d50f8265157; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_8.yaml b/tests/cassettes/test_validar_transferencia_tipo_8.yaml index bf39d27..e03c6f8 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_8.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_8.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:44:40 GMT + - Tue, 18 Feb 2025 21:44:50 GMT Set-Cookie: - - JSESSIONID=HgUGa8S4XYAY8MahLUD2AXlfcH8nyqdG4pkIRYoZKM3u8KPXHuVY!384618570; + - JSESSIONID=lqMbBVnT4YOP6TC2lKpIcAIjEe_fq6uKSXChasY8ji8tvswEork2!-2094109768; path=/; secure; HttpOnly - - Hex39764011=!2Gr5C/1NFys93ipFNVyFw/oTv40kxKgEnCFKYpqmprZApzbtAKqIIQYNar/CZVBm90X8Qw+Q2z1u8A==; - expires=Sat, 15-Feb-2025 05:44:40 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a86c771d23663bccef773a1be7b30cfc67f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb30561dd976c6f5535c8b6065ef7532a3c34c6; + - Hex39764011=!iLjY+C401zuk39xFNVyFw/oTv40kxHqI6Qm83D5ckSGUb77aLBMROHaMYaDFARLKfyFKD6p1WYfKQA==; + expires=Wed, 19-Feb-2025 05:44:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a85a2e604ccddf43fa071ca4c009a2919a3db9b88393868bcff8b4f2e14b54ecc3c420bc87e1a0697052bfff23417b9a64dd0ab0130e1eb480c5739d0f952062b681d5819347287e2c234d6a2e05b1a891; Path=/; ' - - TS604574e3027=083fd6a492ab20005aa6638b7c4f95a34352c8383d98d754949fd2a2908d1846fe42f5dc840336f008db369102113000ad934018d781fcced36cf840809b17d1ce75d0b23c6b6cfaaf3646601dd9efca4d17f54a9f621f5200725440c5572959; + - TS604574e3027=083fd6a492ab20008998bffb525f7192594a3c2c006222763e6d4cb1150278443df50ea637a8210908852e5b8211300054f6b7a96c52ea3fb1db165cd0989d7706af3e928d980078e8a71ddcb09639e9d946806a17386d9e2539111471755f89; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=HgUGa8S4XYAY8MahLUD2AXlfcH8nyqdG4pkIRYoZKM3u8KPXHuVY!384618570; - Hex39764011=!2Gr5C/1NFys93ipFNVyFw/oTv40kxKgEnCFKYpqmprZApzbtAKqIIQYNar/CZVBm90X8Qw+Q2z1u8A==; - TS012f422b=01ab44a5a86c771d23663bccef773a1be7b30cfc67f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb30561dd976c6f5535c8b6065ef7532a3c34c6; - TS604574e3027=083fd6a492ab20005aa6638b7c4f95a34352c8383d98d754949fd2a2908d1846fe42f5dc840336f008db369102113000ad934018d781fcced36cf840809b17d1ce75d0b23c6b6cfaaf3646601dd9efca4d17f54a9f621f5200725440c5572959 + - JSESSIONID=lqMbBVnT4YOP6TC2lKpIcAIjEe_fq6uKSXChasY8ji8tvswEork2!-2094109768; + Hex39764011=!iLjY+C401zuk39xFNVyFw/oTv40kxHqI6Qm83D5ckSGUb77aLBMROHaMYaDFARLKfyFKD6p1WYfKQA==; + TS012f422b=01ab44a5a85a2e604ccddf43fa071ca4c009a2919a3db9b88393868bcff8b4f2e14b54ecc3c420bc87e1a0697052bfff23417b9a64dd0ab0130e1eb480c5739d0f952062b681d5819347287e2c234d6a2e05b1a891; + TS604574e3027=083fd6a492ab20008998bffb525f7192594a3c2c006222763e6d4cb1150278443df50ea637a8210908852e5b8211300054f6b7a96c52ea3fb1db165cd0989d7706af3e928d980078e8a71ddcb09639e9d946806a17386d9e2539111471755f89 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:44:41 GMT + - Tue, 18 Feb 2025 21:44:50 GMT Set-Cookie: - - Hex39764011=!yrPe8XqlhQTi2QpFNVyFw/oTv40kxJHSQM5FoHBLgRgn9/A6LzBzSssTN49tMzfvp4RJ92oan1v/3A==; - expires=Sat, 15-Feb-2025 05:44:41 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8cf8d53415a7ea0543438626d2296a622f3a236c0bf923d5ce3c29aeadea9b866e7796e73e7bac0370e5145e89b7a0edbba4188a90dce3ddb89203903efb305613b168d21ee0adde51f8c351a6fd8040a; + - Hex39764011=!SlJ74QsIMpmdSOhFNVyFw/oTv40kxLKab4JGwPyABwPbz3QVc0DrhywvP6iCMSFxkQzVlMd2u8FtNA==; + expires=Wed, 19-Feb-2025 05:44:50 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8785f34adbe60b6a8d141c627b7764a9c3db9b88393868bcff8b4f2e14b54ecc3c420bc87e1a0697052bfff23417b9a64dd0ab0130e1eb480c5739d0f952062b6717151bf1ea605eea13453ffdd76cbd2; Path=/; ' - - TS604574e3027=083fd6a492ab2000052e715d312a8349bade3a7dfe046e1ea4cb26a58c396781a3aacec338f9833408fcd2eefe1130001dbad4a71cf3c4228d13721ad7b2edcd2ac85829a02e365073841933b92fc8394604c0c5ef322f23a231f2c5d4848ff9; + - TS604574e3027=083fd6a492ab20005288087e05e082603d346d41959400545c658ba211eb4e03bc8ba2a9aec0a2a40864a14317113000f7379937d946f1c8b1db165cd0989d7706af3e928d980078e8a71ddcb09639e9d946806a17386d9e2539111471755f89; Path=/ status: code: 200 diff --git a/tests/cassettes/test_validar_transferencia_tipo_9.yaml b/tests/cassettes/test_validar_transferencia_tipo_9.yaml index 27bccd9..0522bb1 100644 --- a/tests/cassettes/test_validar_transferencia_tipo_9.yaml +++ b/tests/cassettes/test_validar_transferencia_tipo_9.yaml @@ -46,15 +46,15 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 14 Feb 2025 21:44:49 GMT + - Tue, 18 Feb 2025 21:45:04 GMT Set-Cookie: - - JSESSIONID=NPkGa-fkEZ18iuWRzlQvfZJnLMRwkclLtKg4unARZTX_zivsmNfg!-2094109768; + - JSESSIONID=0QcbBZCChEfdbgheJ4m3a9yJ7BakV1cowhKeF3vbTUByB9D73gnt!384618570; path=/; secure; HttpOnly - - Hex39764011=!2LHyIv57P5ElFThFNVyFw/oTv40kxAbYezcwDCHGPFT0EYcJnsEyQWGfXUWZTL20kRfMOd/lsl8Nbw==; - expires=Sat, 15-Feb-2025 05:44:49 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8b7f737c85fcfb6fbd36760f052c1f7c762b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04b8e03ed5fbbf55599465b1ea4388ad06; + - Hex39764011=!6Ak3V+Ih71PU3AZFNVyFw/oTv40kxM1UI7d6kKFMKWq53UrnTvn4+AhrZ3cpkaCH9Xsml7yktySYdg==; + expires=Wed, 19-Feb-2025 05:45:04 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8c9586726c0c977064880863534470bad65b90a212c3565dbfcf36ef9e9a463d1506e280f332db91cd7f10cc2c4614bb19bda33451e5e826837296f9ac47df4bbacaf5e6aae51cc716c5b24b27408c4f0; Path=/; ' - - TS604574e3027=083fd6a492ab2000080cd804174ffbc0e2b93f972a0b90f8afbb613c34d6bd34f56f0f5c07268c82082dc5e84d113000f5ae5e141f73b572828d45d0639e5d32c7812438b8aacdf34bb7b049b16fd5fef05e71da78bb58050cdb072bba7672ab; + - TS604574e3027=083fd6a492ab2000a4d5f748ec4d5c461e2d5a5bd536dfba2e838d4b619ae1f2707e7fa8c91bd2c008e80f1f1311300000543a802a6dd75501d38616be2834203979ff74a17fea32ca2ea7f7488c9552298103b096516fd9218ca9f3a53b1446; Path=/ status: code: 200 @@ -69,10 +69,10 @@ interactions: Connection: - keep-alive Cookie: - - JSESSIONID=NPkGa-fkEZ18iuWRzlQvfZJnLMRwkclLtKg4unARZTX_zivsmNfg!-2094109768; - Hex39764011=!2LHyIv57P5ElFThFNVyFw/oTv40kxAbYezcwDCHGPFT0EYcJnsEyQWGfXUWZTL20kRfMOd/lsl8Nbw==; - TS012f422b=01ab44a5a8b7f737c85fcfb6fbd36760f052c1f7c762b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04b8e03ed5fbbf55599465b1ea4388ad06; - TS604574e3027=083fd6a492ab2000080cd804174ffbc0e2b93f972a0b90f8afbb613c34d6bd34f56f0f5c07268c82082dc5e84d113000f5ae5e141f73b572828d45d0639e5d32c7812438b8aacdf34bb7b049b16fd5fef05e71da78bb58050cdb072bba7672ab + - JSESSIONID=0QcbBZCChEfdbgheJ4m3a9yJ7BakV1cowhKeF3vbTUByB9D73gnt!384618570; + Hex39764011=!6Ak3V+Ih71PU3AZFNVyFw/oTv40kxM1UI7d6kKFMKWq53UrnTvn4+AhrZ3cpkaCH9Xsml7yktySYdg==; + TS012f422b=01ab44a5a8c9586726c0c977064880863534470bad65b90a212c3565dbfcf36ef9e9a463d1506e280f332db91cd7f10cc2c4614bb19bda33451e5e826837296f9ac47df4bbacaf5e6aae51cc716c5b24b27408c4f0; + TS604574e3027=083fd6a492ab2000a4d5f748ec4d5c461e2d5a5bd536dfba2e838d4b619ae1f2707e7fa8c91bd2c008e80f1f1311300000543a802a6dd75501d38616be2834203979ff74a17fea32ca2ea7f7488c9552298103b096516fd9218ca9f3a53b1446 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 @@ -100,13 +100,13 @@ interactions: Content-Type: - application/xml Date: - - Fri, 14 Feb 2025 21:44:50 GMT + - Tue, 18 Feb 2025 21:45:04 GMT Set-Cookie: - - Hex39764011=!wkSIl8HXpMMpseFFNVyFw/oTv40kxOtTpmkEboeQRAAczYAoiCSb2R+fIZBq0pEBjXYsjXy3QJnV7g==; - expires=Sat, 15-Feb-2025 05:44:50 GMT; path=/; Httponly - - 'TS012f422b=01ab44a5a8d6738851396d3b3a820c2f8c2e370a7362b3913f244eee0c2ebe25365c5ad42f167118eb5d3e931da186a0321eec625a4c27efb945b5ffa2d24016a2e41d9d04e36e8f167962c8e05860b57b68e7521e; + - Hex39764011=!b2bIRQtJjCQeBkhFNVyFw/oTv40kxMBO9ouCma2tRE+fdCj3R3RBc9aw4cUJ+BJWCFC6aVIQPc5Z7g==; + expires=Wed, 19-Feb-2025 05:45:04 GMT; path=/; Httponly + - 'TS012f422b=01ab44a5a8f016ae2f8d1e512e1deb65977c18c62665b90a212c3565dbfcf36ef9e9a463d1506e280f332db91cd7f10cc2c4614bb19bda33451e5e826837296f9ac47df4bbc107dcc9ca35f3265b41660b879c4367; Path=/; ' - - TS604574e3027=083fd6a492ab2000647891438113d10b4975fab5bb51ee4b3d459e632ad4b740f0b2847012442d87089728ec7f1130000e464e4cd3cd8a55534aa44ab3ec04168b804671b8d9f54e25f7f3721405e77c85bd8818591db635d7cf11a1701958a1; + - TS604574e3027=083fd6a492ab200064c2e64346bdc88ab42729a442a7cf3db00f146f79acacde339e4c8ed792cff30828d7c5e3113000dd60b8f21308f2fe01d38616be2834203979ff74a17fea32ca2ea7f7488c9552298103b096516fd9218ca9f3a53b1446; Path=/ status: code: 200 diff --git a/tests/conftest.py b/tests/conftest.py index 8d4f1a5..add858a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -33,7 +33,7 @@ def transferencia_tipo_1(): numero='723969000011000077', rfc='LOHF890619HCSPRL05', ), - monto=3414.95, + monto=341495, # In cents iva=0.00, concepto='CONCEPTO PAGO TIPO 1', clave_rastreo='BiB202411081016248360', diff --git a/tests/test_transferencia.py b/tests/test_transferencia.py index 9ff3861..9e37a46 100644 --- a/tests/test_transferencia.py +++ b/tests/test_transferencia.py @@ -22,7 +22,7 @@ def test_fail_validar_transferencia_pago(): emisor='37166', receptor='90723', cuenta='012180004643051249', - monto=1111111.00, + monto=111111100, ) @@ -35,7 +35,7 @@ def test_fail_validar_transferencia_operacion(): emisor='37166', receptor='90723', cuenta='723969000011000077', - monto=3414.95, + monto=341495, ) @@ -60,7 +60,7 @@ def test_lanza_cep_error_para_errores_500(): emisor='37166', receptor='90723', cuenta='723969000011000077', - monto=25208.26, + monto=2520826, ) except CepError as exc: assert type(exc.__cause__) is HTTPError @@ -76,7 +76,7 @@ def test_maximo_numero_de_requests(): emisor='40042', receptor='90723', cuenta='723969000011000077', - monto=20912.98, + monto=2091298, ) @@ -89,7 +89,7 @@ def test_validar_transferencia_encontrada_sin_cep(): emisor='90728', receptor='90723', cuenta='723969000011000077', - monto=17584.28, + monto=1758428, ) @@ -101,7 +101,7 @@ def test_validar_transferencia_tipo_1(transferencia_tipo_1): emisor='37166', receptor='90723', cuenta='723969000011000077', - monto=3414.95, + monto=341495, # In cents ) assert tr is not None assert tr.tipo_pago == 1 @@ -117,7 +117,7 @@ def test_validar_transferencia_tipo_3(): emisor='37166', receptor='90723', cuenta='566180000553286528', - monto=10802.62, + monto=1080262, ) assert tr is not None assert tr.beneficiario.rfc == 'NA' @@ -132,7 +132,7 @@ def test_validar_transferencia_tipo_4(): emisor='40021', receptor='90723', cuenta='021180043534353354', - monto=17187.23, + monto=1718723, pago_a_banco=True, ) assert tr is not None @@ -150,7 +150,7 @@ def test_validar_transferencia_tipo_5(): emisor='40021', receptor='90723', cuenta='723969000011000077', - monto=27529.89, + monto=2752989, ) assert tr is not None assert tr.ordenante.nombre == 'NA' @@ -167,7 +167,7 @@ def test_validar_transferencia_tipo_6(): emisor='40021', receptor='90723', cuenta='723969000011000077', - monto=27532.17, + monto=2753217, ) assert tr is not None assert tr.ordenante.nombre == 'NA' @@ -185,7 +185,7 @@ def test_validar_transferencia_tipo_8(): emisor='40042', receptor='90723', cuenta='723969000011000077', - monto=28523.96, + monto=2852396, ) assert tr is not None assert tr.tipo_pago == 8 @@ -199,7 +199,7 @@ def test_validar_transferencia_tipo_9(): emisor='40021', receptor='90723', cuenta='723969000011000077', - monto=29778.66, + monto=2977866, ) assert tr is not None assert tr.beneficiario.rfc == 'NA' @@ -214,7 +214,7 @@ def test_validar_transferencia_tipo_10(): emisor='40042', receptor='90723', cuenta='723969000011000077', - monto=20912.98, + monto=2091298, ) assert tr is not None assert tr.ordenante.rfc == 'NA' @@ -231,7 +231,7 @@ def test_validar_transferencia_tipo_11(): emisor='40042', receptor='90723', cuenta='723969000011000077', - monto=9858.7, + monto=985870, ) assert tr is not None assert tr.ordenante.rfc == 'NA' @@ -248,7 +248,7 @@ def test_validar_transferencia_tipo_12(): emisor='2001', receptor='90723', cuenta='723969000011000077', - monto=1.25, + monto=125, ) assert tr is not None assert tr.tipo_pago == 12 @@ -262,7 +262,7 @@ def test_validar_transferencia_tipo_30(): emisor='37166', receptor='90723', cuenta='723969000011000077', - monto=25208.26, + monto=2520826, ) assert tr is not None assert tr.tipo_pago == 30 @@ -276,7 +276,7 @@ def test_validar_transferencia_tipo_31(): emisor='40059', receptor='90723', cuenta='059180019535000152', - monto=6593.15, + monto=659315, pago_a_banco=True, ) assert tr is not None @@ -294,7 +294,7 @@ def test_validar_transferencia_tipo_35(): emisor='40062', receptor='90723', cuenta='723969000011000077', - monto=13887.7, + monto=1388770, ) assert tr is not None assert tr.tipo_pago == 35 @@ -308,7 +308,7 @@ def test_validar_transferencia_tipo_36(): emisor='40113', receptor='90723', cuenta='723969000011000077', - monto=21683.76, + monto=2168376, ) assert tr is not None assert tr.tipo_pago == 36 From 9c7541da261e068e84e357bbff3d532e24011db6 Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 18 Feb 2025 15:55:29 -0600 Subject: [PATCH 27/28] Bumb version to 1.0.0.dev3 --- cep/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep/version.py b/cep/version.py index 1f356cc..b06045d 100644 --- a/cep/version.py +++ b/cep/version.py @@ -1 +1 @@ -__version__ = '1.0.0' +__version__ = '1.0.0.dev3' From d62e4c7b48595c2d31d2c805bee51bd5c49330cd Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 18 Feb 2025 16:02:32 -0600 Subject: [PATCH 28/28] Bumb version to 1.0.0 --- cep/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cep/version.py b/cep/version.py index b06045d..1f356cc 100644 --- a/cep/version.py +++ b/cep/version.py @@ -1 +1 @@ -__version__ = '1.0.0.dev3' +__version__ = '1.0.0'