Ejemplo n.º 1
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)
        testuser = self.rocket.users_info(username='******').json()
        if not testuser.get('success'):
            testuser = self.rocket.users_create('*****@*****.**',
                                                'testuser1', 'password',
                                                'testuser1').json()
            if not testuser.get('success'):
                self.fail("can't create test user")

        self.testuser_id = testuser.get('user').get('_id')
        self.test_group_name = str(uuid.uuid1())
        self.test_group_id = self.rocket.groups_create(
            self.test_group_name).json().get('group').get('_id')

    def tearDown(self):
        self.rocket.users_delete(self.testuser_id)

    def test_groups_create_delete(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'))
        groups_delete = self.rocket.groups_delete(group=name).json()
        self.assertTrue(groups_delete.get('success'))
        groups_create = self.rocket.groups_create(name).json()
        self.assertTrue(groups_create.get('success'))
        room_id = groups_create.get('group').get('_id')
        groups_delete = self.rocket.groups_delete(room_id=room_id).json()
        self.assertTrue(groups_delete.get('success'))

        with self.assertRaises(RocketMissingParamException):
            self.rocket.groups_delete()
Ejemplo n.º 2
0
 def deletePrivateGroup(self, roomId):
     rocket = RocketChat('Admin', 'chat.service', server_url='http://www.chat.service', proxies=None)
     data = rocket.groups_delete(roomId).json()
     status = data["success"]
     return status
Ejemplo n.º 3
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)
        testuser = self.rocket.users_info(username='******').json()
        if not testuser.get('success'):
            testuser = self.rocket.users_create('*****@*****.**',
                                                'testuser1', 'password',
                                                'testuser1').json()
            if not testuser.get('success'):
                self.fail("can't create test user")

        self.testuser_id = testuser.get('user').get('_id')
        self.test_group_name = str(uuid.uuid1())
        self.test_group_id = self.rocket.groups_create(
            self.test_group_name).json().get('group').get('_id')

    def tearDown(self):
        self.rocket.users_delete(self.testuser_id)

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

    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_by_id = self.rocket.groups_info(
            room_id=self.test_group_id).json()
        self.assertTrue(groups_info_by_id.get('success'))
        self.assertIn('group', groups_info_by_id)
        self.assertEqual(
            groups_info_by_id.get('group').get('_id'), self.test_group_id)

        groups_info_by_name = self.rocket.groups_info(
            room_name=self.test_group_name).json()
        self.assertTrue(groups_info_by_name.get('success'))
        self.assertIn('group', groups_info_by_name)
        self.assertEqual(
            groups_info_by_name.get('group').get('_id'), self.test_group_id)

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

    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_id)
        groups_add_owner = self.rocket.groups_add_owner(
            self.test_group_id, user_id=self.testuser_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_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_delete(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'))
        groups_delete = self.rocket.groups_delete(group=name).json()
        self.assertTrue(groups_delete.get('success'))
        groups_create = self.rocket.groups_create(name).json()
        self.assertTrue(groups_create.get('success'))
        room_id = groups_create.get('group').get('_id')
        groups_delete = self.rocket.groups_delete(room_id=room_id).json()
        self.assertTrue(groups_delete.get('success'))

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

    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_id).json()
        self.assertTrue(groups_invite.get('success'))

    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_id).json()
        self.assertTrue(groups_invite.get('success'))
        groups_kick = self.rocket.groups_kick(id_group_created,
                                              self.testuser_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_id)
        self.rocket.groups_add_owner(groups_create.get('group').get('_id'),
                                     user_id=self.testuser_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()
        # should fail because this is no more a group
        self.assertFalse(groups_set_type.get('success'))

    def test_groups_members(self):
        groups_members = self.rocket.groups_members(
            room_id=self.test_group_id).json()
        self.assertTrue(groups_members.get('success'))
        groups_members = self.rocket.groups_members(
            group=self.test_group_name).json()
        self.assertTrue(groups_members.get('success'))

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

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

        groups_roles = self.rocket.groups_roles(
            room_id=groups_create.get('group').get('_id')).json()
        self.assertTrue(groups_roles.get('success'))
        self.assertIsNotNone(groups_roles.get('roles'))

        groups_roles = self.rocket.groups_roles(room_name=name).json()
        self.assertTrue(groups_roles.get('success'))
        self.assertIsNotNone(groups_roles.get('roles'))

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

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

        groups_files = self.rocket.groups_files(
            room_id=groups_create.get('group').get('_id')).json()
        self.assertTrue(groups_files.get('success'))

        groups_files = self.rocket.groups_files(room_name=name).json()
        self.assertTrue(groups_files.get('success'))

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