Skip to content

Commit d2b3daa

Browse files
author
Kevin Hellemun
committed
Fixed failing tests. (#75)
1 parent 302a829 commit d2b3daa

11 files changed

+126
-192
lines changed
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from bunq.sdk.exception import ApiException
2-
from bunq.sdk.model.generated.endpoint import UserPerson
2+
from bunq.sdk.model.generated.endpoint import MonetaryAccountBank
33
from tests.bunq_test import BunqSdkTestCase
4+
from bunq.sdk.context import BunqContext
45

56

67
class TestPagination(BunqSdkTestCase):
@@ -9,16 +10,13 @@ class TestPagination(BunqSdkTestCase):
910
successfully.
1011
"""
1112

12-
_INVALID_USER_PERSON_ID = 0
13+
_INVALID_MONETARY_ACCOUNT_ID = 0
1314

1415
def test_bad_request_with_response_id(self):
1516
"""
1617
"""
18+
BunqContext.load_api_context(self._get_api_context())
1719

1820
with self.assertRaises(ApiException) as caught_exception:
19-
UserPerson.get(
20-
self._get_api_context(),
21-
self._INVALID_USER_PERSON_ID
22-
)
23-
21+
MonetaryAccountBank.get(self._INVALID_MONETARY_ACCOUNT_ID)
2422
self.assertIsNotNone(caught_exception.exception.response_id)

tests/http/test_pagination_scenario.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from bunq.sdk import client
2+
from bunq.sdk.context import BunqContext
23
from bunq.sdk.json import converter
34
from bunq.sdk.model.generated import endpoint
45
from bunq.sdk.model.generated import object_
@@ -18,14 +19,15 @@ def setUpClass(cls):
1819
cls._MONETARY_ACCOUNT_ID = Config.get_monetary_account_id_1()
1920
cls._COUNTER_PARTY_ALIAS_OTHER = \
2021
Config.get_pointer_counter_party_other()
21-
cls._API_CONTEXT = cls._get_api_context()
2222
cls._PAYMENT_LISTING_PAGE_SIZE = 2
2323
cls._PAYMENT_REQUIRED_COUNT_MINIMUM = cls._PAYMENT_LISTING_PAGE_SIZE * 2
2424
cls._NUMBER_ZERO = 0
2525
cls._PAYMENT_AMOUNT_EUR = '0.01'
2626
cls._PAYMENT_CURRENCY = 'EUR'
2727
cls._PAYMENT_DESCRIPTION = 'Python test Payment'
2828

29+
BunqContext.load_api_context(cls._get_api_context())
30+
2931
def test_api_scenario_payment_listing_with_pagination(self):
3032
self._ensure_enough_payments()
3133
payments_expected = self._payments_required()
@@ -65,7 +67,7 @@ def _payment_missing_count(self):
6567
"""
6668

6769
return self._PAYMENT_REQUIRED_COUNT_MINIMUM - \
68-
len(self._payments_required())
70+
len(self._payments_required())
6971

7072
def _payments_required(self):
7173
"""
@@ -84,22 +86,14 @@ def _list_payments(self, params):
8486
:rtype BunqResponse[list[Payment]]
8587
"""
8688

87-
return endpoint.Payment.list(self._API_CONTEXT, self._USER_ID,
88-
self._MONETARY_ACCOUNT_ID, params)
89+
return endpoint.Payment.list(params=params)
8990

9091
def _create_payment(self):
9192
"""
9293
:rtype: None
9394
"""
9495

95-
request_map = {
96-
endpoint.Payment.FIELD_AMOUNT:
97-
object_.Amount(self._PAYMENT_AMOUNT_EUR,
98-
self._PAYMENT_CURRENCY),
99-
endpoint.Payment.FIELD_DESCRIPTION: self._PAYMENT_DESCRIPTION,
100-
endpoint.Payment.FIELD_COUNTERPARTY_ALIAS:
101-
self._COUNTER_PARTY_ALIAS_OTHER,
102-
}
103-
104-
endpoint.Payment.create(self._API_CONTEXT, request_map,
105-
self._USER_ID, self._MONETARY_ACCOUNT_ID)
96+
endpoint.Payment.create(object_.Amount(self._PAYMENT_AMOUNT_EUR,
97+
self._PAYMENT_CURRENCY),
98+
self._COUNTER_PARTY_ALIAS_OTHER,
99+
self._PAYMENT_DESCRIPTION)

tests/model/generated/endpoint/test_attachment_public.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from bunq.sdk.client import ApiClient
2+
from bunq.sdk.context import BunqContext
23
from bunq.sdk.model.generated.endpoint import AttachmentPublic
34
from bunq.sdk.model.generated.endpoint import AttachmentPublicContent
45
from tests.bunq_test import BunqSdkTestCase
@@ -20,7 +21,8 @@ def setUpClass(cls):
2021
cls._CONTENT_TYPE = Config.get_attachment_content_type()
2122
cls._ATTACHMENT_DESCRIPTION = Config.get_attachment_description()
2223
cls._ATTACHMENT_PATH_IN = Config.get_attachment_path_in()
23-
cls._API_CONTEXT = cls._get_api_context()
24+
25+
BunqContext.load_api_context(cls._get_api_context())
2426

2527
def test_file_upload_and_retrieval(self):
2628
"""
@@ -35,14 +37,11 @@ def test_file_upload_and_retrieval(self):
3537
self._ATTACHMENT_DESCRIPTION,
3638
}
3739

38-
attachment_uuid = AttachmentPublic.create(self._API_CONTEXT,
39-
self.attachment_contents,
40+
attachment_uuid = AttachmentPublic.create(self.attachment_contents,
4041
custom_headers).value
4142

4243
contents_from_response = AttachmentPublicContent.list(
43-
self._API_CONTEXT,
44-
attachment_uuid
45-
).value
44+
attachment_uuid).value
4645

4746
self.assertEqual(self.attachment_contents, contents_from_response)
4847

tests/model/generated/endpoint/test_avatar.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,15 @@ def test_avatar_creation(self):
3636
ApiClient.HEADER_CONTENT_TYPE: self._CONTENT_TYPE
3737
}
3838
attachment_public_uuid = AttachmentPublic.create(
39-
self._API_CONTEXT,
40-
self.attachment_contents,
41-
custom_header
42-
).value
39+
self.attachment_contents, custom_header).value
4340

44-
avatar_map = {
45-
Avatar.FIELD_ATTACHMENT_PUBLIC_UUID: attachment_public_uuid
46-
}
47-
avatar_uuid = Avatar.create(self._API_CONTEXT, avatar_map).value
48-
attachment_uuid_after = Avatar.get(self._API_CONTEXT, avatar_uuid) \
41+
avatar_uuid = Avatar.create(attachment_public_uuid).value
42+
attachment_uuid_after = Avatar.get(avatar_uuid) \
4943
.value.image[self._FIRST_INDEX].attachment_public_uuid
5044

5145
file_contents_received = AttachmentPublicContent.list(
52-
self._API_CONTEXT, attachment_uuid_after
53-
).value
46+
attachment_uuid_after).value
47+
5448
self.assertEqual(self.attachment_contents, file_contents_received)
5549

5650
@property

tests/model/generated/endpoint/test_card_debit.py

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import random
22
import string
33

4+
from bunq.sdk.context import BunqContext
5+
from bunq.sdk.exception import BunqException
46
from bunq.sdk.model.generated.endpoint import Card
57
from bunq.sdk.model.generated.endpoint import CardDebit
68
from bunq.sdk.model.generated.endpoint import CardName
7-
from bunq.sdk.model.generated.endpoint import User
8-
from bunq.sdk.model.generated.object_ import Pointer
99
from bunq.sdk.model.generated.object_ import CardPinAssignment
10+
from bunq.sdk.model.generated.object_ import Pointer
1011
from tests.bunq_test import BunqSdkTestCase
1112
from tests.config import Config
1213

@@ -26,10 +27,11 @@ def setUpClass(cls):
2627
cls._SECOND_LINE_LENGTH_MAXIMUM = 20
2728
cls._STRING_EMPTY = ''
2829
cls._USER_ID = Config.get_user_id()
29-
cls._API_CONTEXT = cls._get_api_context()
3030
cls._MONETARY_ACCOUNT_ID = Config.get_monetary_account_id_1()
3131
cls._PIN_CODE_ASSIGNMENT_TYPE_PRIMARY = 'PRIMARY'
3232

33+
BunqContext.load_api_context(cls._get_api_context())
34+
3335
def test_order_debit_card(self):
3436
"""
3537
Tests ordering a new card and checks if the fields we have entered
@@ -45,15 +47,10 @@ def test_order_debit_card(self):
4547
self._MONETARY_ACCOUNT_ID
4648
)
4749

48-
card_debit_map = {
49-
CardDebit.FIELD_NAME_ON_CARD: self.card_name_allowed,
50-
CardDebit.FIELD_ALIAS: self.alias_first,
51-
CardDebit.FIELD_PIN_CODE_ASSIGNMENT: [pin_code_assignment],
52-
CardDebit.FIELD_SECOND_LINE: second_line
53-
}
54-
card_debit = CardDebit.create(self._API_CONTEXT, card_debit_map,
55-
self._USER_ID).value
56-
card = Card.get(self._API_CONTEXT, self._USER_ID, card_debit.id_).value
50+
card_debit = CardDebit.create(second_line, self.card_name_allowed,
51+
self.alias_first, 'MAESTRO',
52+
[pin_code_assignment]).value
53+
card = Card.get(card_debit.id_).value
5754

5855
self.assertEqual(self.card_name_allowed, card.name_on_card)
5956
self.assertEqual(second_line, card.second_line)
@@ -65,17 +62,25 @@ def alias_first(self):
6562
:rtype: Pointer
6663
"""
6764

68-
return User.list(self._API_CONTEXT).value[self._FIRST_INDEX] \
69-
.UserCompany.alias[self._FIRST_INDEX]
65+
if BunqContext.user_context().is_only_user_company_set():
66+
return BunqContext.user_context().user_company.alias[
67+
self._FIRST_INDEX]
68+
69+
if BunqContext.user_context().is_only_user_person_set():
70+
return BunqContext.user_context().user_person.alias[
71+
self._FIRST_INDEX]
72+
73+
raise BunqException('Could not determine user alias.')
7074

7175
@property
7276
def card_name_allowed(self):
7377
"""
7478
:rtype: str
7579
"""
7680

77-
return CardName.list(self._API_CONTEXT, self._USER_ID).value[
78-
self._FIRST_INDEX].possible_card_name_array[self._FIRST_INDEX]
81+
return \
82+
CardName.list().value[self._FIRST_INDEX].possible_card_name_array[
83+
self._FIRST_INDEX]
7984

8085
@property
8186
def second_line_random(self):

tests/model/generated/endpoint/test_draft_share_invite_bank.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from datetime import datetime
22
from datetime import timedelta
33

4+
from bunq.sdk.context import BunqContext
45
from bunq.sdk.model.generated.endpoint import DraftShareInviteBank
56
from bunq.sdk.model.generated.endpoint import DraftShareInviteBankQrCodeContent
6-
from bunq.sdk.model.generated.object_ import DraftShareInviteBankEntry
7+
from bunq.sdk.model.generated.object_ import DraftShareInviteEntry
78
from bunq.sdk.model.generated.object_ import ShareDetail
89
from bunq.sdk.model.generated.object_ import ShareDetailReadOnly
910
from tests.bunq_test import BunqSdkTestCase
@@ -23,7 +24,7 @@ def setUpClass(cls):
2324
cls._WRITE_BYTES = 'wb'
2425
cls._EXPIRATION_ADDED_TIME = 1
2526
cls._USER_ID = Config.get_user_id()
26-
cls._API_CONTEXT = cls._get_api_context()
27+
BunqContext.load_api_context(cls._get_api_context())
2728

2829
def test_draft_share_invite_bank(self):
2930
"""
@@ -34,20 +35,15 @@ def test_draft_share_invite_bank(self):
3435
without errors
3536
"""
3637

37-
read_only = ShareDetailReadOnly(True, True, True)
38-
share_detail = ShareDetail()
39-
share_detail.read_only = read_only
40-
share_settings = DraftShareInviteBankEntry(share_detail)
41-
draft_map = {
42-
DraftShareInviteBank.FIELD_DRAFT_SHARE_SETTINGS: share_settings,
43-
DraftShareInviteBank.FIELD_EXPIRATION: self.expiration_date
44-
}
45-
draft_id = DraftShareInviteBank.create(self._API_CONTEXT, draft_map,
46-
self._USER_ID).value
47-
48-
connect_qr = DraftShareInviteBankQrCodeContent.list(self._API_CONTEXT,
49-
self._USER_ID,
50-
draft_id).value
38+
share_detail = ShareDetail(
39+
read_only=ShareDetailReadOnly(True, True, True)
40+
)
41+
share_settings = DraftShareInviteEntry(share_detail)
42+
43+
draft_id = DraftShareInviteBank.create(self.expiration_date,
44+
share_settings).value
45+
46+
connect_qr = DraftShareInviteBankQrCodeContent.list(draft_id).value
5147

5248
with open(self._OUT_PUT_FILE_PATH, self._WRITE_BYTES) as f:
5349
f.write(connect_qr)
Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from secrets import token_hex
22

3+
from bunq.sdk.context import BunqContext
34
from bunq.sdk.model.generated.endpoint import MonetaryAccountBank
45
from tests.bunq_test import BunqSdkTestCase
56
from tests.config import Config
@@ -13,14 +14,14 @@ class TestMonetaryAccount(BunqSdkTestCase):
1314

1415
@classmethod
1516
def setUpClass(cls):
16-
cls._FIELD_STATUS = 'CANCELLED'
17-
cls._FIELD_SUB_STATUS = 'REDEMPTION_VOLUNTARY'
18-
cls._FIELD_REASON = 'OTHER'
19-
cls._FIELD_REASON_DESCRIPTION = 'Because this is a test'
20-
cls._FIELD_CURRENCY = 'EUR'
17+
cls._STATUS = 'CANCELLED'
18+
cls._SUB_STATUS = 'REDEMPTION_VOLUNTARY'
19+
cls._REASON = 'OTHER'
20+
cls._REASON_DESCRIPTION = 'Because this is a test'
21+
cls._CURRENCY = 'EUR'
2122
cls._MONETARY_ACCOUNT_PREFIX = 'Python_test'
2223
cls._USER_ID = Config.get_user_id()
23-
cls._API_CONTEXT = cls._get_api_context()
24+
BunqContext.load_api_context(cls._get_api_context())
2425

2526
def test_create_new_monetary_account(self):
2627
"""
@@ -31,21 +32,12 @@ def test_create_new_monetary_account(self):
3132
without errors
3233
"""
3334

34-
create_map = {
35-
MonetaryAccountBank.FIELD_CURRENCY: self._FIELD_CURRENCY,
36-
MonetaryAccountBank.FIELD_DESCRIPTION:
37-
self._MONETARY_ACCOUNT_PREFIX + token_hex()
38-
}
39-
monetary_account_id = MonetaryAccountBank.create(self._API_CONTEXT,
40-
create_map,
41-
self._USER_ID).value
42-
43-
update_map = {
44-
MonetaryAccountBank.FIELD_STATUS: self._FIELD_STATUS,
45-
MonetaryAccountBank.FIELD_SUB_STATUS: self._FIELD_SUB_STATUS,
46-
MonetaryAccountBank.FIELD_REASON: self._FIELD_REASON,
47-
MonetaryAccountBank.FIELD_REASON_DESCRIPTION:
48-
self._FIELD_REASON_DESCRIPTION,
49-
}
50-
MonetaryAccountBank.update(self._API_CONTEXT, update_map, self._USER_ID,
51-
monetary_account_id)
35+
monetary_account_id = MonetaryAccountBank.create(self._CURRENCY,
36+
self._MONETARY_ACCOUNT_PREFIX + token_hex()).value
37+
38+
MonetaryAccountBank.update(monetary_account_id,
39+
status=self._STATUS,
40+
sub_status=self._SUB_STATUS,
41+
reason=self._REASON,
42+
reason_description=self._REASON_DESCRIPTION
43+
)

0 commit comments

Comments
 (0)