
    Z                     z   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SS jr
\R                  \R                  " \R                  R                  \R                  R                  5       " S S	\R                   5      5       5       r\R                  " \R                  R$                  5       " S
 S\5      5       rg)z.Cloud Pub/Sub message transforms test command.    )message_transforms)base)flags)util)http_encodingc           
         [         R                  " 5       n[        U SS5      n[        R                  " [        U SS5      UR
                  5      n[        U SS5      n[        U SS5      nU(       a$  U R                  R                  R                  5       n[        U SS5      nU(       a$  U R                  R                  R                  5       nUR                  [        R                  " 5       [        R                  " U5      UUUUUS9n/ n	UR                   H  n
U
R                  =n(       a  0 nUR!                  5        HY  n[        XR"                  5      nU(       d  M!  UR"                  S:X  a  UR$                  R'                  5       nXUR"                  '   M[     U	R)                  U5        M  U	R)                  U
5        M     U	$ )	z)Runs the message transforms test command.messageN	attributemessage_transforms_filetopicsubscription)project_refmessage_body
attributesr   	topic_refsubscription_refenable_vertex_ai_smtdata)r   MessageTransformsClientgetattrr   ParseAttributesmessagesCONCEPTSr   Parser   TestParseProjectr   EncodetransformedMessagestransformedMessage
all_fieldsnamer   decodeappend)argsr   clientr   r   r   r   r   resultoutputtransformed_messager	   message_copyfieldvalues                  -lib/surface/pubsub/message_transforms/test.py_Runr-      s   557&y$/,##dK&* $D*CTJ
$
&%
MM%%'E~t4,==--335L;;##% ''55#/  & &#77%888w8l%%'%,5ZZ6!LL'')E%*uzz
" ( mmL!mm'( 8 
-    c                   .    \ rS rSrSr\S 5       rS rSrg)r   A   1Tests message transforms against a given message.c                 0    [         R                  " U 5        g N)r   AddTestMessageTransformFlags)parsers    r,   Args	Test.ArgsF   s    	&&v.r.   c                     [        U5      $ r3   r-   selfr$   s     r,   RunTest.RunJ   s    :r.    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr6   r<   __static_attributes__r>   r.   r,   r   r   A   s     :/ /r.   r   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )	TestAlphaN   r1   c                 4   > [         [        [        ]  U 5        g r3   )superrG   r6   )r5   	__class__s    r,   r6   TestAlpha.ArgsR   s    	)Y$V,r.   c                     [        USS9$ )NT)r   r9   r:   s     r,   r<   TestAlpha.RunV   s    400r.   r>   )
r?   r@   rA   rB   rC   rD   r6   r<   rE   __classcell__)rK   s   @r,   rG   rG   N   s"    9- -1 1r.   rG   N)F)rC   googlecloudsdk.api_lib.pubsubr   googlecloudsdk.callioper   !googlecloudsdk.command_lib.pubsubr   r   googlecloudsdk.core.utilr   r-   DefaultUniverseOnlyReleaseTracksReleaseTrackGABETACommandr   ALPHArG   r>   r.   r,   <module>r[      s    5 < ( 3 2 2&R D%%(($*;*;*@*@A4<<  B  D%%++,1 1 -1r.   