class UserLiveServerTestAdmin(unittest.TestCase): def setUp(self): # NOQA self.host = TEST_HOST['hostname'] self.user = TEST_HOST['admin'] self.password = TEST_HOST['admin_password'] self.prefix = TEST_HOST['prefix'] self.member = PortalMember( name=random_ascii_letters(16), password=random_ascii_letters(), displayName='Automated Test User - to be deleted', extension=self.prefix + str(random_extension())[:6], emailAddress='*****@*****.**', description='h' ) self.ssl = TEST_HOST['ssl'] self.u = User( host=self.host, user=self.user, password=self.password, api_type='admin', member=self.member, ssl=self.ssl ) def tearDown(self): # NOQA try: self.u.delete() except (DoesNotExist, Error): pass def test_entity_id(self): self.u.create() self.assertIsInstance(self.u.entity_id(), int) def test_create_member_entity_id(self): self.assertIsInstance(self.u.create(), int) def test_rooms(self): rooms = self.u.all_room_ids() for room in rooms: self.assertIsInstance(room, int) def test_username_create(self): self.u.create() self.assertEqual(self.u.username(), self.member.name) def test_username_no_create(self): del self.u.member with self.assertRaises(Error): self.u.username() def test_update_member(self): pass
class UserLiveServerTestUser(unittest.TestCase): def setUp(self): # NOQA self.host = TEST_HOST['hostname'] self.user = TEST_HOST['user'] self.admin_password = TEST_HOST['admin_password'] self.prefix = TEST_HOST['prefix'] self.ssl = TEST_HOST['ssl'] self.member = PortalMember( name=random_ascii_letters(16), password=random_ascii_letters(), displayName='Automated Test User - to be deleted', extension=self.prefix + str(random_extension())[:6], emailAddress='*****@*****.**', description='Automated Test User - to be deleted', ) self.admin = User( host=self.host, user=self.user, password=self.admin_password, api_type='admin', member=self.member, ssl=self.ssl ) self.admin.create() self.u = User( host=self.host, user=self.member.name, password=self.member.password, api_type='user', ssl=self.ssl ) def tearDown(self): # NOQA try: self.admin.delete() except (Error, DoesNotExist): pass def test_endpoint_login_dict_type(self): login = self.u._endpoint_login_dict() self.assertIsInstance(login, dict) def test_endpoint_login_dict_keys(self): login = self.u._endpoint_login_dict() self.assertIn('portalAddress', login) self.assertIn('vmIdentity', login) self.assertIn('portalAccessKey', login) # TODO def test_call_vidyodesktop(self): getvideo = self.u.vidyodesktop_login_string() f = requests.get(getvideo) del f eid = requests.get('http://127.0.0.1:63457/?retrieve=eid').text.lstrip('eid=') self.u._user_service.linkEndpoint(eid) self.u._user_service.joinConference(self.u.entity_id()) self.u._user_service.logOut() def test_my_account(self): acc = self.u._my_account() self.assertTrue(hasattr(acc, 'entityID')) def test_entity_type(self): u = User( self.host, user=self.member.name, password=self.member.password, api_type='user', ssl=self.ssl ) u._user_service.getEntityByEntityID(u.entity_id()) def test_portal_version(self): major, minor, micro, patch, db = self.u.portal_version_info() self.assertIn(major, (2, 3)) self.assertIsInstance(major, int) self.assertIsInstance(minor, int) self.assertIsInstance(micro, int) def test_entity_id(self): self.assertIsInstance(self.u.entity_id(), int) def test_owns_room_own_room(self): self.assertTrue(self.admin.owns_room(self.u.entity_id())) def test_owns_room_other_false(self): self.assertFalse(self.admin.owns_room(0 - self.u.entity_id())) def test_user_doesnt_exist_deleted_raises(self): # The user has not been created at this point self.admin.delete() with self.assertRaises(Exception): # suds throws an Exception() on 401 self.u.entity_id() def test_user_doesnt_exist_yet_entity_idraises(self): self.admin.delete() self.member = PortalMember( name=random_ascii_letters(16), password=random_ascii_letters(), displayName='Automated Test User - to be deleted', extension=self.prefix + str(random_extension())[:6], emailAddress='*****@*****.**', description='Automated Test User - to be deleted', ) self.admin = User( host=self.host, user=self.user, password=self.admin_password, api_type='admin', member=self.member, ssl=self.ssl ) with self.assertRaises(DoesNotExist): self.admin.entity_id() def test_new_user_idle(self): """As the user is created moments ago, it should be idle as no VidyoClient can have registered yet""" self.assertEqual(self.u.status(), User.USER_OFFLINE)
class UserEndToEndTests(unittest.TestCase): def setUp(self): # NOQA self.host = TEST_HOST['hostname'] self.user = TEST_HOST['user'] self.admin_password = TEST_HOST['admin_password'] self.ssl = TEST_HOST['ssl'] self.prefix = TEST_HOST['prefix'] self.member = PortalMember( name=random_ascii_letters(16), password=random_ascii_letters(), displayName='Automated Test User - to be deleted', extension=self.prefix + str(random_extension())[:6], emailAddress='*****@*****.**', description='h' ) self.password = self.member.password self.admin = User( host=self.host, user=self.user, password=self.admin_password, api_type='admin', member=self.member, ssl=self.ssl ) self.admin.create() self.u = User( host=self.host, user=self.member.name, password=self.password, api_type='user', ssl=self.ssl ) def tearDown(self): # NOQA self.admin.delete() def test_join_room(self): details = { 'user': self.member.name, 'password': self.member.password, 'api_type': 'user', 'ssl': self.ssl } step1 = User(self.host, **details) getvideo = step1.vidyodesktop_login_string() requests.get(getvideo) eid = requests.get('http://127.0.0.1:63457/?retrieve=eid').text del step1 step2 = User(self.host, **details) step3 = User(self.host, **details) step2.join_room(step3, eid) del step2 del step3 step4 = User(self.host, **details) time.sleep(10) step4.log_out() def test_join_new_private_room(self): details = { 'user': self.member.name, 'password': self.member.password, 'api_type': 'user', 'ssl': self.ssl } user = User(self.host, **details) requests.get(user.vidyodesktop_login_string()) eid = requests.get('http://127.0.0.1:63457/?retrieve=eid').text room = user.create_private_room(self.prefix) user.join_room(user, eid, pin=room['pin'], room_id=room['room_id']) time.sleep(10) user.log_out()