def test_api_get_users_group(self): id_, params = _build_data(self.apikey, 'get_users_group', usersgroupid=TEST_USERS_GROUP) response = api_call(self, params) users_group = UsersGroupModel().get_group(TEST_USERS_GROUP) members = [] for user in users_group.members: user = user.user members.append(user.get_api_data()) ret = users_group.get_api_data() ret['members'] = members expected = ret self._compare_ok(id_, expected, given=response.body)
def test_api_get_users_groups(self): make_users_group('test_users_group2') id_, params = _build_data(self.apikey, 'get_users_groups',) response = api_call(self, params) expected = [] for gr_name in [TEST_USERS_GROUP, 'test_users_group2']: users_group = UsersGroupModel().get_group(gr_name) ret = users_group.get_api_data() expected.append(ret) self._compare_ok(id_, expected, given=response.body) UsersGroupModel().delete(users_group='test_users_group2') Session().commit()
def create_users_group(self, apiuser, group_name, active=Optional(True)): """ Creates an new usergroup :param apiuser: :param group_name: :param active: """ if UsersGroupModel().get_by_name(group_name): raise JSONRPCError("users group `%s` already exist" % group_name) try: active = Optional.extract(active) ug = UsersGroupModel().create(name=group_name, active=active) Session().commit() return dict( msg='created new users group `%s`' % group_name, users_group=ug.get_api_data() ) except Exception: log.error(traceback.format_exc()) raise JSONRPCError('failed to create group `%s`' % group_name)