def test_error(self): """ 测试错误信息 """ if not TEST_FLAG['test_error']: return print("测试错误信息") print("测试错误信息 - 连接失败") _connect_para = SimpleGRpcTools.generate_connect_para(ip='127.0.0.1', port=60051) _cresult = SimpleGRpcTools.grpc_call( _connect_para, SimpleGRpcTools.generate_request_obj('test')) self.assertTrue( _cresult.code == '20408' and grpc.StatusCode.UNAVAILABLE.name == _cresult.i18n_msg_paras[0], '测试错误信息失败 - 连接失败 ') print("测试错误信息 - 服务名不存在") _connect_para = SimpleGRpcTools.generate_connect_para(ip='127.0.0.1', port=50051) _cresult = SimpleGRpcTools.grpc_call( _connect_para, SimpleGRpcTools.generate_request_obj('test', '')) self.assertTrue(_cresult.code == '11403', '测试错误信息失败 - 服务名不存在 ') print("测试错误信息 - 超时") _connect_para = SimpleGRpcTools.generate_connect_para(ip='127.0.0.1', port=50051) _cresult = SimpleGRpcTools.grpc_call( _connect_para, SimpleGRpcTools.generate_request_obj('service_simple_overtime'), timeout=0.1) self.assertTrue(_cresult.code == '30403', '测试错误信息失败 - 超时')
def client_simple_call_para_server_tsl(a, b, *args, c=10, d={'d1': 'd1value'}, **kwargs): """ 测试简单调用,进行单向认证(客户端验证服务端证书) """ # 转换参数 _para_values = RunTool.get_current_function_parameter_values( is_simple_mode=True) _para_obj = SimpleGRpcTools.parameters_to_json(_para_values) _req_obj = SimpleGRpcTools.generate_request_obj( service_name='service_simple_call_para', para_json=_para_obj.para_json, has_para_bytes=_para_obj.has_para_bytes, para_bytes=_para_obj.para_bytes) # 发送请求 with open(_TEMP_DIR + '/../../simple_grpc/server.crt', 'rb') as f: _root_certificates = f.read() _connect_para = SimpleGRpcTools.generate_connect_para( ip='localhost', port=50053, is_use_ssl=True, root_certificates=_root_certificates) _cresult = SimpleGRpcTools.grpc_call(_connect_para, _req_obj) _cresult.return_obj = SimpleGRpcTools.json_to_object_by_para_mapping( _cresult.return_json, 'client_simple_call_para') return _cresult
def client_side_stream_call(): """ 客户端流模式,真正调用服务端的函数 """ # 发送请求 _connect_para = SimpleGRpcTools.generate_connect_para(ip='127.0.0.1', port=50051) _cresult = SimpleGRpcTools.grpc_call( _connect_para, client_side_stream_generator(), call_mode=EnumCallMode.ClientSideStream) _cresult.return_obj = SimpleGRpcTools.json_to_object_by_para_mapping( _cresult.return_json, 'service_client_side_stream') return _cresult
def client_simple_call_para(a, b, *args, c=10, d={'d1': 'd1value'}, **kwargs): """ 测试简单调用,直接返回参数 """ # 转换参数 _para_values = RunTool.get_current_function_parameter_values( is_simple_mode=True) _para_obj = SimpleGRpcTools.parameters_to_json(_para_values) _req_obj = SimpleGRpcTools.generate_request_obj( service_name='service_simple_call_para', para_json=_para_obj.para_json, has_para_bytes=_para_obj.has_para_bytes, para_bytes=_para_obj.para_bytes) # 发送请求 _connect_para = SimpleGRpcTools.generate_connect_para( conn_str='127.0.0.1:50051') _cresult = SimpleGRpcTools.grpc_call(_connect_para, _req_obj) _cresult.return_obj = SimpleGRpcTools.json_to_object_by_para_mapping( _cresult.return_json, 'client_simple_call_para') return _cresult
def client_simple_throw_excepiton(): """ 测试简单调用,抛出异常 """ # 转换参数 _para_values = RunTool.get_current_function_parameter_values( is_simple_mode=True) _para_obj = SimpleGRpcTools.parameters_to_json(_para_values) _req_obj = SimpleGRpcTools.generate_request_obj( service_name='service_simple_throw_excepiton', para_json=_para_obj.para_json, has_para_bytes=_para_obj.has_para_bytes, para_bytes=_para_obj.para_bytes) # 发送请求 _connect_para = SimpleGRpcTools.generate_connect_para(ip='127.0.0.1', port=50051) _cresult = SimpleGRpcTools.grpc_call(_connect_para, _req_obj) _cresult.return_obj = SimpleGRpcTools.json_to_object_by_para_mapping( _cresult.return_json, 'client_simple_throw_excepiton') return _cresult