o
    ei                     @   s^   d Z dZddlZddlmZ ddlmZ ddlmZ G dd dejZe	d	kr-e
  dS dS )
z6Tests for google.protobuf.internal.service_reflection.zpetar@google.com (Petar Petrov)    N)unittest_pb2)service_reflection)servicec                   @      e Zd Zdd Zdd ZdS )FooUnitTestc           
         s  G dd dt j}G dd dt j}d  _G dd dtj}d  _ fdd}| }| }| }||t |  d	|j	  d  j d |_	tj
 }||jd
 |t |  ||jd
 tju   ||jd
 tju   d|j	  d  j G dd dtj}	|	 }d |_	||t |  d |j	  d|j d |_	||jd
 |t |  d |j	  d|j d S )Nc                   @      e Zd Zdd ZdS )z/FooUnitTest.testService.<locals>.MockRpcChannelc                 S   s   || _ || _|| _|| d S Nmethod
controllerrequest)selfr
   r   r   responsecallback r   o/var/www/html/pca-backend/venv/lib/python3.10/site-packages/google/protobuf/internal/service_reflection_test.py
CallMethod/   s   z:FooUnitTest.testService.<locals>.MockRpcChannel.CallMethodN__name__
__module____qualname__r   r   r   r   r   MockRpcChannel.       r   c                   @   r   )z2FooUnitTest.testService.<locals>.MockRpcControllerc                 S   s
   || _ d S r   )failure_message)r   msgr   r   r   	SetFailed6      
z<FooUnitTest.testService.<locals>.MockRpcController.SetFailedN)r   r   r   r   r   r   r   r   MockRpcController5   r   r   c                   @   s   e Zd ZdS )z*FooUnitTest.testService.<locals>.MyServiceN)r   r   r   r   r   r   r   	MyService;   s    r   c                    
   |  _ d S r   callback_responser   r   r   r   
MyCallback@   r   z+FooUnitTest.testService.<locals>.MyCallbackzMethod Foo not implemented.   zMethod Bar not implemented.c                   @   r   )z.FooUnitTest.testService.<locals>.MyServiceImplc                 S   
   d| _ d S NT)
foo_calledr   rpc_controllerr   doner   r   r   FooY   r   z2FooUnitTest.testService.<locals>.MyServiceImpl.Fooc                 S   r&   r'   )
bar_calledr)   r   r   r   Bar[   r   z2FooUnitTest.testService.<locals>.MyServiceImpl.BarN)r   r   r   r,   r.   r   r   r   r   MyServiceImplX   s    r/   T)r   
RpcChannelRpcControllerr!   r   TestServicer,   
FooRequestassertEqualr   GetDescriptorr   methods
BarRequest
assertTrueGetRequestClassGetResponseClassBarResponser(   r-   )
r   r   r   r   r$   r*   channelsrvcservice_descriptorr/   r   r#   r   testService-   sR   
zFooUnitTest.testServicec                    s   G dd dt j}d  _ fdd}| }t|}d}d} tj |  ||||   jtj	  ||j
  ||j  | jd |j d S )Nc                   @   r   )z3FooUnitTest.testServiceStub.<locals>.MockRpcChannelc                 S   s    || _ || _|| _||  d S r   r	   )r   r
   r   r   response_classr   r   r   r   r   l   s   z>FooUnitTest.testServiceStub.<locals>.MockRpcChannel.CallMethodNr   r   r   r   r   r   k   r   r   c                    r   r   r    r"   r#   r   r   r$   u   r   z/FooUnitTest.testServiceStub.<locals>.MyCallbackr   r   r   )r   r0   r!   r   TestService_Stubr4   r5   r,   assertIsInstanceFooResponser   r   r6   r
   )r   r   r$   r<   stubr*   r   r   r#   r   testServiceStubj   s   
zFooUnitTest.testServiceStubN)r   r   r   r?   rE   r   r   r   r   r   +   s    =r   __main__)__doc__
__author__unittestgoogle.protobufr   r   r   TestCaser   r   mainr   r   r   r   <module>   s   _