예제 #1
0
    def get(self, access_token, user_name_ls=None):
        """
        http get 请求
        :param access_token:访问码
        :param user_name_ls: 用户名列表
        :return:[user_dic,,,,]
        """
        user_name_ls = ujson.loads(user_name_ls)

        if not access_token\
                or not user_name_ls:
            return {'result': error_code.ERROR_PARAMS_ERROR}

        if not TokenMgr.check_expire_access_token(access_token):
            return {'result': error_code.ERROR_ACCESS_TOKEN_ERROR}

        result = {'result': error_code.ERROR_SUCCESS}
        connects = ServiceMgrCacher().get_connections(US_REGISTER_DA, RT_HASH_RING, user_name_ls)
        for connect, name_ls in connects.items():
            params = {"user_name_ls": name_ls}
            user_info_ls = user_select(connect, **params)
            [user_dic.__setitem__('device_type', get_device_type(ParamCacher().sm_rpc, user_dic['device_type']))
             for user_dic in user_info_ls
             if user_dic['device_type']]
            result.setdefault('user_info_ls', []).extend(user_info_ls)
        return result
    def test_tcp_rpc_device_user_oper(self):
        user_info = {"user_name": random_str(),
                     "password": random_str(),
                     "des": random_str(),
                     "jid": random_str(),
                     "jid_pwd": random_str(),
                     "type": enum.DEVICE_USER,
                     "device_type": choice_device_type()}
        RgdaTcpRpcClt = ServiceMgrCacher().get_connection(ST_REGISTER_DA,
                                                          rdm_type=RT_HASH_RING,
                                                          rdm_param=user_info['user_name'])
        self.assertEqual(RgdaTcpRpcClt.ping(), "ping response!")

        self.assertTrue(user_insert(RgdaTcpRpcClt, **user_info))

        self.assertTrue(user_select(RgdaTcpRpcClt, user_name_ls=[user_info['user_name']])[0]['user_name'] == user_info['user_name'])

        self.assertTrue(int(user_select(RgdaTcpRpcClt, user_name_ls=[user_info['user_name']])[0]['device_type']) == int(user_info['device_type']))

        self.assertTrue(user_delete(RgdaTcpRpcClt, user_name_ls=user_info['user_name']))
예제 #3
0
    def get_users(self, access_token, user_name_ls):
        """
        获取用户信息
        :param access_token: 访问码
        :param user_name_ls: 用户名列表
        :return:[user_dic,,,,]
        """
        if not access_token\
                or not user_name_ls:
            return {'result': error_code.ERROR_PARAMS_ERROR}

        if not TokenMgr.check_expire_access_token(access_token):
            return {'result': error_code.ERROR_ACCESS_TOKEN_ERROR}

        result = {'result': error_code.ERROR_SUCCESS}
        connects = ServiceMgrCacher().get_connections(US_REGISTER_DA, RT_HASH_RING, user_name_ls)
        for connect, name_ls in connects.items():
            params = {"user_name_ls": name_ls}
            user_info_ls = result.setdefault('user_info_ls', [])
            user_info_ls.extend(user_select(connect, **params))
        return result