cuenca-validations 2.1.16.dev9__py3-none-any.whl → 2.1.16.dev100__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -588,6 +588,7 @@ class SessionType(str, Enum):
588
588
  account_entries = 'session.account_entries'
589
589
  download_file = 'session.download_file'
590
590
  upload_file = 'session.upload_file'
591
+ metamap_verification = 'session.metamap_verification'
591
592
 
592
593
 
593
594
  class WebhookObject(str, Enum):
@@ -704,6 +705,7 @@ class Profession(str, Enum):
704
705
  sistemas = 'sistemas'
705
706
  independiente = 'independiente'
706
707
  oficios = 'oficios'
708
+ otros = 'otros'
707
709
 
708
710
 
709
711
  class AccountUseType(str, Enum):
@@ -121,6 +121,7 @@ names_professions = {
121
121
  Profession.sistemas: 'Sistemas y Comunicaciones',
122
122
  Profession.independiente: 'Trabajador(a/e) Independiente',
123
123
  Profession.oficios: 'Oficios Varios',
124
+ Profession.otros: 'Otros',
124
125
  }
125
126
 
126
127
 
@@ -533,6 +533,17 @@ class SessionRequest(BaseRequest):
533
533
  type: SessionType
534
534
  success_url: Optional[SerializableAnyUrl] = None
535
535
  failure_url: Optional[SerializableAnyUrl] = None
536
+ metadata: Optional[dict] = None
537
+
538
+ @model_validator(mode='before')
539
+ @classmethod
540
+ def validate_metadata(cls, values: dict) -> dict:
541
+ if values[
542
+ 'type'
543
+ ] == SessionType.metamap_verification and not values.get('metadata'):
544
+ raise ValueError('Metadata expected for this session')
545
+ return values
546
+
536
547
  model_config = ConfigDict(
537
548
  json_schema_extra={
538
549
  'example': {
@@ -540,6 +551,7 @@ class SessionRequest(BaseRequest):
540
551
  'type': 'session.registration',
541
552
  'success_url': 'http://example_success.com',
542
553
  'failure_url': 'http://example_failure.com',
554
+ 'metadata': {'verification_id': 'some_verification_id'},
543
555
  }
544
556
  }
545
557
  )
@@ -1 +1 @@
1
- __version__ = '2.1.16.dev9'
1
+ __version__ = '2.1.16.dev100'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.16.dev9
3
+ Version: 2.1.16.dev100
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -4,26 +4,26 @@ cuenca_validations/errors.py,sha256=OtM8EgiKqYdz9Hn66AbBO96orL1or7efkyt0vh0Zxbs,
4
4
  cuenca_validations/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  cuenca_validations/typing.py,sha256=1QCu81IbVZZpyInjyeAuO-nF36gpT5Gi4o6V9PozuOU,204
6
6
  cuenca_validations/validators.py,sha256=mYJDXxJVokl5jZIA4FYn8wkaMUnOxAH54t1Pfg_0kmQ,1190
7
- cuenca_validations/version.py,sha256=zG5-HwiJzz-FJ8RiYGkbr4miTJ5op_melxELFBwNxXg,28
7
+ cuenca_validations/version.py,sha256=ODlDDVMofzxSOhh3q02wcTtvdAGnEj2DeBz61fUpwPQ,30
8
8
  cuenca_validations/types/__init__.py,sha256=CIfqLhBxUMX5YAI-FvX9pnHB233BivGJZj1lFNddx-k,5415
9
9
  cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
10
- cuenca_validations/types/enums.py,sha256=_dU5LYzrKbE87IGn8hHIy5tgbKNrHZIxIhuVGYHZMEs,20345
10
+ cuenca_validations/types/enums.py,sha256=-2ySq2naYgZd7JhjDLRsM3qTSBwr3NE4XIQPahzJ81Y,20423
11
11
  cuenca_validations/types/files.py,sha256=2CszbwF9ytXV9suFFwyDjYG4XxY8UhCjRw3HttVXXNw,269
12
- cuenca_validations/types/general.py,sha256=oU81Qyk_XgysdlEVsYy23MreGX8WIE-0bwgb2EkfcT4,5421
12
+ cuenca_validations/types/general.py,sha256=phXGbEtAfN1Mw26rblYDiFGBwFnhf1tK12ekwhuKFNo,5452
13
13
  cuenca_validations/types/helpers.py,sha256=XPiYVTLDtmBB5R1heWUy1c35zZMh7nh-BmS6rtwEltg,1379
14
14
  cuenca_validations/types/identities.py,sha256=1wkutHzL9Gpd9oAZdyiikNxWKe5iBVAQT3TabR6YG1o,5451
15
15
  cuenca_validations/types/morals.py,sha256=davabh5hAnFVQyM7-yCyDaT5ewXnm0cr1BtqDIwzkX8,1833
16
16
  cuenca_validations/types/queries.py,sha256=Pp7BAPk20hzImxb5EIiy3oI8S6AeCruU-NbQpOlrWVo,5146
17
- cuenca_validations/types/requests.py,sha256=IU0gbWxvs7QTcBfA1WsUqhm2RJPCXjytCy3jClAFp4A,21678
18
- cuenca_validations-2.1.16.dev9.dist-info/licenses/LICENSE,sha256=wR76FmxBbfnQpwELkkE5iMF8sFIafEMgXLTE4N4WPTc,1063
17
+ cuenca_validations/types/requests.py,sha256=G0-uTRsLcPNK3vMO8c6xo_i2Q-sNGFk9fclMGyeCDe8,22101
18
+ cuenca_validations-2.1.16.dev100.dist-info/licenses/LICENSE,sha256=wR76FmxBbfnQpwELkkE5iMF8sFIafEMgXLTE4N4WPTc,1063
19
19
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  tests/test_card.py,sha256=QAfRz7e11gWICPnFJZ2tiYgUsFV3C9TwzJXrDnDNXFw,1202
21
21
  tests/test_errors.py,sha256=ixiIgEuBuzfsL5p4uCFdF32XqFRtTPF6EVhGJ0keOrI,930
22
22
  tests/test_helpers.py,sha256=ubzpi1UXCryLQdgsT_Zm2IX-XE_4L0dnHnhLwH06xK8,748
23
- tests/test_requests.py,sha256=HGKybPNlN-Vbf2Ew34csfMR5UzZdVPoX9J8eeD4yCiI,1095
23
+ tests/test_requests.py,sha256=RKWtt3c-YEMCou1Ya5vH_HtfEE8asc8Z5_RQdRO54LQ,2326
24
24
  tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
25
25
  tests/test_types.py,sha256=2CSwhYn5WDFBHQl2239FD9J7KlB2_Tt7RVqQUlFcwnI,20074
26
- cuenca_validations-2.1.16.dev9.dist-info/METADATA,sha256=wqDyQHcZccWupzsTnbnpbL5XwBteo_-X6vjavuom018,1600
27
- cuenca_validations-2.1.16.dev9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- cuenca_validations-2.1.16.dev9.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
29
- cuenca_validations-2.1.16.dev9.dist-info/RECORD,,
26
+ cuenca_validations-2.1.16.dev100.dist-info/METADATA,sha256=oRdVM62ZEsnpWEjchJb46geHQTVt4e5nSshg80iU7dA,1602
27
+ cuenca_validations-2.1.16.dev100.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ cuenca_validations-2.1.16.dev100.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
29
+ cuenca_validations-2.1.16.dev100.dist-info/RECORD,,
tests/test_requests.py CHANGED
@@ -1,7 +1,11 @@
1
1
  import pytest
2
2
  from pydantic import ValidationError
3
3
 
4
- from cuenca_validations.types.requests import UserTOSAgreementRequest
4
+ from cuenca_validations.types.enums import SessionType
5
+ from cuenca_validations.types.requests import (
6
+ SessionRequest,
7
+ UserTOSAgreementRequest,
8
+ )
5
9
  from cuenca_validations.typing import DictStrAny
6
10
 
7
11
 
@@ -29,3 +33,38 @@ def test_file_cuenca_url_invalid() -> None:
29
33
  )
30
34
  with pytest.raises(ValidationError):
31
35
  UserTOSAgreementRequest(**request_data)
36
+
37
+
38
+ def test_session_request_without_metadata():
39
+ request_data = {
40
+ 'user_id': 'USWqY5cvkISJOxHyEKjAKf8w',
41
+ 'type': 'session.curp_validation',
42
+ }
43
+ request = SessionRequest(**request_data)
44
+ assert request.type == SessionType.curp_validation
45
+ assert request.user_id == 'USWqY5cvkISJOxHyEKjAKf8w'
46
+
47
+
48
+ def test_session_request_with_metadata():
49
+ request_data = {
50
+ 'user_id': 'USWqY5cvkISJOxHyEKjAKf8w',
51
+ 'type': 'session.metamap_verification',
52
+ 'metadata': {'verification_id': 'some_verification'},
53
+ }
54
+ request = SessionRequest(**request_data)
55
+ assert request.type == SessionType.metamap_verification
56
+ assert request.user_id == 'USWqY5cvkISJOxHyEKjAKf8w'
57
+ assert request.metadata
58
+ assert request.metadata['verification_id'] == 'some_verification'
59
+
60
+
61
+ def test_metamap_session_request_without_metadata():
62
+ request_data = {
63
+ 'user_id': 'USWqY5cvkISJOxHyEKjAKf8w',
64
+ 'type': 'session.metamap_verification',
65
+ }
66
+
67
+ with pytest.raises(ValidationError) as exception:
68
+ SessionRequest(**request_data)
69
+
70
+ assert 'Metadata expected for this session' in str(exception)