Skip to content

Commit 438799c

Browse files
author
gabino
committed
Optimize response decoding in transfer validation
1 parent cd419d8 commit 438799c

File tree

3 files changed

+36
-166
lines changed

3 files changed

+36
-166
lines changed

cep/transferencia.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,13 @@ def _validar(
157157
receptorParticipante=1 if pago_a_banco else 0,
158158
)
159159
resp = client.post('/valida.do', request_body)
160-
if NO_CEP_ERROR_MESSAGE in resp.decode('utf-8'):
160+
decoded_resp = resp.decode('utf-8')
161+
if NO_CEP_ERROR_MESSAGE in decoded_resp:
161162
raise CepNotAvailableError
162-
if NO_PAYMENT_ERROR_MESSAGE in resp.decode(
163-
'utf-8'
164-
) or NO_OPERATION_ERROR_MESSAGE in resp.decode('utf-8'):
163+
if (
164+
NO_PAYMENT_ERROR_MESSAGE in decoded_resp
165+
or NO_OPERATION_ERROR_MESSAGE in decoded_resp
166+
):
165167
raise TransferNotFoundError
166168
return client
167169

tests/cassettes/test_validar_transferencia_tipo_11.yaml

Lines changed: 15 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,4 @@
11
interactions:
2-
- request:
3-
body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0
4-
headers:
5-
Accept:
6-
- '*/*'
7-
Accept-Encoding:
8-
- gzip, deflate
9-
Connection:
10-
- keep-alive
11-
Content-Length:
12-
- '182'
13-
Content-Type:
14-
- application/x-www-form-urlencoded
15-
User-Agent:
16-
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
17-
like Gecko) Chrome/75.0.3770.142 Safari/537.36
18-
method: POST
19-
uri: http://www.banxico.org.mx/cep-beta/valida.do
20-
response:
21-
body:
22-
string: ''
23-
headers:
24-
Connection:
25-
- Keep-Alive
26-
Content-Length:
27-
- '0'
28-
Location:
29-
- https://www.banxico.org.mx/cep-beta/valida.do
30-
Server:
31-
- mxbanxico
32-
status:
33-
code: 307
34-
message: Temporary Redirect
352
- request:
363
body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=08-11-2024&criterio=MIFELSPEI20241108112123712&emisor=40042&receptor=90723&cuenta=723969000011000077&monto=9858.7&receptorParticipante=0
374
headers:
@@ -79,15 +46,15 @@ interactions:
7946
Content-Type:
8047
- text/html; charset=UTF-8
8148
Date:
82-
- Thu, 13 Feb 2025 16:28:57 GMT
49+
- Fri, 14 Feb 2025 21:48:16 GMT
8350
Set-Cookie:
84-
- JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768;
51+
- JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570;
8552
path=/; secure; HttpOnly
86-
- Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==;
87-
expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly
88-
- 'TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998;
53+
- Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==;
54+
expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly
55+
- 'TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99;
8956
Path=/; '
90-
- TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c;
57+
- TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b;
9158
Path=/
9259
status:
9360
code: 200
@@ -102,43 +69,10 @@ interactions:
10269
Connection:
10370
- keep-alive
10471
Cookie:
105-
- Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==;
106-
TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998;
107-
TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c
108-
User-Agent:
109-
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
110-
like Gecko) Chrome/75.0.3770.142 Safari/537.36
111-
method: GET
112-
uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML
113-
response:
114-
body:
115-
string: ''
116-
headers:
117-
Connection:
118-
- Keep-Alive
119-
Content-Length:
120-
- '0'
121-
Location:
122-
- https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML
123-
Server:
124-
- mxbanxico
125-
status:
126-
code: 307
127-
message: Temporary Redirect
128-
- request:
129-
body: null
130-
headers:
131-
Accept:
132-
- '*/*'
133-
Accept-Encoding:
134-
- gzip, deflate
135-
Connection:
136-
- keep-alive
137-
Cookie:
138-
- JSESSIONID=AcsAJFmgVCdqWlZzSyxGS-z5SuyhrBobL0wYMJNzBNiSYVrBynFI!-2094109768;
139-
Hex39764011=!ndyGSu+xCZGR45ZFNVyFw/oTv40kxNKbGN0i+yiUF6JK3XxLR3KoQVBGq68rXardnd0+ce0mzxt+vw==;
140-
TS012f422b=01ab44a5a8bb2c7f8db2c3e7979d86bbd8c4bbb9a9bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e5a444057d28d531239c6e129f61720998;
141-
TS604574e3027=083fd6a492ab20005650606b726248ac044a1e6b983c3cccc19406d965ba4385a575a1b58df2db1f081515c5791130006b9c2af28b7a68be118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c
72+
- JSESSIONID=MuwGbw5HD0dyZIdAy_nG-vtBHVAN28D9ypIiIt6C0JWmMQ3ZH1b0!384618570;
73+
Hex39764011=!yntOYfBdXHWjRIRFNVyFw/oTv40kxNnyCi8Q2p5NExYzjkFFLgZA69L8rWV7GWNCIvAgUMgg31bE2Q==;
74+
TS012f422b=01ab44a5a8572d64f923ab21370d3847e0e360e6f60b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd95b699cd527d0f3c6d9acc73134df2e99;
75+
TS604574e3027=083fd6a492ab200095094b3167d4ef90743a19dea25b3cb358cf057cd7bcd290fb4f4ac80a3432c708bf67b837113000622fce8df8e617be3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b
14276
User-Agent:
14377
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
14478
like Gecko) Chrome/75.0.3770.142 Safari/537.36
@@ -166,13 +100,13 @@ interactions:
166100
Content-Type:
167101
- application/xml
168102
Date:
169-
- Thu, 13 Feb 2025 16:28:57 GMT
103+
- Fri, 14 Feb 2025 21:48:16 GMT
170104
Set-Cookie:
171-
- Hex39764011=!wH3l1Dw9N84jHIBFNVyFw/oTv40kxLWMZ9vEiqwdBWgZVBtZBgk2DbjtTj9nQ50U/9O4tX6zpQicuQ==;
172-
expires=Fri, 14-Feb-2025 00:28:57 GMT; path=/; Httponly
173-
- 'TS012f422b=01ab44a5a82876f666ce8b7ca75196c65f21614316bd5bc9dbcc836df1830db295502419732e5680fe905f555cdced0a98af4f9bf03991cf0e6728a998aac8afe68f8be1e546fa6495acadf879c8f6b257ece276d5;
105+
- Hex39764011=!BmOXTrS6kBhOoOtFNVyFw/oTv40kxEEtgzIJOfT/fFHXoNuz9sWuhKYgRS+u2b7tsWH5ZT0/8p2CNA==;
106+
expires=Sat, 15-Feb-2025 05:48:16 GMT; path=/; Httponly
107+
- 'TS012f422b=01ab44a5a88183ec2080bc85ee59da9c880ac673c00b170eaab98c3bcd76bc1d4f83ca74249f4ea1dcb7ab5dc743c121ae30682a3c2d1782950a8e92be7d30bfcee7e92dd9ea1f2d1f447df1511095ca29dd66430d;
174108
Path=/; '
175-
- TS604574e3027=083fd6a492ab2000ab5ad56174af898e18de05fa465facb66dd47d8cf075c71fde32afa438a908f9081465a8451130003d5c5d3131e47252118dd59d506b193afa7615cb579a83be8863e7133c2eec5ff5cfe3110b47d3bfc26b6e695d48064c;
109+
- TS604574e3027=083fd6a492ab2000d7e2302834857936b75dd4a74729fb2643339fed870b8740286ee202858479ec08ae19fb9d1130001c2ad72619200ccf3891ea87e198393cab871f442546730e743914a33f5ee84be53b908ffab68d2ae490d542b04cf41b;
176110
Path=/
177111
status:
178112
code: 200

tests/cassettes/test_validar_transferencia_tipo_12.yaml

Lines changed: 15 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,4 @@
11
interactions:
2-
- request:
3-
body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0
4-
headers:
5-
Accept:
6-
- '*/*'
7-
Accept-Encoding:
8-
- gzip, deflate
9-
Connection:
10-
- keep-alive
11-
Content-Length:
12-
- '183'
13-
Content-Type:
14-
- application/x-www-form-urlencoded
15-
User-Agent:
16-
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
17-
like Gecko) Chrome/75.0.3770.142 Safari/537.36
18-
method: POST
19-
uri: http://www.banxico.org.mx/cep-beta/valida.do
20-
response:
21-
body:
22-
string: ''
23-
headers:
24-
Connection:
25-
- Keep-Alive
26-
Content-Length:
27-
- '0'
28-
Location:
29-
- https://www.banxico.org.mx/cep-beta/valida.do
30-
Server:
31-
- mxbanxico
32-
status:
33-
code: 307
34-
message: Temporary Redirect
352
- request:
363
body: tipoCriterio=T&captcha=c&tipoConsulta=1&fecha=07-11-2024&criterio=EPRU723PRENOM24110744VL0000001&emisor=2001&receptor=90723&cuenta=723969000011000077&monto=1.25&receptorParticipante=0
374
headers:
@@ -79,15 +46,15 @@ interactions:
7946
Content-Type:
8047
- text/html; charset=UTF-8
8148
Date:
82-
- Thu, 13 Feb 2025 16:28:58 GMT
49+
- Fri, 14 Feb 2025 21:48:25 GMT
8350
Set-Cookie:
84-
- JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570;
51+
- JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768;
8552
path=/; secure; HttpOnly
86-
- Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==;
87-
expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly
88-
- 'TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f;
53+
- Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==;
54+
expires=Sat, 15-Feb-2025 05:48:25 GMT; path=/; Httponly
55+
- 'TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d;
8956
Path=/; '
90-
- TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565;
57+
- TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16;
9158
Path=/
9259
status:
9360
code: 200
@@ -102,43 +69,10 @@ interactions:
10269
Connection:
10370
- keep-alive
10471
Cookie:
105-
- Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==;
106-
TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f;
107-
TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565
108-
User-Agent:
109-
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
110-
like Gecko) Chrome/75.0.3770.142 Safari/537.36
111-
method: GET
112-
uri: http://www.banxico.org.mx/cep-beta/descarga.do?formato=XML
113-
response:
114-
body:
115-
string: ''
116-
headers:
117-
Connection:
118-
- Keep-Alive
119-
Content-Length:
120-
- '0'
121-
Location:
122-
- https://www.banxico.org.mx/cep-beta/descarga.do?formato=XML
123-
Server:
124-
- mxbanxico
125-
status:
126-
code: 307
127-
message: Temporary Redirect
128-
- request:
129-
body: null
130-
headers:
131-
Accept:
132-
- '*/*'
133-
Accept-Encoding:
134-
- gzip, deflate
135-
Connection:
136-
- keep-alive
137-
Cookie:
138-
- JSESSIONID=BwMAJF0aLFgVbos0aGFvZZ1U8TA2GRds5JbpRVlwXjsGSrmsiNw3!384618570;
139-
Hex39764011=!TLP780uUhQtKqvtFNVyFw/oTv40kxIjAnD2908dOPOCVrFPMgJkm762mNzhoIZI8R/24cJ0p9zDedQ==;
140-
TS012f422b=01ab44a5a80e2d8f76011a5488ce305f435b24add8b362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5d47f16df5b0a50b4f665d0d14cc74769f;
141-
TS604574e3027=083fd6a492ab2000a45787cef16aa922b37b48336bbef08b047571e95a9c3a467ec8730c4f31543408047dccdb113000c7f0e32d6969684fe2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565
72+
- JSESSIONID=EvUGbzKUIlQUR80P-YeGbzzlqmr57I2sJegDxU8LlXcnnFhYLpwL!-2094109768;
73+
Hex39764011=!rBgRzHesNHNTbZlFNVyFw/oTv40kxHmbErpVtWFhA0SYCa7fakjaHjEP9pCaM1X9+btmmvDU2LLWEg==;
74+
TS012f422b=01ab44a5a872e31cf94b70cff2251e44b4d1b9d3452c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3638889ab3c447313327425cbfac59f91d;
75+
TS604574e3027=083fd6a492ab2000d7a2f586009e834e34509a1925fd521ebfbb12bb68ed4cb26157186481195ea8086cd39aad113000d9b7a7db91684b73fcdeef1190092f94593fe44bb6243dcc5ecdc589b271a938f98758255d7efe8180dea112be33fb16
14276
User-Agent:
14377
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,
14478
like Gecko) Chrome/75.0.3770.142 Safari/537.36
@@ -168,13 +102,13 @@ interactions:
168102
Content-Type:
169103
- application/xml
170104
Date:
171-
- Thu, 13 Feb 2025 16:28:58 GMT
105+
- Fri, 14 Feb 2025 21:48:26 GMT
172106
Set-Cookie:
173-
- Hex39764011=!r17YPzkQzKZjTlFFNVyFw/oTv40kxEKr6Y1LK1Dxjctrs0Y1P0ajkF6vlMn/t1RR9iu/YSPG2E5qrQ==;
174-
expires=Fri, 14-Feb-2025 00:28:58 GMT; path=/; Httponly
175-
- 'TS012f422b=01ab44a5a88cd8fd79d9eca66d69ef64ee10c430ecb362f77b114f97ed248decc618e4e17906cfc3f4ff18c2f6e3a229165dfe73ab2ae9c4b7b167c770e9d360dc27346e5dc0a31dc69edab422ffba93bff3641ea8;
107+
- Hex39764011=!wrvvQxgijUSyc7tFNVyFw/oTv40kxCTNvmR64VsxHJI36Wv8oTjajRQehChGqHxN4J2rE1rbuK3enQ==;
108+
expires=Sat, 15-Feb-2025 05:48:26 GMT; path=/; Httponly
109+
- 'TS012f422b=01ab44a5a8975e8f4001e559bdd3dfe13b6f8a662e2c9b008d095154531da3671ec638899e82e6a2e18d410ff8dbfdec639e0ff8c2eaa9b3b07de66a556b4ce49ed78d3a3662b6489b09b928f0d19ed1db68b34b6f;
176110
Path=/; '
177-
- TS604574e3027=083fd6a492ab2000399d5a96f93481592cfae57bfdcf4970be69d9fc3e0aee24eb8f0386c871ee5c088e0f1916113000f5c5d70dc7d5f1c9e2992c606f60017cb2927651c4a1fd45e279eef93d825f648e9adb6310a381d6c304ab9bdb529565;
111+
- TS604574e3027=083fd6a492ab20002019a924c64d316ae1362913c746bb03d825a4eb7c8d5649cc4c4d150807c86108ec8c0cba11300033fb42e753ad506d25f928a0a44f2c1e286fa617ab2520c89c20c08cf537fffeaf67a5727a2ceb0707b650d7f486b1d7;
178112
Path=/
179113
status:
180114
code: 200

0 commit comments

Comments
 (0)