
                          N    S SK rS SKrS SKJr  S SKrS SKJr  Sr " S S\	5      r
g)    N)
exceptions)
WSGIServerztest.invalidc                   ^    \ rS rSr\R
                  " SS9S 5       rS rS rS r	S r
S	 rS
rg)RequestResponseTests   module)scopec              #     #    [         R                  " [        5      nSUl        UR	                  S5      S 5       nUR	                  S5      S 5       n[        UR                  S9nUR                  5         Uv   UR                  5         g7f)zProvides a test HTTP server.

The test server is automatically created before
a test and destroyed at the end. The server is serving a test
application that can be used to verify requests.
T/basicc                      [         R                  R                  R                  SS5      n SU 0nS[        R
                  R                  U4$ )Nx-test-headervaluezX-Test-HeaderzBasic Content)flaskrequestheadersgethttpclientOK)header_valuer   s     Splatform/gsutil/third_party/google-auth-library-python-httplib2/tests/compliance.pyindex*RequestResponseTests.server.<locals>.index(   s=     ==0044_gNL&5G"DKKNNG;;    /server_errorc                  :    S[         R                  R                  4$ )NError)r   r   INTERNAL_SERVER_ERROR r   r   server_error1RequestResponseTests.server.<locals>.server_error.   s    DKK====r   )applicationN)	r   Flask__name__debugrouter   wsgi_appstartstop)selfappr   r    servers        r   r,   RequestResponseTests.server   s}      kk(#	 
8		< 
	<
 
?	#	> 
$	>
 5s   BB
c                     U R                  5       nU" UR                  S-   SS9nUR                  [        R                  R
                  :X  d   eUR                  S   S:X  d   eUR                  S:X  d   eg )Nr   GETurlmethodr   r      Basic Contentmake_requestr1   statusr   r   r   r   datar*   r,   r   responses       r   test_request_basic'RequestResponseTests.test_request_basic9   sk    ##%vzzH4UC$++..0000G;;;}} 0000r   c                     U R                  5       nU" UR                  S-   SSS9nUR                  [        R                  R
                  :X  d   eUR                  S   S:X  d   eUR                  S:X  d   eg )Nr   r/      )r1   r2   timeoutr   r   r3   r4   r8   s       r   test_request_timeout)RequestResponseTests.test_request_timeoutA   sm    ##%vzzH4UAN$++..0000G;;;}} 0000r   c                     U R                  5       nU" UR                  S-   SSS0S9nUR                  [        R                  R
                  :X  d   eUR                  S   S:X  d   eUR                  S:X  d   eg )Nr   r/   r   zhello world)r1   r2   r   r3   r4   r8   s       r   test_request_headers)RequestResponseTests.test_request_headersI   sy    ##%

X%$m4
 $++..0000MAAA}} 0000r   c                     U R                  5       nU" UR                  S-   SS9nUR                  [        R                  R
                  :X  d   eUR                  S:X  d   eg )Nr   r/   r0   s   Error)r5   r1   r6   r   r   r   r7   r8   s       r   test_request_error'RequestResponseTests.test_request_errorU   sS    ##%vzzO;EJ$++"C"CCCC}}(((r   c                     U R                  5       n[        R                  " [        R                  5         U" SR                  [        5      SS9  S S S 5        g ! , (       d  f       g = f)Nz	http://{}r/   r0   )r5   pytestraisesr   TransportErrorformatNXDOMAIN)r*   r   s     r   test_connection_error*RequestResponseTests.test_connection_error\   sC    ##%]]:445**84UC 655s   A
A'r   N)r$   
__module____qualname____firstlineno__rH   fixturer,   r:   r?   rB   rE   rM   __static_attributes__r   r   r   r   r      s7    ^^(# $:11
1)Dr   r   )http.clientr   r   google.authr   rH   pytest_localserver.httpr   rL   objectr   r   r   r   <module>rX      s-      "  . ED6 EDr   