Skip to content

Commit fafeaec

Browse files
author
Kevin Hellemun
committed
Some more minor refactoring. (#40)
1 parent 29032df commit fafeaec

File tree

1 file changed

+34
-13
lines changed

1 file changed

+34
-13
lines changed

tests/model/generated/object/test_notification_url.py

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import json
22
import os
33

4-
from tests import bunq_test
5-
from bunq.sdk.model.generated import object_
6-
from bunq.sdk.model.generated import endpoint
74
from bunq.sdk.json.converter import json_to_class
5+
from bunq.sdk.model.generated import endpoint
6+
from bunq.sdk.model.generated import object_
7+
from tests import bunq_test
88

99

1010
class TestNotificationUrl(bunq_test.BunqSdkTestCase):
@@ -52,6 +52,15 @@ class TestNotificationUrl(bunq_test.BunqSdkTestCase):
5252
# Model root key.
5353
_KEY_NOTIFICATION_URL_MODEL = 'NotificationUrl'
5454

55+
# Model modules constants.
56+
_MODEL_MODULES = [
57+
object_,
58+
endpoint,
59+
]
60+
61+
# File mode constants.
62+
_FILE_MODE_READ = 'r'
63+
5564
def execute_notification_url_test(self,
5665
file_path,
5766
class_name,
@@ -74,17 +83,29 @@ def execute_notification_url_test(self,
7483
self.assertIsNotNone(expected_model)
7584
self.assertIsNotNone(referenced_model)
7685
self.assertTrue(
77-
self.assertInstanceOfReferencedObject(
78-
referenced_model,
79-
class_name
80-
)
81-
or
82-
self.assertInstanceOfReferencedEndpoint(
86+
self.isModelReference(
8387
referenced_model,
8488
class_name
8589
)
8690
)
8791

92+
@classmethod
93+
def isModelReference(cls, referenced_model, class_name):
94+
model_class = cls.getModelClassOrNone(class_name)
95+
96+
if model_class is None:
97+
return False
98+
99+
return isinstance(referenced_model, model_class)
100+
101+
@classmethod
102+
def getModelClassOrNone(cls, class_name):
103+
for module_ in cls._MODEL_MODULES:
104+
if hasattr(module_, class_name):
105+
return getattr(module_, class_name)
106+
107+
return None
108+
88109
@staticmethod
89110
def assertInstanceOfReferencedObject(referenced_model, class_name):
90111
try:
@@ -109,12 +130,12 @@ def getNotificationUrl(self, file_path):
109130
base_path = os.path.dirname(__file__)
110131
file_path = os.path.abspath(os.path.join(base_path, file_path))
111132

112-
with open(file_path, 'r') as f:
133+
with open(file_path, self._FILE_MODE_READ) as f:
113134
json_string = f.read()
114135
json_object = json.loads(json_string)
115-
json_string = json.dumps(json_object[
116-
self._KEY_NOTIFICATION_URL_MODEL
117-
])
136+
json_string = json.dumps(
137+
json_object[self._KEY_NOTIFICATION_URL_MODEL]
138+
)
118139

119140
self.assertTrue(
120141
self._KEY_NOTIFICATION_URL_MODEL in json_object

0 commit comments

Comments
 (0)