3 SLj @ s$ d Z dZddlZyddlZW n ek r8 ddlZY nX ddlmZ ddlmZ ddlm Z ddlm Z ddlmZ dd lm Z dd lmZ ddlmZ ddlmZ dd lmZ dZG dd dejZG dd deZG dd dejZG dd dejZG dd dejZedkr ej dS )z1Unittest for google.protobuf.internal.descriptor.z#robinson@google.com (Will Robinson) N)unittest_custom_options_pb2)unittest_import_pb2)unittest_pb2)descriptor_pb2)api_implementation) test_util) descriptor)descriptor_pool)symbol_database)text_formatz name: 'TestEmptyMessage' c @ s e Zd Zdd Zdd Zdd Zdd Zd d Zdd Zd d Z dd Z dd Zdd Zdd Z dd Zdd Zdd Zejej dkpej dkdd d! Zd"S )#DescriptorTestc C s t jddd}|jjdd}|jjddt jjt jjd |jjd d}|j jd dd |j jd dd |j jddd |jjdd |j jdd}|jjdddd}| j | _ | j j| | j j|j| _| jj|j | _| jj|j | _| jj|j | _| jj|j | _d S )Nzsome/filename/some.protoprotobuf_unittest)namepackage NestedMessage)r Zbb )r numbertypelabelForeignEnumFOREIGN_FOO )r r ZFOREIGN_BAR ZFOREIGN_BAZ ZResponseMessageZServiceZ CallMethodz .protobuf_unittest.NestedMessagez".protobuf_unittest.ResponseMessage)r Z input_typeZoutput_type)r FileDescriptorProtomessage_typeaddfieldZFieldDescriptorProtoZ TYPE_INT32ZLABEL_OPTIONAL enum_typevalueZservicemethodGetDescriptorPoolpoolZAddZFindFileByNamer my_filemessage_types_by_name my_messageenum_types_by_namemy_enumservices_by_name my_servicemethods_by_name my_method)self file_protoZ message_protoZ enum_protoZ service_protoZmethod_proto r. %/usr/lib/python3.6/descriptor_test.pysetUp> s: zDescriptorTest.setUpc C s t j jS )N)r Defaultr" )r, r. r. r/ r! b s z DescriptorTest.GetDescriptorPoolc C s | j | jjddd | j | jjd jd j| jjdd | jt | jjdd W d Q R X | jt | jjdd W d Q R X | jt | jj W d Q R X d S )Nr r r i ZNoneEnum) assertEqualr% Z EnumValueNamer&