def test_ids(self): from mbed_cloud.foundation import User a = User(id='1') b = User(id='1') c = User(id='cat') self.assertEqual(a, b) self.assertNotEqual(a, c)
def test_values(self): from mbed_cloud.foundation import User a = User(full_name='1') b = User(full_name='1') c = User(full_name='cat') self.assertEqual(a, b) self.assertNotEqual(a, c)
def test_list_of_entities_filter(self): user_one = User(id="user1") user_two = User(id="user2") filter_definition = {"sub_entity": {"in": [user_one, user_two]}} expected_filter = {"sub_entity__in": "user1,user2"} api_filter = ApiFilter(filter_definition) self.assertEqual(expected_filter, api_filter.to_api())
def test_fast(self): from mbed_cloud.foundation import User a = User() b = a c = 'cat' self.assertEqual(a, b) self.assertNotEqual(a, c)
def new_user(self): return User( username='******', full_name='Scratchy The Wombat', email='*****@*****.**', phone_number='1800966228', )
def test_entity(self): my_user = User(id="my_user_id") filter_definition = {"sub_entity": {"eq": my_user}} expected_filter = {"sub_entity__eq": "my_user_id"} api_filter = ApiFilter(filter_definition) self.assertEqual(expected_filter, api_filter.to_api())
def test_login_history(self): from datetime import datetime for user in User().list(): if isinstance(user.login_history, list): for login in user.login_history: self.assertIsInstance(login.date, datetime) self.assertIsInstance(login.ip_address, str) self.assertIsInstance(login.success, bool) self.assertIsInstance(login.user_agent, str)
def test_crud_of_an_entity(self): """Example of create, read, update and delete of a user""" from mbed_cloud import SDK pelion_dm_sdk = SDK() num_users = len(pelion_dm_sdk.foundation.user().list()) # Keep the example at the same indent level so the documentation looks sensible try: # an example: create an entity new_user = pelion_dm_sdk.foundation.user( email="*****@*****.**", ) new_user.create() # end of example self.assertEqual(len(User().list()), num_users + 1, "The number of users should have increase") user_id = new_user.id # an example: read an entity user_one = pelion_dm_sdk.foundation.user(id=user_id).read() print("User email address: %s" % user_one.email) # end of example # an example: update an entity user_two = pelion_dm_sdk.foundation.user(id=user_id).read() user_two.full_name = "Python SDK User" user_two.update() # end of example self.assertEqual(user_two.read().full_name, "Python SDK User", "User name should have been changed") # an example: delete an entity pelion_dm_sdk.foundation.user(id=user_id).delete() # end of example except Exception: new_user.delete() self.assertEqual( len(User().list()), num_users, "The number of users should be back to it's original value")
def test_custom_api_call(self): # an example: custom api call from mbed_cloud import SDK from mbed_cloud.foundation import User response = SDK().client.call_api('get', '/v3/users', query_params={'limit': 2}) # response object from the`requests` library for user_data in response.json()['data']: user = User().from_api(**user_data) # end of example self.assertIsInstance(user, User) self.assertIsNotNone(user.id)
def get_user(self, **kwargs): sdk = SDK() u = User(**kwargs) u._client = sdk.client return u
def get_user(self, **kwargs): sdk = SDK() return User(_client=sdk.client, **kwargs)
def get_user(self, **kwargs): return User(**kwargs)
def tearDown(self): if self.created: User(id=self.created).delete()