def _test_proto_module_imported_once(): from grpc_tools import protoc with _augmented_syspath( ("tools/distrib/python/grpcio_tools/grpc_tools/test/", )): protos = protoc._protos("simple.proto") services = protoc._services("simple.proto") complicated_protos = protoc._protos("complicated.proto") simple_message = protos.SimpleMessage() complicated_message = complicated_protos.ComplicatedMessage() assert (simple_message.simpler_message.simplest_message.__class__ is complicated_message.simplest_message.__class__)
def _test_import_services(): from grpc_tools import protoc with _augmented_syspath( ("tools/distrib/python/grpcio_tools/grpc_tools/test/", )): protos = protoc._protos("simple.proto") services = protoc._services("simple.proto") assert services.SimpleMessageServiceStub is not None
def _test_static_dynamic_combo(): with _augmented_syspath( ("tools/distrib/python/grpcio_tools/grpc_tools/test/", )): from grpc_tools import protoc import complicated_pb2 protos = protoc._protos("simple.proto") static_message = complicated_pb2.ComplicatedMessage() dynamic_message = protos.SimpleMessage() assert (dynamic_message.simpler_message.simplest_message.__class__ is static_message.simplest_message.__class__)
def _test_syntax_errors(): from grpc_tools import protoc try: protos = protoc._protos("flawed.proto") except Exception as e: error_str = str(e) assert "flawed.proto" in error_str assert "17:23" in error_str assert "21:23" in error_str else: assert False, "Compile error expected. None occurred."