cuenca 2.1.2.dev4__py3-none-any.whl → 2.1.3__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.
cuenca/__init__.py CHANGED
@@ -20,7 +20,6 @@ __all__ = [
20
20
  'Identity',
21
21
  'IdentityEvent',
22
22
  'KYCValidation',
23
- 'KYCVerification',
24
23
  'LimitedWallet',
25
24
  'LoginToken',
26
25
  'Otp',
@@ -43,8 +42,6 @@ __all__ = [
43
42
  'configure',
44
43
  'get_balance',
45
44
  'JwtToken',
46
- 'TermsOfService',
47
- 'UserTOSAgreement',
48
45
  ]
49
46
 
50
47
  from . import http
@@ -70,7 +67,6 @@ from .resources import (
70
67
  IdentityEvent,
71
68
  JwtToken,
72
69
  KYCValidation,
73
- KYCVerification,
74
70
  LimitedWallet,
75
71
  LoginToken,
76
72
  Otp,
@@ -80,14 +76,12 @@ from .resources import (
80
76
  ServiceProvider,
81
77
  Session,
82
78
  Statement,
83
- TermsOfService,
84
79
  Transfer,
85
80
  User,
86
81
  UserCredential,
87
82
  UserEvent,
88
83
  UserListsValidation,
89
84
  UserLogin,
90
- UserTOSAgreement,
91
85
  Verification,
92
86
  WalletTransaction,
93
87
  Webhook,
@@ -19,7 +19,6 @@ __all__ = [
19
19
  'Identity',
20
20
  'IdentityEvent',
21
21
  'KYCValidation',
22
- 'KYCVerification',
23
22
  'LimitedWallet',
24
23
  'LoginToken',
25
24
  'Otp',
@@ -39,8 +38,6 @@ __all__ = [
39
38
  'Webhook',
40
39
  'WhatsappTransfer',
41
40
  'JwtToken',
42
- 'TermsOfService',
43
- 'UserTOSAgreement',
44
41
  ]
45
42
 
46
43
  from .accounts import Account
@@ -64,7 +61,6 @@ from .identities import Identity
64
61
  from .identity_events import IdentityEvent
65
62
  from .jwt_tokens import JwtToken
66
63
  from .kyc_validations import KYCValidation
67
- from .kyc_verifications import KYCVerification
68
64
  from .limited_wallets import LimitedWallet
69
65
  from .login_tokens import LoginToken
70
66
  from .otps import Otp
@@ -75,13 +71,11 @@ from .savings import Saving
75
71
  from .service_providers import ServiceProvider
76
72
  from .sessions import Session
77
73
  from .statements import Statement
78
- from .terms_of_services import TermsOfService
79
74
  from .transfers import Transfer
80
75
  from .user_credentials import UserCredential
81
76
  from .user_events import UserEvent
82
77
  from .user_lists_validation import UserListsValidation
83
78
  from .user_logins import UserLogin
84
- from .user_tos_agreements import UserTOSAgreement
85
79
  from .users import User
86
80
  from .verifications import Verification
87
81
  from .wallet_transactions import WalletTransaction
@@ -110,7 +104,6 @@ resource_classes = [
110
104
  Identity,
111
105
  IdentityEvent,
112
106
  KYCValidation,
113
- KYCVerification,
114
107
  LimitedWallet,
115
108
  LoginToken,
116
109
  Questionnaires,
@@ -130,8 +123,6 @@ resource_classes = [
130
123
  Webhook,
131
124
  Platform,
132
125
  JwtToken,
133
- TermsOfService,
134
- UserTOSAgreement,
135
126
  ]
136
127
  for resource_cls in resource_classes:
137
128
  RESOURCES[resource_cls._resource] = resource_cls # type: ignore
@@ -1,6 +1,6 @@
1
1
  from typing import ClassVar, Optional
2
2
 
3
- from cuenca_validations.types import KYCFile, KYCValidationRequest
3
+ from cuenca_validations.types import KYCValidationRequest, KYCValidationSource
4
4
  from pydantic import ConfigDict
5
5
 
6
6
  from ..http import Session, session as global_session
@@ -10,19 +10,25 @@ from .base import Creatable, Queryable, Retrievable
10
10
  class KYCValidation(Creatable, Retrievable, Queryable):
11
11
  _resource: ClassVar = 'kyc_validations'
12
12
  platform_id: str
13
- attemps: Optional[int] = None
14
- verification_id: Optional[str] = None
13
+ user_id: str
14
+ source_type: KYCValidationSource
15
+ flow_id: str
15
16
  files_uri: Optional[list[str]] = None
17
+ verification_id: Optional[str] = None
18
+ identity_id: Optional[str] = None
16
19
 
17
20
  model_config = ConfigDict(
18
21
  json_schema_extra={
19
22
  'example': {
20
23
  'id': 'KVNEUInh69SuKXXmK95sROwQ',
21
- 'platform_id': 'PT8UEv02zBTcymd4Kd3MO6pg',
22
24
  'created_at': '2020-05-24T14:15:22Z',
23
- 'verification_id': 'string',
25
+ 'platform_id': 'PT-1234567890',
26
+ 'user_id': 'US-1234567890',
27
+ 'source_type': 'server',
28
+ 'flow_id': '123e4567-e89b-12d3-a456-426614174000',
24
29
  'files_uri': ['cuenca.com/files/id', 'cuenca.com/files/id2'],
25
- 'attemps': '1',
30
+ 'verification_id': 'metamap-verification-id',
31
+ 'identity_id': 'metamap-identity-id',
26
32
  }
27
33
  }
28
34
  )
@@ -31,13 +37,13 @@ class KYCValidation(Creatable, Retrievable, Queryable):
31
37
  def create(
32
38
  cls,
33
39
  user_id: str,
40
+ source_type: KYCValidationSource,
34
41
  force: bool = False,
35
- documents: list[KYCFile] = [],
36
42
  session: Session = global_session,
37
43
  ) -> 'KYCValidation':
38
44
  req = KYCValidationRequest(
39
45
  user_id=user_id,
40
46
  force=force,
41
- documents=documents,
47
+ source_type=source_type,
42
48
  )
43
49
  return cls._create(**req.model_dump(), session=session)
@@ -17,6 +17,18 @@ class UserListsValidation(Creatable, Retrievable):
17
17
  curp: Optional[Curp] = None
18
18
  account_number: Optional[str] = None
19
19
  status: Optional[VerificationStatus] = None
20
+ response: Optional[dict] = None
21
+
22
+ @property
23
+ def ppe_matches(self) -> list[dict]:
24
+ if not self.response or 'persons' not in self.response:
25
+ return []
26
+
27
+ return [
28
+ person
29
+ for person in self.response['persons']
30
+ if person.get('lista') == 'PPE'
31
+ ]
20
32
 
21
33
  @classmethod
22
34
  def create(
cuenca/version.py CHANGED
@@ -1,3 +1,3 @@
1
- __version__ = '2.1.2.dev4'
1
+ __version__ = '2.1.3'
2
2
  CLIENT_VERSION = __version__
3
3
  API_VERSION = '2020-03-19'
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: cuenca
3
- Version: 2.1.2.dev4
3
+ Version: 2.1.3
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -16,7 +16,7 @@ Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: requests>=2.32.0
19
- Requires-Dist: cuenca-validations>=2.1.0
19
+ Requires-Dist: cuenca-validations>=2.1.5
20
20
  Requires-Dist: pydantic-extra-types>=2.10.0
21
21
  Dynamic: author
22
22
  Dynamic: author-email
@@ -24,6 +24,7 @@ Dynamic: classifier
24
24
  Dynamic: description
25
25
  Dynamic: description-content-type
26
26
  Dynamic: home-page
27
+ Dynamic: license-file
27
28
  Dynamic: requires-dist
28
29
  Dynamic: requires-python
29
30
  Dynamic: summary
@@ -1,11 +1,11 @@
1
- cuenca/__init__.py,sha256=3vdbxgKHTcasyNd79-pWouw79PpMKJC6VBjQlWI1Yvo,1878
1
+ cuenca/__init__.py,sha256=RM0mtsXTTe6egPaHFPE7QElKfi7pm9RQBAWMee3N1Pw,1746
2
2
  cuenca/exc.py,sha256=r_lL03-JS0AsXw71wuNbiwNYLHNDagM56tRxpYyK6Lw,601
3
3
  cuenca/jwt.py,sha256=plB2ttHPZnL0xq3gqubw_Jjtj1QYG2E5bk99N3cn5zg,1502
4
4
  cuenca/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- cuenca/version.py,sha256=_K3pm996wGgwCy-2nWTdmj662LNWuAuAjVGVA197pgc,83
5
+ cuenca/version.py,sha256=8hxUUbsq7okBADiI7WpKuG17nTITR2fsfj82U-BRAB0,78
6
6
  cuenca/http/__init__.py,sha256=V5TG6Ro9d3VY7umzcbtanmvHlGkv-k71H0tqrdMyH-s,49
7
7
  cuenca/http/client.py,sha256=psXJiSgd3SUSJ5jwvhdBWsVMNadenG353BNVXdh7HMY,4168
8
- cuenca/resources/__init__.py,sha256=lL9O7kZnmW37sAOwtc5l4df1G4TrGc9KG-nrYFKK2W0,3266
8
+ cuenca/resources/__init__.py,sha256=6EF_HDxcJUBMmdbx00DsYDOMDhi5JGIOExkhPK9DbIY,2991
9
9
  cuenca/resources/accounts.py,sha256=5yfNxAHpxWFosoR4WrPrDGpBCRkaQk98V-w0wCPPXqU,345
10
10
  cuenca/resources/api_keys.py,sha256=p65ZUiAu51JhEL_fZDc7_DTR0PMcSa-YQeK9gRFY82s,2618
11
11
  cuenca/resources/arpc.py,sha256=a9gGIgpBV8RK2ePSPBxI5c4ET4MtKH6Po_HRiv73B5k,1689
@@ -27,8 +27,7 @@ cuenca/resources/files.py,sha256=WZYRo76fIGXNXk2HzA252dSdIdA4bl3EjB6q0bb6BFg,183
27
27
  cuenca/resources/identities.py,sha256=IdL495eTjx_2gDRxM9oG_QmDNOwaY7Nv9gzqeZu_Wdk,1092
28
28
  cuenca/resources/identity_events.py,sha256=K1G6IEGlw6n482nZhBo_CJNBdpKFCO6duMQr5y9k4x8,374
29
29
  cuenca/resources/jwt_tokens.py,sha256=NSFLMcWKPZLcVR6g8X-RIQ9e4i7VDoQvrkp3GLiapEc,952
30
- cuenca/resources/kyc_validations.py,sha256=1G_dr6e1mpLUlqT9RmBgiC06eh0vQjMzosM5w3ZCQoE,1322
31
- cuenca/resources/kyc_verifications.py,sha256=ysvVS9zdvFZ1Wyh2G_cr_IMwYeLW5BRLVyAt46hTk4g,1563
30
+ cuenca/resources/kyc_validations.py,sha256=xxbdztNRD7A3vleZ637TjeGPPK7Ei2waashsm1zgqvI,1596
32
31
  cuenca/resources/limited_wallets.py,sha256=Z3pKMRmMFTAaCw-KdzGSWfYFHCpy-ZrBwOmalVfSdRU,1049
33
32
  cuenca/resources/login_tokens.py,sha256=vxRWqQznxdEUK0R80k0qC0BkTSZwZgUsC2neX8TTd8Q,799
34
33
  cuenca/resources/otps.py,sha256=dZEwns98N8uUtRBFCu6Qs6ySHARU9v3zTF6T5rpF43M,711
@@ -39,18 +38,17 @@ cuenca/resources/savings.py,sha256=3DBP1ygxhcScDpLvAQS_fF5chljyDTz4xwnltI0LCAg,1
39
38
  cuenca/resources/service_providers.py,sha256=x-FNcyiUkdUsNCGudyLGYDbRkD2jPj8-T8U3IumxTVQ,310
40
39
  cuenca/resources/sessions.py,sha256=lWphgjG9SZl81ik7c9tuAI6OE4JUOF0ZfRBvmf4vwyQ,1764
41
40
  cuenca/resources/statements.py,sha256=PqMvhoE9cvBneXjaS7w4JnTzYdDakkCkbdNYrd7b8LI,282
42
- cuenca/resources/terms_of_services.py,sha256=8Od1xYqMaW20R7zSO19Z4q5M2sMnV9pg2l2qxHsMjXY,462
43
41
  cuenca/resources/transfers.py,sha256=v742SAGUIZfvYHfCNtk0hSm2uyhMGh00RbHIIJiqLzQ,3201
44
42
  cuenca/resources/user_credentials.py,sha256=glpxUa5-aYhgJ1ZG1g_c1PAWaQ9eEWP01lauBaccSQQ,1356
45
43
  cuenca/resources/user_events.py,sha256=L57v7clStwxyJX2vwe-357uRTrzeQglDpCCgXRg7v9Y,728
46
- cuenca/resources/user_lists_validation.py,sha256=eOADDHKg-RthgeO50Edh4VQtQcNl2tHvdmXMYuGpsCA,1275
44
+ cuenca/resources/user_lists_validation.py,sha256=UrInfZRUVd4nODBIBOTH8ALEZ3pvdYS2_xfFR7UeNrc,1595
47
45
  cuenca/resources/user_logins.py,sha256=KDauv2c5BJUR-C5ZeIjAPsv-8VH11BhoT-wCU9KgrwY,1542
48
- cuenca/resources/user_tos_agreements.py,sha256=IjN7IjRHeAjGtw08mkb4NI8aG1tWEQbZQ2xucOf6LTI,503
49
46
  cuenca/resources/users.py,sha256=3qb0-_3KBQCooqFUrknQ28ywU2v7s4JMudrd65z5Q-0,6321
50
47
  cuenca/resources/verifications.py,sha256=YyvSh5IpiJ02lHK8k-guTwoHSFoaMYSFk1aC2tPi7n0,1680
51
48
  cuenca/resources/wallet_transactions.py,sha256=8ePZI3-GaEd658GPYizAfHK9GVwlkt1r95-mEb7T3Jg,1030
52
49
  cuenca/resources/webhooks.py,sha256=bGjuvkSP3GXo4Q6v8iZ40Md8xc4AQrEmAD3r40VJqxM,392
53
50
  cuenca/resources/whatsapp_transfers.py,sha256=YSL606FBOMGKjhyKK5TiF0di96zdDKoiVtjiz_Zl_ZI,902
51
+ cuenca-2.1.3.dist-info/licenses/LICENSE,sha256=aWv5PmUiAcNENEAdghcVQSeU56pXJHWexJYgklK9XLg,1063
54
52
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
53
  tests/conftest.py,sha256=xrQtFNkqWG4KG35HorTD5N3-QUL98CAXqmLxu93haKI,1769
56
54
  tests/test_cuenca.py,sha256=aeha_utz9YiHQg6eJK2PB7g66pVUYFi9U6pYMGXDKvk,1628
@@ -79,8 +77,7 @@ tests/resources/test_files.py,sha256=2VSlvYnGHrw--mYNvA6hlpEw-olbW_Hlq2d4vdn8v7M
79
77
  tests/resources/test_identities.py,sha256=0osumiLrzKkGG4XLlL4nIdSp_nGutHaPf55w_IVREps,454
80
78
  tests/resources/test_identity_events.py,sha256=BZlM2RXKtCORdTDQCemY3NAR3KWb3mPNql4sd6oU4-U,344
81
79
  tests/resources/test_jwt_tokens.py,sha256=DnZS_kEGhtnb0KWFh9W0tJIiCvo_u1A3iXcu2h3z5WA,184
82
- tests/resources/test_kyc_validations.py,sha256=TEyS6encW-InRpcAR4nDCfmkqqnn8yMC9AaS3iWm8Xw,420
83
- tests/resources/test_kyc_verifications.py,sha256=Y-ZU61o18I_3NFqMN2w4WGZTzwsIhULAtESqIXiizUY,634
80
+ tests/resources/test_kyc_validations.py,sha256=Cn_aiGUNSWFrptTQtgS8HhbK-50QEq_Qor2UMW8XuEU,540
84
81
  tests/resources/test_limited_wallets.py,sha256=c0zDDOip3lJk8chbcGr_nWCdkO9yuL_HbD1IikR5jH4,527
85
82
  tests/resources/test_login_tokens.py,sha256=kn0gXFOanIXjgKjbeOzfNyKsGAUkc2iKnuVmzIRaMD8,572
86
83
  tests/resources/test_otps.py,sha256=IpCczDNRL_WaWwc1rYbSRmtWMR7GMa-Pfbq2TZcZQDw,616
@@ -94,15 +91,14 @@ tests/resources/test_statements.py,sha256=e9S_yn5kD6M8IpfpRmIOJ0Y6aggBkYWQxynY6P
94
91
  tests/resources/test_transfers.py,sha256=bW3igYOdYPDiZtLr8WVIYwfP-dV4sdJ9pbaXFps2ac8,4161
95
92
  tests/resources/test_user_credentials.py,sha256=pJkIMIN4yMkj7AlaBMjI-e2O1YIoFWAh4r9C489GT7s,815
96
93
  tests/resources/test_user_events.py,sha256=aPTyrEVF7jBD8-UQZeVOLbUmj9sni0JRCYgootmaQ8c,292
97
- tests/resources/test_user_lists_validation.py,sha256=-aHXS13o6mqbDsiWlprfyWzPbhMK3s0Qvk0G0zAhUfA,711
94
+ tests/resources/test_user_lists_validation.py,sha256=sZkjCYkySbWtOxM9NVSzZHaoOhXS7N0XD4buD3dke5E,1196
98
95
  tests/resources/test_user_logins.py,sha256=YLIZiFsR9tBv1fNH-lIpIMtvGY_7NHGQpMBFVuEFj6c,988
99
96
  tests/resources/test_users.py,sha256=AkUvk4Jdg4mM3dxvYR17jlc_z3WslIH1OLDqNDoTcc4,3223
100
97
  tests/resources/test_verifications.py,sha256=yyL-bdryQU3MvqnmAgnnzGG9t7UTxWwPiVu-cDSCjl4,1647
101
98
  tests/resources/test_wallet_transactions.py,sha256=_L2hjPHT4FwwhxksUoaoVHwFFYOGWfF4ScCbk0kb7Hw,3945
102
99
  tests/resources/test_webhooks.py,sha256=nYCqAnlNJcMJKRHhgoHOWTQnFLWQHHvFyY8GVCxGTD8,328
103
100
  tests/resources/test_whatsapp_transfers.py,sha256=4Dmrsbytx7LRrLQo9M8TAL7cGKJufPStkp51UdRCnYU,1030
104
- cuenca-2.1.2.dev4.dist-info/LICENSE,sha256=aWv5PmUiAcNENEAdghcVQSeU56pXJHWexJYgklK9XLg,1063
105
- cuenca-2.1.2.dev4.dist-info/METADATA,sha256=yM5wdAijS60UL0gepTJbJI9AeCxg3xfM0ltzF6GVfcQ,4966
106
- cuenca-2.1.2.dev4.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
107
- cuenca-2.1.2.dev4.dist-info/top_level.txt,sha256=5h3K7XJTmJniDloPq4sIJHni_xLw-Uoc6ZJ5mcw_lZY,13
108
- cuenca-2.1.2.dev4.dist-info/RECORD,,
101
+ cuenca-2.1.3.dist-info/METADATA,sha256=Qyx2ka3fQQIXO922AP6OXAz8dlk32_oQV88smlpL0Lo,4983
102
+ cuenca-2.1.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
103
+ cuenca-2.1.3.dist-info/top_level.txt,sha256=5h3K7XJTmJniDloPq4sIJHni_xLw-Uoc6ZJ5mcw_lZY,13
104
+ cuenca-2.1.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,11 +1,15 @@
1
1
  import pytest
2
+ from cuenca_validations.types import KYCValidationSource
2
3
 
3
4
  from cuenca import KYCValidation
4
5
 
5
6
 
6
7
  @pytest.mark.vcr
7
8
  def test_validation_create():
8
- kyc_validation: KYCValidation = KYCValidation.create(user_id="USFOOBAR")
9
+ kyc_validation: KYCValidation = KYCValidation.create(
10
+ user_id="USFOOBAR",
11
+ source_type=KYCValidationSource.server,
12
+ )
9
13
  assert kyc_validation.id
10
14
  assert kyc_validation.verification_id
11
15
 
@@ -5,10 +5,24 @@ from cuenca.exc import CuencaResponseException
5
5
  from cuenca.resources import UserListsValidation
6
6
 
7
7
 
8
+ @pytest.mark.vcr
9
+ def test_create_user_validation_with_response():
10
+ user_validation = UserListsValidation.create(
11
+ curp='LOBR810330HTCPLM05',
12
+ names='José Ramón',
13
+ first_surname='López',
14
+ second_surname='Beltrán',
15
+ )
16
+ assert user_validation.status == VerificationStatus.rejected
17
+ assert len(user_validation.ppe_matches) == 1
18
+ assert user_validation.ppe_matches[0]['parentesco'] == 'HIJO'
19
+
20
+
8
21
  @pytest.mark.vcr
9
22
  def test_create_user_validation(user_lists_request):
10
23
  user_validation = UserListsValidation.create(**user_lists_request)
11
24
  assert user_validation.status == VerificationStatus.succeeded
25
+ assert len(user_validation.ppe_matches) == 0
12
26
  assert user_validation.id
13
27
 
14
28
 
@@ -1,53 +0,0 @@
1
- import datetime as dt
2
- from typing import ClassVar, Optional
3
-
4
- from cuenca_validations.types import (
5
- Address,
6
- Curp,
7
- KYCVerificationUpdateRequest,
8
- Rfc,
9
- )
10
- from pydantic import ConfigDict
11
-
12
- from ..http import Session, session as global_session
13
- from .base import Creatable, Retrievable, Updateable
14
-
15
-
16
- class KYCVerification(Creatable, Retrievable, Updateable):
17
- _resource: ClassVar = 'kyc_verifications'
18
-
19
- platform_id: str
20
- created_at: dt.datetime
21
- deactivated_at: Optional[dt.datetime] = None
22
- verification_id: Optional[str] = None
23
- curp: Optional[Curp] = None
24
- rfc: Optional[Rfc] = None
25
- address: Optional[Address] = None
26
-
27
- model_config = ConfigDict(
28
- json_schema_extra={
29
- 'example': {
30
- 'id': 'KVNEUInh69SuKXXmK95sROwQ',
31
- 'updated_at': '2020-05-24T14:15:22Z',
32
- 'platform_id': 'PT8UEv02zBTcymd4Kd3MO6pg',
33
- 'created_at': '2020-05-24T14:15:22Z',
34
- 'verification_id': 'string',
35
- 'curp': 'GOCG650418HVZNML08',
36
- 'rfc': 'GOCG650418123',
37
- 'address': Address.schema().get('example'),
38
- }
39
- }
40
- )
41
-
42
- @classmethod
43
- def create(cls, session: Session = global_session) -> 'KYCVerification':
44
- return cls._create(session=session)
45
-
46
- @classmethod
47
- def update(
48
- cls,
49
- kyc_id: str,
50
- curp: Optional[Curp] = None,
51
- ) -> 'KYCVerification':
52
- req = KYCVerificationUpdateRequest(curp=curp)
53
- return cls._update(id=kyc_id, **req.model_dump())
@@ -1,18 +0,0 @@
1
- import datetime as dt
2
- from typing import ClassVar
3
-
4
- from cuenca_validations.types import TermsOfService as TermsOfServiceEnum
5
- from cuenca_validations.types.general import SerializableHttpUrl
6
-
7
- from .base import Queryable, Retrievable
8
-
9
-
10
- class TermsOfService(Retrievable, Queryable):
11
- _resource: ClassVar = 'terms_of_services'
12
-
13
- id: str
14
- is_active: bool
15
- created_at: dt.datetime
16
- type: TermsOfServiceEnum
17
- version: str
18
- uri: SerializableHttpUrl
@@ -1,21 +0,0 @@
1
- import datetime as dt
2
- from typing import ClassVar
3
-
4
- from cuenca_validations.types import TermsOfService
5
- from cuenca_validations.types.general import SerializableHttpUrl
6
-
7
- from .base import Creatable, Queryable, Retrievable
8
-
9
-
10
- class UserTOSAgreement(Creatable, Retrievable, Queryable):
11
- _resource: ClassVar = 'user_tos_agreements'
12
-
13
- id: str
14
- created_at: dt.datetime
15
- user_id: str
16
- type: TermsOfService
17
- version: str
18
- ip: str
19
- location: str
20
- hash: str
21
- url: SerializableHttpUrl
@@ -1,25 +0,0 @@
1
- import pytest
2
-
3
- from cuenca import KYCVerification
4
-
5
-
6
- @pytest.mark.vcr
7
- def test_kyc_verification_create():
8
- kyc_verification: KYCVerification = KYCVerification.create()
9
- assert kyc_verification.id
10
-
11
-
12
- @pytest.mark.vcr
13
- def test_kyc_verification_retrieve():
14
- kyc_verification = KYCVerification.retrieve('KYC01')
15
- assert kyc_verification.id
16
-
17
-
18
- @pytest.mark.vcr
19
- def test_kyc_verification_update():
20
- kyc_id = 'KYC01'
21
- changes = dict(curp='HEMA921130HNERNN05')
22
- kyc_verification = KYCVerification.update(kyc_id, **changes)
23
- assert all(
24
- item in kyc_verification.to_dict().items() for item in changes.items()
25
- )