cuenca 2.1.10.dev2__tar.gz → 2.1.11__tar.gz

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.
Files changed (118) hide show
  1. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/PKG-INFO +1 -1
  2. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/sessions.py +4 -0
  3. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/version.py +1 -1
  4. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca.egg-info/PKG-INFO +1 -1
  5. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/conftest.py +24 -1
  6. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_sessions.py +35 -2
  7. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/LICENSE +0 -0
  8. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/README.md +0 -0
  9. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/__init__.py +0 -0
  10. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/exc.py +0 -0
  11. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/http/__init__.py +0 -0
  12. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/http/client.py +0 -0
  13. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/jwt.py +0 -0
  14. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/py.typed +0 -0
  15. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/__init__.py +0 -0
  16. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/accounts.py +0 -0
  17. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/api_keys.py +0 -0
  18. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/arpc.py +0 -0
  19. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/balance_entries.py +0 -0
  20. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/base.py +0 -0
  21. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/bill_payments.py +0 -0
  22. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/card_activations.py +0 -0
  23. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/card_transactions.py +0 -0
  24. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/card_validations.py +0 -0
  25. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/cards.py +0 -0
  26. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/cash_references.py +0 -0
  27. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/clabes.py +0 -0
  28. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/commissions.py +0 -0
  29. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/curp_validations.py +0 -0
  30. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/deposits.py +0 -0
  31. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/endpoints.py +0 -0
  32. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/exist_phones.py +0 -0
  33. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/file_batches.py +0 -0
  34. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/files.py +0 -0
  35. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/identities.py +0 -0
  36. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/identity_events.py +0 -0
  37. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/jwt_tokens.py +0 -0
  38. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/kyc_validations.py +0 -0
  39. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/limited_wallets.py +0 -0
  40. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/login_tokens.py +0 -0
  41. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/otps.py +0 -0
  42. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/phone_verification_associations.py +0 -0
  43. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/platforms.py +0 -0
  44. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/postal_codes.py +0 -0
  45. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/questionnaires.py +0 -0
  46. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/resources.py +0 -0
  47. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/savings.py +0 -0
  48. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/service_providers.py +0 -0
  49. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/statements.py +0 -0
  50. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/terms_of_service.py +0 -0
  51. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/transfers.py +0 -0
  52. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/user_credentials.py +0 -0
  53. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/user_events.py +0 -0
  54. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/user_lists_validation.py +0 -0
  55. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/user_logins.py +0 -0
  56. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/users.py +0 -0
  57. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/users_tos_agreements.py +0 -0
  58. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/verifications.py +0 -0
  59. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/wallet_transactions.py +0 -0
  60. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/webhooks.py +0 -0
  61. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca/resources/whatsapp_transfers.py +0 -0
  62. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca.egg-info/SOURCES.txt +0 -0
  63. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca.egg-info/dependency_links.txt +0 -0
  64. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca.egg-info/requires.txt +0 -0
  65. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/cuenca.egg-info/top_level.txt +0 -0
  66. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/setup.cfg +0 -0
  67. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/setup.py +0 -0
  68. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/__init__.py +0 -0
  69. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/http/__init__.py +0 -0
  70. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/http/conftest.py +0 -0
  71. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/http/test_client.py +0 -0
  72. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/__init__.py +0 -0
  73. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_accounts.py +0 -0
  74. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_api_keys.py +0 -0
  75. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_arpc.py +0 -0
  76. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_balance_entries.py +0 -0
  77. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_bill_payments.py +0 -0
  78. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_card_activations.py +0 -0
  79. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_card_transactions.py +0 -0
  80. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_card_validations.py +0 -0
  81. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_cards.py +0 -0
  82. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_cash_references.py +0 -0
  83. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_clabes.py +0 -0
  84. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_commissions.py +0 -0
  85. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_curp_validations.py +0 -0
  86. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_deposits.py +0 -0
  87. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_endpoints.py +0 -0
  88. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_exist_phone.py +0 -0
  89. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_file_batches.py +0 -0
  90. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_files.py +0 -0
  91. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_identities.py +0 -0
  92. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_identity_events.py +0 -0
  93. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_jwt_tokens.py +0 -0
  94. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_kyc_validations.py +0 -0
  95. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_limited_wallets.py +0 -0
  96. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_login_tokens.py +0 -0
  97. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_otps.py +0 -0
  98. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_phone_verification_association.py +0 -0
  99. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_platforms.py +0 -0
  100. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_postal_codes.py +0 -0
  101. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_questionnaires.py +0 -0
  102. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_resources.py +0 -0
  103. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_savings.py +0 -0
  104. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_service_providers.py +0 -0
  105. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_statements.py +0 -0
  106. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_transfers.py +0 -0
  107. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_user_credentials.py +0 -0
  108. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_user_events.py +0 -0
  109. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_user_lists_validation.py +0 -0
  110. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_user_logins.py +0 -0
  111. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_users.py +0 -0
  112. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_users_tos_agreements.py +0 -0
  113. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_verifications.py +0 -0
  114. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_wallet_transactions.py +0 -0
  115. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_webhooks.py +0 -0
  116. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/resources/test_whatsapp_transfers.py +0 -0
  117. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/test_cuenca.py +0 -0
  118. {cuenca-2.1.10.dev2 → cuenca-2.1.11}/tests/test_jwt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca
3
- Version: 2.1.10.dev2
3
+ Version: 2.1.11
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -20,6 +20,7 @@ class Session(Creatable, Retrievable, Queryable):
20
20
  success_url: Optional[SerializableAnyUrl] = None
21
21
  failure_url: Optional[SerializableAnyUrl] = None
22
22
  type: Optional[SessionType] = None
23
+ resource_id: Optional[str] = None
23
24
 
24
25
  model_config = ConfigDict(
25
26
  json_schema_extra={
@@ -32,6 +33,7 @@ class Session(Creatable, Retrievable, Queryable):
32
33
  'success_url': 'http://example_success.com',
33
34
  'failure_url': 'http://example_failure.com',
34
35
  'type': 'session.registration',
36
+ 'resource_id': 'some_resource_id',
35
37
  }
36
38
  }
37
39
  )
@@ -43,6 +45,7 @@ class Session(Creatable, Retrievable, Queryable):
43
45
  type: SessionType,
44
46
  success_url: Optional[str] = None,
45
47
  failure_url: Optional[str] = None,
48
+ resource_id: Optional[str] = None,
46
49
  *,
47
50
  session: http.Session = http.session,
48
51
  ) -> 'Session':
@@ -51,5 +54,6 @@ class Session(Creatable, Retrievable, Queryable):
51
54
  type=type,
52
55
  success_url=success_url,
53
56
  failure_url=failure_url,
57
+ resource_id=resource_id,
54
58
  )
55
59
  return cls._create(session=session, **req.model_dump())
@@ -1,3 +1,3 @@
1
- __version__ = '2.1.10.dev2'
1
+ __version__ = '2.1.11'
2
2
  CLIENT_VERSION = __version__
3
3
  API_VERSION = '2020-03-19'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca
3
- Version: 2.1.10.dev2
3
+ Version: 2.1.11
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -1,11 +1,14 @@
1
1
  import datetime as dt
2
2
  from io import BytesIO
3
+ from typing import Generator
3
4
 
4
5
  import pytest
5
- from cuenca_validations.types import Country, Gender, State
6
+ from cuenca_validations.types import Country, Gender, SessionType, State
6
7
  from cuenca_validations.types.enums import Profession
7
8
 
8
9
  import cuenca
10
+ from cuenca.http import Session as ClientSession
11
+ from cuenca.resources.sessions import Session
9
12
 
10
13
  cuenca.configure(sandbox=True)
11
14
 
@@ -76,3 +79,23 @@ def user_lists_request() -> dict:
76
79
  def file() -> BytesIO:
77
80
  with open('tests/data/test_file.jpeg', 'rb') as image_file:
78
81
  return BytesIO(image_file.read())
82
+
83
+
84
+ @pytest.fixture
85
+ def session_with_resource_id() -> Generator[Session]:
86
+ session = Session.create(
87
+ 'USPR4JxMuwSG60u2h4gBpB6Q',
88
+ SessionType.onboarding_verification,
89
+ resource_id='68b887f60c33abad1ea841d3',
90
+ )
91
+ yield session
92
+
93
+
94
+ @pytest.fixture
95
+ def client_authed_with_session(
96
+ session_with_resource_id: Session,
97
+ ) -> Generator[ClientSession]:
98
+ client = ClientSession()
99
+ client.configure(session_token=session_with_resource_id.id, sandbox=True)
100
+ client.basic_auth = ('', '')
101
+ yield client
@@ -2,7 +2,8 @@ import pytest
2
2
  from cuenca_validations.types import Profession, SessionType
3
3
  from pydantic import ValidationError
4
4
 
5
- import cuenca
5
+ from cuenca.exc import CuencaResponseException
6
+ from cuenca.http import Session as ClientSession
6
7
  from cuenca.resources import CurpValidation, Session, User
7
8
 
8
9
 
@@ -33,8 +34,40 @@ def test_session_create(curp_validation_request: dict, user_request: dict):
33
34
  assert user_session.user_id == user.id
34
35
  assert user_session.type == SessionType.registration
35
36
 
36
- ephimeral_cuenca_session = cuenca.http.Session()
37
+ ephimeral_cuenca_session = ClientSession()
37
38
  ephimeral_cuenca_session.configure(session_token=user_session.id)
38
39
 
39
40
  user = User.update(user.id, profession=Profession.comercio)
40
41
  assert user.profession == Profession.comercio
42
+
43
+
44
+ @pytest.mark.vcr
45
+ def test_session_create_with_resource_id(
46
+ session_with_resource_id: Session,
47
+ ) -> None:
48
+ assert session_with_resource_id.user_id == 'USPR4JxMuwSG60u2h4gBpB6Q'
49
+ assert session_with_resource_id.resource_id == '68b887f60c33abad1ea841d3'
50
+
51
+
52
+ @pytest.mark.vcr
53
+ def test_session_with_resource_id_authorized(
54
+ client_authed_with_session: ClientSession,
55
+ ) -> None:
56
+ resource_id = '68b887f60c33abad1ea841d3'
57
+ response = client_authed_with_session.get(
58
+ f'onboarding_verifications/{resource_id}'
59
+ )
60
+
61
+ assert response['gov_id_document_number'] == '267202610'
62
+
63
+
64
+ @pytest.mark.vcr
65
+ def test_session_with_resource_id_unauthorized(
66
+ client_authed_with_session: ClientSession,
67
+ ) -> None:
68
+ resource_id = '68b887f60c33abad1ea841d4'
69
+ with pytest.raises(CuencaResponseException) as e:
70
+ client_authed_with_session.get(
71
+ f'onboarding_verifications/{resource_id}'
72
+ )
73
+ assert e.value.json['error'] == 'User has not enough permissions'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes