
    	                     2   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	  \R                  \R                  " \R                  R                  \R                  R                  \R                  R                  5       " S S\R                   5      5       5       rg	)
z.Cloud Pub/Sub message transforms test command.    )message_transforms)base)flags)util)http_encodingc                   .    \ rS rSrSr\S 5       rS rSrg)Test   z1Tests message transforms against a given message.c                 0    [         R                  " U 5        g )N)r   AddTestMessageTransformFlags)parsers    -lib/surface/pubsub/message_transforms/test.pyArgs	Test.Args   s    	&&v.    c           	         [         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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	$ )Nmessage	attributemessage_transforms_filetopicsubscription)project_refmessage_body
attributesr   	topic_refsubscription_refdata)r   MessageTransformsClientgetattrr   ParseAttributesmessagesCONCEPTSr   Parser   r	   ParseProjectr   EncodetransformedMessagestransformedMessage
all_fieldsnamer   decodeappend)selfargsclientr   r   r   r   r   resultoutputtransformed_messager   message_copyfieldvalues                  r   RunTest.Run#   s}   779F4D1L%%k4(&//J &d,EtLD'4(Emm!!'')e46L]]//557l[[%%'")),7 7%  F F%99'::	:	:'')E'::.%UzzV#ll))+e',$ * 	l#)*  : Mr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r5   __static_attributes__r7   r   r   r	   r	      s    
 :/ /$r   r	   N)r<   googlecloudsdk.api_lib.pubsubr   googlecloudsdk.callioper   !googlecloudsdk.command_lib.pubsubr   r   googlecloudsdk.core.utilr   DefaultUniverseOnlyReleaseTracksReleaseTrackGABETAALPHACommandr	   r7   r   r   <module>rJ      s|    5 < ( 3 2 2 $++00$2C2C2I2I+4<< + +r   