o
    ª›hó  ã                   @   s²   d dl Z d dlZd dlmZmZ ze  ¡  W n e jy$   d dlZY nw G dd„ dejƒZ	dd„ Z
edkrWd dlT eƒ Zed	d d
�gZede	jedd�Zege_eeƒ dS dS )é    N)ÚExtensionErrorÚthreaded_extensionc                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )Ú	ExtensionzPython ISAPI Testerc                 C   s¾   t d | d¡¡ƒ | d¡}| d¡d }t| |d ƒ}|d u r(td|› d�ƒ‚||ƒ}|d u r2d S | ddd	¡ t d
|d|d� t d|d� t ||d� t d|d� t d|d� | ¡  d S )NzTester dispatching "{}"ÚURLú/éÿÿÿÿzNo test named 'ú'z200 OKzContent-type: text/html

Fz%<HTML><BODY>Finished running test <i>z</i>)Úfilez<pre>z</pre>z</BODY></HTML>)ÚprintÚformatÚGetServerVariableÚsplitÚgetattrÚAttributeErrorÚSendResponseHeadersÚDoneWithSession)ÚselfÚecbÚurlZ	test_nameÚmethÚresult© r   úQc:\Users\shubh\Videos\agent\nova\Lib\site-packages\isapi/test/extension_simple.pyÚDispatch   s    
zExtension.Dispatchc              
   C   sN   z	|  d¡ tdƒ‚ ty& } z|jtjksJ |ƒ‚W Y d }~dS d }~ww )Nzfoo barzshould have failed!úworked!)r   ÚAssertionErrorr   ÚerrnoÚwinerrorZERROR_INVALID_INDEX)r   r   Úerrr   r   r   Útest1/   s   
€þzExtension.test1c                 C   s~   |  d¡}dd }t|ƒdkr*|  d¡}d| d | d }| d	|¡ | ¡  d S ||kr5d
t|ƒf S dt|ƒt|ƒf S )NZQUERY_STRINGÚxi4!  r   r   z
Location: ú?z

z	301 Movedz-Total length of variable is %d - test worked!z4Unexpected query portion!  Got %d chars, expected %d)r   Úlenr   r   )r   r   ÚqsZexpected_queryÚmeÚheadersr   r   r   Útest_long_vars7   s   

þzExtension.test_long_varsc                 C   sb   t | d¡ d¡d ƒ}|dk rd| S | d¡}t|tƒs"J dƒ‚|t| d¡ƒks/J d	ƒ‚d
S )NÚSERVER_SOFTWAREr   é   g      @z=This is IIS version %g - unicode only works in IIS6 and laterZUNICODE_SERVER_NAMEzunexpected type!ZSERVER_NAMEz0Unicode and non-unicode values were not the samer   )Úfloatr   r   Ú
isinstanceÚstr)r   r   ÚverÚusr   r   r   Útest_unicode_varsM   s   
ÿþzExtension.test_unicode_varsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r&   r.   r   r   r   r   r      s    r   c                   C   s   t ƒ S )N)r   r   r   r   r   Ú__ExtensionFactory__]   s   r3   Ú__main__)Ú*r5   )r   ÚFlagsZpyisapi_testÚreplace)ÚNameÚDescriptionZ
ScriptMapsZScriptMapUpdate)Zwin32apir   Zisapir   r   ZGetConsoleTitleÚerrorZwin32traceutilZThreadPoolExtensionr   r3   r/   Zisapi.installZISAPIParametersÚparamsZScriptMapParamsÚsmZVirtualDirParametersr2   ZvdZVirtualDirsZHandleCommandLiner   r   r   r   Ú<module>   s.   
þDüï