Skip to content

Commit 0c3a6bb

Browse files
author
mgovindhasamy
committed
review fix
1 parent c71032e commit 0c3a6bb

4 files changed

Lines changed: 168 additions & 45 deletions

File tree

hyperwallet/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
StatusTransition, # noqa
3333
TransferMethodConfiguration, # noqa
3434
Webhook, # noqa
35-
TransferRefunds, # naqa
36-
CreateUserStatusTransition # naqa
35+
TransferRefunds # naqa
3736
)
3837

3938
from .api import Api # noqa

hyperwallet/api.py

Lines changed: 112 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
StatusTransition,
2424
TransferMethodConfiguration,
2525
Webhook,
26-
TransferRefunds,
27-
CreateUserStatusTransition
26+
TransferRefunds
2827
)
2928

3029

@@ -2802,7 +2801,7 @@ def createTransferSpendBackRefund(self,
28022801

28032802
def createUserStatusTransition(self,
28042803
userToken=None,
2805-
data=None):
2804+
data=None):
28062805
'''
28072806
Create User Status Transition.
28082807
:param userToken:
@@ -2825,4 +2824,113 @@ def createUserStatusTransition(self,
28252824
data
28262825
)
28272826

2828-
return CreateUserStatusTransition(response)
2827+
return StatusTransition(response)
2828+
2829+
def activateUser(self,
2830+
userToken=None):
2831+
2832+
'''
2833+
Create User Activate Status Transition.
2834+
:param userToken:
2835+
A token identifying the User Create UserToken. **REQUIRED**
2836+
:returns:
2837+
CreateUserStatusTransition.
2838+
'''
2839+
if not userToken:
2840+
raise HyperwalletException('userToken is required')
2841+
2842+
data = {
2843+
'transition': 'ACTIVATED'
2844+
}
2845+
2846+
return self.createUserStatusTransition(
2847+
userToken,
2848+
data
2849+
)
2850+
2851+
def deactivateUser(self,
2852+
userToken=None):
2853+
2854+
'''
2855+
Create User DeActivate Status Transition.
2856+
:param userToken:
2857+
A token identifying the User Create UserToken. **REQUIRED**
2858+
:returns:
2859+
CreateUserStatusTransition.
2860+
'''
2861+
if not userToken:
2862+
raise HyperwalletException('userToken is required')
2863+
2864+
data = {
2865+
'transition': 'DE_ACTIVATED'
2866+
}
2867+
2868+
return self.createUserStatusTransition(
2869+
userToken,
2870+
data
2871+
)
2872+
2873+
def preactivateUser(self,
2874+
userToken=None):
2875+
2876+
'''
2877+
Create User Pre Activate Status Transition.
2878+
:param userToken:
2879+
A token identifying the User Create UserToken. **REQUIRED**
2880+
:returns:
2881+
CreateUserStatusTransition.
2882+
'''
2883+
if not userToken:
2884+
raise HyperwalletException('userToken is required')
2885+
data = {
2886+
'transition': 'PRE-ACTIVATED'
2887+
}
2888+
2889+
return self.createUserStatusTransition(
2890+
userToken,
2891+
data
2892+
)
2893+
2894+
def freezeUser(self,
2895+
userToken=None):
2896+
2897+
'''
2898+
Create User Freeze Status Transition.
2899+
:param userToken:
2900+
A token identifying the User Create UserToken. **REQUIRED**
2901+
:returns:
2902+
CreateUserStatusTransition.
2903+
'''
2904+
if not userToken:
2905+
raise HyperwalletException('userToken is required')
2906+
2907+
data = {
2908+
'transition': 'FROZEN'
2909+
}
2910+
2911+
return self.createUserStatusTransition(
2912+
userToken,
2913+
data
2914+
)
2915+
2916+
def lockUser(self,
2917+
userToken=None):
2918+
2919+
'''
2920+
Create User Lock Status Transition.
2921+
:param userToken:
2922+
A token identifying the User Create UserToken. **REQUIRED**
2923+
:returns:
2924+
CreateUserStatusTransition.
2925+
'''
2926+
if not userToken:
2927+
raise HyperwalletException('userToken is required')
2928+
2929+
data = {
2930+
'transition': 'LOCKED'
2931+
}
2932+
2933+
return self.createUserStatusTransition(
2934+
userToken,
2935+
data
2936+
)

hyperwallet/models.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -845,43 +845,4 @@ def __repr__(self):
845845
return "TransferRefunds({date}, {token})".format(
846846
date=self.createdOn,
847847
token=self.token
848-
)
849-
'''
850-
851-
Create User Transition
852-
853-
'''
854-
855-
class CreateUserStatusTransition(HyperwalletModel):
856-
'''
857-
The StatusTransition Model.
858-
859-
:param data:
860-
A dictionary containing the attributes for the Status Transition.
861-
'''
862-
863-
def __init__(self, data):
864-
'''
865-
Create a new Status Transition with the provided attributes.
866-
'''
867-
868-
super(CreateUserStatusTransition, self).__init__(data)
869-
870-
self.defaults = {
871-
'createdOn': None,
872-
'fromStatus': None,
873-
'notes': None,
874-
'statusCode': None,
875-
'token': None,
876-
'toStatus': None,
877-
'transition': None
878-
}
879-
880-
for (param, default) in self.defaults.items():
881-
setattr(self, param, data.get(param, default))
882-
883-
def __repr__(self):
884-
return "CreateUserStatusTransition({date}, {token})".format(
885-
date=self.createdOn,
886-
token=self.token
887848
)

hyperwallet/tests/test_api.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2289,5 +2289,60 @@ def test_create_user_status_transition_success(self, mock_get):
22892289
response = self.api.createUserStatusTransition('token', 'token')
22902290
self.assertTrue(response.token, self.data.get('token'))
22912291

2292+
def test_create_user_lockUser_status_transition_user_token(self):
2293+
with self.assertRaises(HyperwalletException) as exc:
2294+
self.api.lockUser()
2295+
self.assertEqual(exc.exception.message, 'userToken is required')
2296+
2297+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
2298+
def test_create_user_lockUser_status_transition_success(self, mock_get):
2299+
mock_get.return_value = self.data
2300+
response = self.api.lockUser('token')
2301+
self.assertTrue(response.token, self.data.get('token'))
2302+
2303+
def test_create_user_freezeUser_status_transition_user_token(self):
2304+
with self.assertRaises(HyperwalletException) as exc:
2305+
self.api.freezeUser()
2306+
self.assertEqual(exc.exception.message, 'userToken is required')
2307+
2308+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
2309+
def test_create_user_freezeUser_status_transition_success(self, mock_get):
2310+
mock_get.return_value = self.data
2311+
response = self.api.freezeUser('token')
2312+
self.assertTrue(response.token, self.data.get('token'))
2313+
2314+
def test_create_user_preactivate_status_transition_user_token(self):
2315+
with self.assertRaises(HyperwalletException) as exc:
2316+
self.api.preactivateUser()
2317+
self.assertEqual(exc.exception.message, 'userToken is required')
2318+
2319+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
2320+
def test_create_user_preactivate_status_transition_success(self, mock_get):
2321+
mock_get.return_value = self.data
2322+
response = self.api.preactivateUser('token')
2323+
self.assertTrue(response.token, self.data.get('token'))
2324+
2325+
def test_create_user_deactivate_status_transition_user_token(self):
2326+
with self.assertRaises(HyperwalletException) as exc:
2327+
self.api.deactivateUser()
2328+
self.assertEqual(exc.exception.message, 'userToken is required')
2329+
2330+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
2331+
def test_create_user_deactivate_status_transition_success(self, mock_get):
2332+
mock_get.return_value = self.data
2333+
response = self.api.deactivateUser('token')
2334+
self.assertTrue(response.token, self.data.get('token'))
2335+
2336+
def test_create_user_activate_status_transition_user_token(self):
2337+
with self.assertRaises(HyperwalletException) as exc:
2338+
self.api.activateUser()
2339+
self.assertEqual(exc.exception.message, 'userToken is required')
2340+
2341+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
2342+
def test_create_user_activate_status_transition_success(self, mock_get):
2343+
mock_get.return_value = self.data
2344+
response = self.api.activateUser('token')
2345+
self.assertTrue(response.token, self.data.get('token'))
2346+
22922347
if __name__ == '__main__':
22932348
unittest.main()

0 commit comments

Comments
 (0)