Ejemplo n.º 1
0
 def setUp(self):
     self.rocket = RocketChat()
     self.user = '******'
     self.password = '******'
     self.email = '*****@*****.**'
     self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
     self.rocket = RocketChat(self.user, self.password)
Ejemplo n.º 2
0
class TestChat(unittest.TestCase):
    def setUp(self):
        self.rocket = RocketChat()
        self.user = '******'
        self.password = '******'
        self.email = '*****@*****.**'
        self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
        self.rocket = RocketChat(self.user, self.password)

    def test_chat_post_update_delete_message(self):
        chat_post_message = self.rocket.chat_post_message("hello", channel='GENERAL').json()
        self.assertEqual(chat_post_message.get('channel'), 'GENERAL')
        self.assertEqual(chat_post_message.get('message').get('msg'), 'hello')
        self.assertTrue(chat_post_message.get('success'))

        chat_update = self.rocket.chat_update(room_id=chat_post_message.get('channel'),
                                              msg_id=chat_post_message.get('message').get('_id'),
                                              text='hello again').json()

        self.assertEqual(chat_update.get('message').get('msg'), 'hello again')
        self.assertTrue(chat_update.get('success'))

        chat_delete = self.rocket.chat_delete(room_id=chat_post_message.get('channel'),
                                              msg_id=chat_post_message.get('message').get('_id')).json()
        self.assertTrue(chat_delete.get('success'))
Ejemplo n.º 3
0
 def setUp(self):
     self.rocket = RocketChat()
     self.user = '******'
     self.password = '******'
     self.email = '*****@*****.**'
     self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
     self.rocket = RocketChat(self.user, self.password)
     self.testuser = self.rocket.users_create('*****@*****.**', 'user0', 'password', 'user0').json()
     self.test_group_id = self.rocket.groups_create(str(uuid.uuid1())).json().get('group').get('_id')
Ejemplo n.º 4
0
 def setUp(self):
     self.rocket = RocketChat()
     self.user = '******'
     self.password = '******'
     self.email = '*****@*****.**'
     self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
     self.rocket.channels_add_owner('GENERAL', username=self.user)
     self.rocket = RocketChat(self.user, self.password)
     self.testuser = self.rocket.users_create('*****@*****.**', 'user0', 'password', 'user0').json()
Ejemplo n.º 5
0
class TestServer(unittest.TestCase):
    def setUp(self):
        self.rocket = RocketChat()
        self.user = '******'
        self.password = '******'
        self.email = '*****@*****.**'
        self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
        self.rocket = RocketChat(self.user, self.password)

    def test_info(self):
        info = self.rocket.info().json()

        self.assertTrue('info' in info)
        self.assertTrue(info.get('success'))

    def test_statistics(self):
        statistics = self.rocket.statistics().json()
        self.assertTrue(statistics.get('success'))
Ejemplo n.º 6
0
class TestGroups(unittest.TestCase):
    def setUp(self):
        self.rocket = RocketChat()
        self.user = '******'
        self.password = '******'
        self.email = '*****@*****.**'
        self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
        self.rocket = RocketChat(self.user, self.password)
        self.testuser = self.rocket.users_create('*****@*****.**', 'user0', 'password', 'user0').json()
        self.test_group_id = self.rocket.groups_create(str(uuid.uuid1())).json().get('group').get('_id')

    def tearDown(self):
        self.rocket.users_delete(self.testuser.get('user').get('_id'))

    def test_groups_list(self):
        groups_list = self.rocket.groups_list().json()
        self.assertTrue(groups_list.get('success'))
        self.assertIn('groups', groups_list)

    def test_groups_info(self):
        groups_info = self.rocket.groups_info(room_id=self.test_group_id).json()
        self.assertTrue(groups_info.get('success'))
        self.assertIn('group', groups_info)
        self.assertEqual(groups_info.get('group').get('_id'), self.test_group_id)

    def test_groups_history(self):
        groups_history = self.rocket.groups_history(room_id=self.test_group_id).json()
        self.assertTrue(groups_history.get('success'))
        self.assertIn('messages', groups_history)

    def test_groups_add_and_remove_moderator(self):
        me = self.rocket.me().json()
        groups_add_moderator = self.rocket.groups_add_moderator(self.test_group_id, me.get('_id')).json()
        self.assertTrue(groups_add_moderator.get('success'))
        groups_remove_moderator = self.rocket.groups_remove_moderator(self.test_group_id, me.get('_id')).json()
        self.assertTrue(groups_remove_moderator.get('success'))

    def test_groups_add_and_remove_owner(self):
        self.rocket.groups_invite(self.test_group_id, self.testuser.get('user').get('_id'))
        groups_add_owner = self.rocket.groups_add_owner(self.test_group_id,
                                                        user_id=self.testuser.get('user').get('_id')).json()
        self.assertTrue(groups_add_owner.get('success'), groups_add_owner.get('error'))

        groups_remove_owner = self.rocket.groups_remove_owner(self.test_group_id,
                                                              user_id=self.testuser.get('user').get('_id')).json()
        self.assertTrue(groups_remove_owner.get('success'), groups_remove_owner.get('error'))

    def test_groups_archive_unarchive(self):
        groups_archive = self.rocket.groups_archive(self.test_group_id).json()
        self.assertTrue(groups_archive.get('success'))
        groups_unarchive = self.rocket.groups_unarchive(self.test_group_id).json()
        self.assertTrue(groups_unarchive.get('success'))

    def test_groups_close_open(self):
        groups_close = self.rocket.groups_close(self.test_group_id).json()
        self.assertTrue(groups_close.get('success'))
        groups_open = self.rocket.groups_open(self.test_group_id).json()
        self.assertTrue(groups_open.get('success'))

    def test_groups_create(self):
        name = str(uuid.uuid1())
        groups_create = self.rocket.groups_create(name).json()
        self.assertTrue(groups_create.get('success'))
        self.assertEqual(name, groups_create.get('group').get('name'))

    def test_groups_get_integrations(self):
        groups_get_integrations = self.rocket.groups_get_integrations(room_id=self.test_group_id).json()
        self.assertTrue(groups_get_integrations.get('success'))

    def test_groups_invite(self):
        groups_invite = self.rocket.groups_invite(self.test_group_id, self.testuser.get('user').get('_id')).json()
        self.assertTrue(groups_invite.get('success'))
        self.assertIn(self.testuser.get('user').get('username'), groups_invite.get('group').get('usernames'))

    def test_groups_kick(self):
        id_group_created = self.rocket.groups_create(str(uuid.uuid1())).json().get('group').get('_id')
        groups_invite = self.rocket.groups_invite(id_group_created, self.testuser.get('user').get('_id')).json()
        self.assertTrue(groups_invite.get('success'))
        groups_kick = self.rocket.groups_kick(id_group_created, self.testuser.get('user').get('_id')).json()
        self.assertTrue(groups_kick.get('success'))

    def test_groups_leave(self):
        groups_leave = self.rocket.groups_leave(self.test_group_id).json()
        self.assertFalse(groups_leave.get('success'))
        self.assertEqual(groups_leave.get('errorType'), 'error-you-are-last-owner')

        name = str(uuid.uuid1())
        groups_create = self.rocket.groups_create(name).json()
        self.rocket.groups_invite(room_id=groups_create.get('group').get('_id'),
                                  user_id=self.testuser.get('user').get('_id'))
        self.rocket.groups_add_owner(groups_create.get('group').get('_id'),
                                     user_id=self.testuser.get('user').get('_id')).json()
        groups_leave = self.rocket.groups_leave(groups_create.get('group').get('_id')).json()
        self.assertTrue(groups_leave.get('success'))

    def test_groups_rename(self):
        name = str(uuid.uuid1())
        name2 = str(uuid.uuid1())
        groups_create = self.rocket.groups_create(name).json()
        groups_rename = self.rocket.groups_rename(room_id=groups_create.get('group').get('_id'),
                                                  name=name2).json()
        self.assertTrue(groups_rename.get('success'))
        self.assertEqual(groups_rename.get('group').get('name'), name2)

    def test_groups_set_description(self):
        description = str(uuid.uuid1())
        groups_set_description = self.rocket.groups_set_description(self.test_group_id, description).json()
        self.assertTrue(groups_set_description.get('success'))
        self.assertEqual(groups_set_description.get('description'), description,
                         'Description does not match')

    def test_groups_set_read_only(self):
        groups_set_read_only = self.rocket.groups_set_read_only(self.test_group_id, True).json()
        self.assertTrue(groups_set_read_only.get('success'))
        groups_set_read_only = self.rocket.groups_set_read_only(self.test_group_id, False).json()
        self.assertTrue(groups_set_read_only.get('success'))

    def test_groups_set_topic(self):
        topic = str(uuid.uuid1())
        groups_set_topic = self.rocket.groups_set_topic(self.test_group_id, topic).json()
        self.assertTrue(groups_set_topic.get('success'))
        self.assertEqual(groups_set_topic.get('topic'), topic,
                         'Topic does not match')

    def test_groups_set_type(self):
        name = str(uuid.uuid1())
        groups_create = self.rocket.groups_create(name).json()
        self.assertTrue(groups_create.get('success'))

        groups_set_type = self.rocket.groups_set_type(groups_create.get('group').get('_id'), 'c').json()
        self.assertTrue(groups_set_type.get('success'))
        self.assertTrue(groups_set_type.get('group').get('t'), 'p')

        groups_set_type = self.rocket.groups_set_type(groups_create.get('group').get('_id'), 'p').json()
        self.assertFalse(groups_set_type.get('success'))  # should fail because this is no more a group
Ejemplo n.º 7
0
class TestUsers(unittest.TestCase):
    def setUp(self):
        self.rocket = RocketChat()
        self.user = '******'
        self.password = '******'
        self.email = '*****@*****.**'
        self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
        self.rocket = RocketChat(self.user, self.password)

    def test_login(self):
        login = self.rocket.login(self.user, self.password).json()

        with self.assertRaises(RocketAuthenticationException):
            self.rocket.login(self.user, 'bad_password')

        self.assertEqual(login.get('status'), 'success')
        self.assertTrue('authToken' in login.get('data'))
        self.assertTrue('userId' in login.get('data'))

    def test_me(self):
        me = self.rocket.me().json()
        self.assertTrue(me.get('success'))
        self.assertEqual(me.get('username'), self.user)
        self.assertEqual(me.get('name'), self.user)

    def test_logout(self):
        self.rocket.login(self.user, self.password).json()
        logout = self.rocket.logout().json()
        self.assertEqual(logout.get('status'), 'success')

    def test_users_info(self):
        login = self.rocket.login(self.user, self.password).json()
        user_id = login.get('data').get('userId')

        users_info_by_id = self.rocket.users_info(user_id=user_id).json()
        self.assertTrue(users_info_by_id.get('success'))
        self.assertEqual(users_info_by_id.get('user').get('_id'), user_id)

        users_info_by_name = self.rocket.users_info(username=self.user).json()
        self.assertTrue(users_info_by_name.get('success'))
        self.assertEqual(users_info_by_name.get('user').get('name'), self.user)

    def test_users_get_presence(self):
        login = self.rocket.login(self.user, self.password).json()
        users_get_presence = self.rocket.users_get_presence(user_id=login.get('data').get('userId')).json()
        self.assertTrue(users_get_presence.get('success'))

        users_get_presence_by_name = self.rocket.users_get_presence(username=self.user).json()
        self.assertTrue(users_get_presence_by_name.get('success'))

    def test_users_get_avatar(self):
        login = self.rocket.login(self.user, self.password).json()

        users_get_avatar = self.rocket.users_get_avatar(user_id='no_user')
        self.assertEqual(users_get_avatar.status_code, 400)

        users_get_avatar = self.rocket.users_get_avatar(user_id=login.get('data').get('userId'))
        self.assertGreater(len(users_get_avatar.text), 0)

        users_get_avatar = self.rocket.users_get_avatar(username=self.user)
        self.assertGreater(len(users_get_avatar.text), 0)

        with self.assertRaises(RocketMissingParamException):
            self.rocket.users_get_avatar()

    def test_users_reset_avatar(self):
        login = self.rocket.login(self.user, self.password).json()
        users_reset_avatar = self.rocket.users_reset_avatar(user_id=login.get('data').get('userId')).json()
        self.assertTrue(users_reset_avatar.get('success'))

        users_reset_avatar = self.rocket.users_reset_avatar(username=self.user).json()
        self.assertTrue(users_reset_avatar.get('success'))

    def test_users_create_token(self):
        login = self.rocket.login(self.user, self.password).json()
        users_create_token = self.rocket.users_create_token(user_id=login.get('data').get('userId')).json()
        self.assertTrue(users_create_token.get('success'))
        self.assertIn('authToken', users_create_token.get('data'))
        self.assertIn('userId', users_create_token.get('data'))

    def test_users_create_update_delete(self):
        users_create = self.rocket.users_create(email='*****@*****.**', name='user2', password=self.password,
                                                username='******').json()
        self.assertTrue(users_create.get('success'), users_create.get('error'))

        users_update = self.rocket.users_update(users_create.get('user').get('_id'), '*****@*****.**',
                                                name='newname', password=self.password, username='******').json()
        self.assertTrue(users_update.get('success'))
        self.assertEqual(users_update.get('user').get('email'), '*****@*****.**')
        self.assertEqual(users_update.get('user').get('name'), 'newname')
        self.assertEqual(users_update.get('user').get('username'), 'newusername')

        users_delete = self.rocket.users_delete(users_create.get('user').get('_id')).json()
        self.assertTrue(users_delete.get('success'))

    def test_users_set_avatar_from_file(self):
        users_set_avatar = self.rocket.users_set_avatar(avatar_url='tests/avatar.png').json()
        self.assertTrue(users_set_avatar.get('success'), users_set_avatar.get('error'))

    def test_users_set_avatar_from_url(self):
        # ToDo: Users.setAvatar calls https://secure.gravatar.com/avatar/ before actually do anything
        self.skipTest("possible API bug on users.setAvatar when using avatarUrl")
        users_set_avatar = self.rocket.users_set_avatar(avatar_url='http://182.17.0.1:9999/avatar.png').json()
        self.assertTrue(users_set_avatar.get('success'), users_set_avatar.get('error'))
Ejemplo n.º 8
0
class TestChannels(unittest.TestCase):
    def setUp(self):
        self.rocket = RocketChat()
        self.user = '******'
        self.password = '******'
        self.email = '*****@*****.**'
        self.rocket.users_register(email=self.email, name=self.user, password=self.password, username=self.user)
        self.rocket.channels_add_owner('GENERAL', username=self.user)
        self.rocket = RocketChat(self.user, self.password)
        self.testuser = self.rocket.users_create('*****@*****.**', 'user0', 'password', 'user0').json()

    def tearDown(self):
        self.rocket.users_delete(self.testuser.get('user').get('_id'))

    def test_channels_list(self):
        channels_list = self.rocket.channels_list().json()
        self.assertTrue(channels_list.get('success'))
        self.assertIn('channels', channels_list)

    def test_channels_list_joined(self):
        channels_list_joined = self.rocket.channels_list_joined().json()
        self.assertTrue(channels_list_joined.get('success'))
        self.assertIn('channels', channels_list_joined)

    def test_channels_info(self):
        channels_info = self.rocket.channels_info(room_id='GENERAL').json()
        self.assertTrue(channels_info.get('success'))
        self.assertIn('channel', channels_info)
        self.assertEqual(channels_info.get('channel').get('_id'), 'GENERAL')

    def test_channels_history(self):
        channels_history = self.rocket.channels_history(room_id='GENERAL').json()
        self.assertTrue(channels_history.get('success'))
        self.assertIn('messages', channels_history)

    def test_channels_add_all(self):
        channels_add_all = self.rocket.channels_add_all('GENERAL').json()
        self.assertTrue(channels_add_all.get('success'))

    def test_channels_add_and_remove_moderator(self):
        me = self.rocket.me().json()
        channels_add_moderator = self.rocket.channels_add_moderator('GENERAL', me.get('_id')).json()
        self.assertTrue(channels_add_moderator.get('success'))
        channels_remove_moderator = self.rocket.channels_remove_moderator('GENERAL', me.get('_id')).json()
        self.assertTrue(channels_remove_moderator.get('success'))

    def test_channels_add_and_remove_owner(self):
        channels_add_owner = self.rocket.channels_add_owner('GENERAL',
                                                            user_id=self.testuser.get('user').get('_id')).json()
        self.assertTrue(channels_add_owner.get('success'), channels_add_owner.get('error'))
        channels_remove_owner = self.rocket.channels_remove_owner('GENERAL',
                                                                  user_id=self.testuser.get('user').get('_id')).json()
        self.assertTrue(channels_remove_owner.get('success'), channels_remove_owner.get('error'))

    def test_channels_archive_unarchive(self):
        channels_archive = self.rocket.channels_archive('GENERAL').json()
        self.assertTrue(channels_archive.get('success'))
        channels_unarchive = self.rocket.channels_unarchive('GENERAL').json()
        self.assertTrue(channels_unarchive.get('success'))

    def test_channels_close_open(self):
        channels_close = self.rocket.channels_close('GENERAL').json()
        self.assertTrue(channels_close.get('success'))
        channels_open = self.rocket.channels_open('GENERAL').json()
        self.assertTrue(channels_open.get('success'))

    def test_channels_create(self):
        name = str(uuid.uuid1())
        channels_create = self.rocket.channels_create(name).json()
        self.assertTrue(channels_create.get('success'))
        self.assertEqual(name, channels_create.get('channel').get('name'))

    def test_channels_get_integrations(self):
        channels_get_integrations = self.rocket.channels_get_integrations(room_id='GENERAL').json()
        self.assertTrue(channels_get_integrations.get('success'))

    def test_channels_invite(self):
        channels_invite = self.rocket.channels_invite('GENERAL', self.testuser.get('user').get('_id')).json()
        self.assertTrue(channels_invite.get('success'))
        self.assertIn(self.testuser.get('user').get('username'), channels_invite.get('channel').get('usernames'))

    def test_channels_kick(self):
        channels_kick = self.rocket.channels_kick('GENERAL', self.testuser.get('user').get('_id')).json()
        self.assertTrue(channels_kick.get('success'))
        self.assertNotIn(self.testuser.get('user').get('username'), channels_kick.get('channel').get('usernames'))

    def test_channels_leave(self):
        channels_leave = self.rocket.channels_leave('GENERAL').json()
        self.assertFalse(channels_leave.get('success'))
        self.assertEqual(channels_leave.get('errorType'), 'error-you-are-last-owner')

        name = str(uuid.uuid1())
        channels_create = self.rocket.channels_create(name).json()
        self.rocket.channels_invite(room_id=channels_create.get('channel').get('_id'),
                                    user_id=self.testuser.get('user').get('_id'))
        self.rocket.channels_add_owner(channels_create.get('channel').get('_id'),
                                       user_id=self.testuser.get('user').get('_id')).json()
        channels_leave = self.rocket.channels_leave(channels_create.get('channel').get('_id')).json()
        self.assertTrue(channels_leave.get('success'))

    def test_channels_rename(self):
        name = str(uuid.uuid1())
        name2 = str(uuid.uuid1())
        channels_create = self.rocket.channels_create(name).json()
        channels_rename = self.rocket.channels_rename(room_id=channels_create.get('channel').get('_id'),
                                                      name=name2).json()
        self.assertTrue(channels_rename.get('success'))
        self.assertEqual(channels_rename.get('channel').get('name'), name2)

    def test_channels_set_description(self):
        description = str(uuid.uuid1())
        channels_set_description = self.rocket.channels_set_description('GENERAL', description).json()
        self.assertTrue(channels_set_description.get('success'))
        self.assertEqual(channels_set_description.get('description'), description,
                         'Description does not match')

    def test_channels_set_join_code(self):
        join_code = str(uuid.uuid1())
        channels_set_join_code = self.rocket.channels_set_join_code('GENERAL', join_code).json()
        self.assertTrue(channels_set_join_code.get('success'))

    def test_channels_set_read_only(self):
        channels_set_read_only = self.rocket.channels_set_read_only('GENERAL', True).json()
        self.assertTrue(channels_set_read_only.get('success'))
        channels_set_read_only = self.rocket.channels_set_read_only('GENERAL', False).json()
        self.assertTrue(channels_set_read_only.get('success'))

    def test_channels_set_topic(self):
        topic = str(uuid.uuid1())
        channels_set_topic = self.rocket.channels_set_topic('GENERAL', topic).json()
        self.assertTrue(channels_set_topic.get('success'))
        self.assertEqual(channels_set_topic.get('topic'), topic,
                         'Topic does not match')

    def test_channels_set_type(self):
        name = str(uuid.uuid1())
        channels_create = self.rocket.channels_create(name).json()
        self.assertTrue(channels_create.get('success'))

        channels_set_type = self.rocket.channels_set_type(channels_create.get('channel').get('_id'), 'p').json()
        self.assertTrue(channels_set_type.get('success'))
        self.assertTrue(channels_set_type.get('channel').get('t'), 'p')

        channels_set_type = self.rocket.channels_set_type(channels_create.get('channel').get('_id'), 'c').json()
        self.assertFalse(channels_set_type.get('success'))  # should fail because this is no more a channel