B
    Ce                 @   sj   d dl Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 ddddZddd	d
ZddddZdS )    N   )Request)get_comma_headerhas_expect_100_continueHeadersnormalize_and_validateset_comma_header)LocalProtocolError)returnc           	   C   sn  t dgdgkstt dgdgks(ttt t dg W d Q R X tt t dg W d Q R X tt} t dg W d Q R X dt| jksttt t dg W d Q R X tt t dg W d Q R X tt t d	g W d Q R X tt} t d
g W d Q R X dt| jks.ttt t dg W d Q R X tt t dg W d Q R X tt t dg W d Q R X tt t dg W d Q R X tt t dg W d Q R X tt t dg W d Q R X t dgdgksttt t dg W d Q R X tt t dg W d Q R X tt t ddg W d Q R X t ddgdgks~tt dgdgksttt t dddg W d Q R X tt t dg W d Q R X t dgdgkstt dgdgksttt} t dg W d Q R X | jjdks6ttt} t ddg W d Q R X | jjdksjtd S ) N)foobar)s   foos   bar)s   foo r   )s    foor   )s   foo bars   bazzfoo bar)s   foo bars   baz)s   foobars   baz)s   foobars   baz)r   zbarbazzbar\rbaz)r   zbar
baz)r   zbar baz)r   zbarbaz  )r   z  barbaz)r   zbarbaz	)r   z	barbaz)zContent-Length1)s   content-length   1)zContent-LengthZasdf)zContent-LengthZ1x)zContent-Length2)zContent-Length0)s   content-length   0)zContent-Lengthz0 , 0)zContent-Lengthz1 , 1,2)zTransfer-Encodingchunked)s   transfer-encodings   chunked)zTransfer-EncodingZcHuNkEd)zTransfer-Encodinggzipi  )r   AssertionErrorpytestraisesr	   strvalueZerror_status_hint)excinfo r   j/var/www/downstreamdata.science/rtclock/rtclock-venv/lib/python3.7/site-packages/h11/tests/test_headers.pytest_normalize_and_validate   sv    r   c           	   C   s   t dddg} t| ddddgks&tt| dd	d
g} tt t| ddd
g W d Q R X | dddddgksrtt| ddg} | dddddgkstd S )N)
Connectionclose)ZwhateverZ	something)Z
connectiONzfOo,, , BARs
   connections   closes   foos   bars   newthingabz  a)s
   connections   close)s   whatevers	   something)s
   connections   fOo,, , BAR)s   newthing   a)s   newthing   bs   whateverzdifferent thing)s   whatevers   different thing)r   r   r   r   r   r   r	   )headersr   r   r   test_get_set_comma_header_   s*    r$   c               C   sl   t tddddgdstt tdddgdr2tt tddddgdsLtt tddddgddrhtd S )	NGET/)Hostzexample.com)Expectz100-continue)methodtargetr#   )r(   z100-Continuez1.0)r)   r*   r#   http_version)r   r   r   r   r   r   r   test_has_100_continue   s$    r,   )r   Z_eventsr   _headersr   r   r   r   r   Z_utilr	   r   r$   r,   r   r   r   r   <module>   s   Q#