Skip to content

Commit 3d97fdf

Browse files
Merge pull request #42 from Mastercard/feature/support-for-oag7
Adding support for OAG 7.0+
2 parents 3dc4393 + 35be2f6 commit 3d97fdf

File tree

4 files changed

+7
-41
lines changed

4 files changed

+7
-41
lines changed

client_encryption/api_encryption.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,11 @@ def _contains_param(param_name, headers): return param_name and param_name in he
173173

174174
def add_encryption_layer(api_client, encryption_conf_file, encryption_type='Mastercard'):
175175
"""Decorate APIClient.call_api with encryption"""
176+
__check_oauth(api_client) # warn the user if authentication layer is missing/not set
176177
api_encryption = ApiEncryption(encryption_conf_file, encryption_type)
177-
api_client.request = api_encryption.field_encryption(api_client.request)
178+
api_client.rest_client.request = api_encryption.field_encryption(api_client.rest_client.request)
178179
api_client.call_api = api_encryption.field_encryption_call_api(api_client.call_api)
179180

180-
__check_oauth(api_client) # warn the user if authentication layer is missing/not set
181-
182181

183182
def __check_oauth(api_client):
184183
try:

tests/test_api_encryption.py

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -363,25 +363,8 @@ def test_add_encryption_layer_oauth_set(self, __oauth_warn):
363363

364364
def test_add_encryption_layer_missing_oauth_layer_warning(self):
365365
test_client = Mock()
366+
test_client.rest_client.request = None
366367

367368
# no __oauth__ flag
368369
with self.assertWarns(UserWarning):
369-
to_test.add_encryption_layer(test_client, self._json_config)
370-
371-
def test_add_encryption_layer_wrong_oauth_layer_flag_warning(self):
372-
test_client = Mock()
373-
374-
# __oauth__ is None
375-
test_client.request.__oauth__ = None
376-
with self.assertWarns(UserWarning):
377-
to_test.add_encryption_layer(test_client, self._json_config)
378-
379-
# __oauth__ is False
380-
test_client.request.__oauth__ = False
381-
with self.assertWarns(UserWarning):
382-
to_test.add_encryption_layer(test_client, self._json_config)
383-
384-
# __oauth__ is not a boolean
385-
test_client.request.__oauth__ = 5
386-
with self.assertWarns(UserWarning):
387-
to_test.add_encryption_layer(test_client, self._json_config)
370+
to_test.add_encryption_layer(test_client, self._json_config)

tests/test_api_encryption_jwe.py

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -366,22 +366,4 @@ def test_add_encryption_layer_missing_oauth_layer_warning(self):
366366

367367
# no __oauth__ flag
368368
with self.assertWarns(UserWarning):
369-
to_test.add_encryption_layer(test_client, self._json_config)
370-
371-
def test_add_encryption_layer_wrong_oauth_layer_flag_warning(self):
372-
test_client = Mock()
373-
374-
# __oauth__ is None
375-
test_client.request.__oauth__ = None
376-
with self.assertWarns(UserWarning):
377-
to_test.add_encryption_layer(test_client, self._json_config)
378-
379-
# __oauth__ is False
380-
test_client.request.__oauth__ = False
381-
with self.assertWarns(UserWarning):
382-
to_test.add_encryption_layer(test_client, self._json_config)
383-
384-
# __oauth__ is not a boolean
385-
test_client.request.__oauth__ = 5
386-
with self.assertWarns(UserWarning):
387-
to_test.add_encryption_layer(test_client, self._json_config)
369+
to_test.add_encryption_layer(test_client, self._json_config)

tests/utils/api_encryption_test_utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def __init__(self, api_client=None):
2323
if api_client is None:
2424
api_client = MockApiClient()
2525
self.api_client = api_client
26+
self.api_client.rest_client = api_client
2627

2728
def do_something_get(self, **kwargs):
2829
return self.api_client.request("GET", "testservice", None, kwargs["headers"])
@@ -60,6 +61,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None,
6061
json_config = json.loads(get_mastercard_config_for_test())
6162
json_config["paths"]["$"]["toEncrypt"] = {"data": "encryptedData"}
6263
json_config["paths"]["$"]["toDecrypt"] = {"encryptedData": "data"}
64+
self.rest_client = self
6365
self._config = encryption_config.FieldLevelEncryptionConfig(json_config)
6466

6567
@mock_signing

0 commit comments

Comments
 (0)