def create_demo(): """ Create a new demo resource. :param { "name": "Example Demo Name", "email": "*****@*****.**" } :return: { "id": "123", "name": "Example Demo Name", "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy", "createdAt": "2015-11-05T22:00:51.692765", "users": [{User}...{User}] } """ # Get inputs and make sure required params are not null data = web_utils.get_json_data(request) demo_name = data.get('name') user_email = data.get('email') web_utils.check_null_input((demo_name, 'demo name for the new demo session')) demo = demo_service.create_demo(demo_name, user_email) return Response(demo, status=201, mimetype='application/json')
def test_demo_create_success(self): """With correct values, is a valid demo returned?""" # Create demo demo_name = datetime.now().isoformat("T") demo = demo_service.create_demo(demo_name) # TODO: Update to use assertIsInstance(a,b) # Check all expected object values are present demo_json = loads(demo) self.assertTrue(demo_json.get('id')) self.assertTrue(demo_json.get('guid')) self.assertTrue(demo_json.get('name') == demo_name) self.assertTrue(demo_json.get('createdAt')) self.assertTrue(demo_json.get('users')) # Check that the default supplychainmanager user was created created_user_json = demo_json.get('users')[0] self.assertTrue(created_user_json.get('id')) self.assertTrue(created_user_json.get('demoId')) self.assertTrue(created_user_json.get('username')) self.assertTrue(created_user_json.get('email')) self.assertTrue(created_user_json.get('roles')) # Check that the proper role was created scm_role_json = created_user_json.get('roles')[0] self.assertTrue(scm_role_json.get('id')) self.assertTrue(scm_role_json.get('name') == "supplychainmanager") self.assertTrue(scm_role_json.get('created')) self.assertTrue(scm_role_json.get('modified')) # Destroy demo demo_service.delete_demo_by_guid(demo_json.get('guid'))
def test_demo_create_success(self): """With correct values, is a valid demo returned?""" # Create demo demo = demo_service.create_demo() # TODO: Update to use assertIsInstance(a,b) # Check all expected object values are present demo_json = loads(demo) self.assertTrue(demo_json.get('id')) self.assertTrue(demo_json.get('guid')) self.assertTrue(demo_json.get('createdAt')) self.assertTrue(demo_json.get('users')) # Check that the default supplychainmanager user was created created_user_json = demo_json.get('users')[0] self.assertTrue(created_user_json.get('id')) self.assertTrue(created_user_json.get('demoId')) self.assertTrue(created_user_json.get('username')) self.assertTrue(created_user_json.get('email')) self.assertTrue(created_user_json.get('roles')) # Check that the proper role was created scm_role_json = created_user_json.get('roles')[0] self.assertTrue(scm_role_json.get('id')) self.assertTrue(scm_role_json.get('name') == "supplychainmanager") self.assertTrue(scm_role_json.get('created')) self.assertTrue(scm_role_json.get('modified')) # Destroy demo demo_service.delete_demo_by_guid(demo_json.get('guid'))
def create_demo(): """ Create a new demo resource. :param { "name": "Example Demo Name", "email": "*****@*****.**" } :return: { "id": "123", "name": "Example Demo Name", "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy", "createdAt": "2015-11-05T22:00:51.692765", "users": [{User}...{User}] } """ # Get inputs and make sure required params are not null data = web_utils.get_json_data(request) demo_name = data.get('name') user_email = data.get('email') web_utils.check_null_input( (demo_name, 'demo name for the new demo session')) demo = demo_service.create_demo(demo_name, user_email) return Response(demo, status=201, mimetype='application/json')
def test_tokenize_and_detokenize(self): """Is auth data correctly tokenized and later detokenized?""" # Create demo demo = demo_service.create_demo() demo_json = loads(demo) demo_guid = demo_json.get('guid') demo_user_id = demo_json.get('users')[0].get('id') # Log in user and tokenize auth data auth_data = user_service.login(demo_guid, demo_user_id) auth_data['exp'] = datetime.utcnow() + timedelta(days=14) token = web_utils.tokenize(auth_data) # Detokenize auth data decrypted_auth_data = web_utils.detokenize(token) # Check that decrypted data is equivalent to auth data self.assertTrue( auth_data.get('loopback_token') == decrypted_auth_data.get( 'loopback_token')) self.assertTrue(auth_data.get('exp') == decrypted_auth_data.get('exp')) self.assertTrue( auth_data.get('user').get('id') == decrypted_auth_data.get( 'user').get('id')) self.assertTrue( auth_data.get('guid') == decrypted_auth_data.get('guid')) # Destroy demo demo_service.delete_demo_by_guid(demo_guid)
def setUp(self): # Create demo self.demo = demo_service.create_demo() demo_json = loads(self.demo) demo_guid = demo_json.get('guid') demo_user_id = demo_json.get('users')[0].get('id') # Log in user auth_data = user_service.login(demo_guid, demo_user_id) self.loopback_token = auth_data.get('loopback_token')
def create_demo(): """ Create a new demo resource. :return: { "id": "123", "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy", "createdAt": "2015-11-05T22:00:51.692765", "users": [{User}...{User}] } """ demo = demo_service.create_demo() return Response(demo, status=201, mimetype='application/json')
def test_demo_create_email(self): """Is an invalid email detected correctly?""" # Test invalid email throws ValidationException demo_name = datetime.now().isoformat("T") invalid_email = "email@[email protected]" self.assertRaises(UnprocessableEntityException, demo_service.create_demo, demo_name, invalid_email) # Test valid email completes demo_name = datetime.now().isoformat("T") valid_email = "*****@*****.**" demo = demo_service.create_demo(demo_name, valid_email) self.assertTrue(loads(demo).get('id')) # Destroy demo demo_service.delete_demo_by_guid(loads(demo).get('guid'))
def test_demo_create_email(self): """Is an invalid email detected correctly?""" # Test invalid email throws ValidationException demo_name = datetime.now().isoformat("T") invalid_email = "email@[email protected]" self.assertRaises(UnprocessableEntityException, demo_service.create_demo, demo_name, invalid_email) # Test valid email completes demo_name = datetime.now().isoformat("T") valid_email = "*****@*****.**" demo = demo_service.create_demo(demo_name, valid_email) self.assertTrue(loads(demo).get('id')) # Destroy demo demo_service.delete_demo_by_guid(loads(demo).get('guid'))
def setUp(self): # Create demo self.demo = demo_service.create_demo()
def create_demo(): """Creates a demo object for a unit test class""" return demo_service.create_demo(datetime.now().isoformat("T"))
def create_demo(): """Creates a demo object for a unit test class""" return demo_service.create_demo(datetime.now().isoformat("T"))
def setUp(self): # Create demo self.demo = demo_service.create_demo() self.retailers = demo_service.get_demo_retailers( loads(self.demo).get('guid'))