
    %
i#                          d Z ddlZddlZddlZddlZddlZ G d dej                  Z G d de          Z G d de          Z	e
d	k    r ej                     dS dS )
zTest pywin32's error semantics    Nc                       e Zd Zd ZdS )TestBasec                 H    |                      |j        |         |           d S N)assertEqualargs)selfexcindexexpecteds       C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32/test/test_exceptions.py_testExceptionIndexzTestBase._testExceptionIndex   s$    %(33333    N)__name__
__module____qualname__r    r   r   r   r      s#        4 4 4 4 4r   r   c                   h    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )TestAPISimplec                     	 t          j        d           n# t           j        $ r}|cY d }~S d }~ww xY w|                     d           d S )N   z$Didn't get invalid-handle exception.)win32apiCloseHandleerrorfailr	   r
   s     r   _getInvalidHandleExceptionz(TestAPISimple._getInvalidHandleException   sd    	 ####~ 	 	 	JJJJJJ			899999s    2-22c                 \    |                      t          j        t          j        d           d S Nr   )assertRaises
pywintypesr   r   r   r	   s    r   
testSimplezTestAPISimple.testSimple   s&    **H,@!DDDDDr   c                 p    |                                  }|                     |dt          j                   d S Nr   )r   r   winerrorERROR_INVALID_HANDLEr   s     r   testErrnoIndexzTestAPISimple.testErrnoIndex   s4    --//  a)FGGGGGr   c                 \    |                                  }|                     |dd           d S )Nr   r   )r   r   r   s     r   testFuncIndexzTestAPISimple.testFuncIndex    s1    --//  a77777r   c                     |                                  }t          j        t          j                                                  }|                     |d|           d S )N   )r   r   FormatMessager&   r'   rstripr   r	   r
   r   s      r   testMessageIndexzTestAPISimple.testMessageIndex$   sP    --//)(*GHHOOQQ  a22222r   c                    	 t          j        d           |                     d           d S # t           j        $ r}|                     |j        t
          j                   |                     |j        d           t          j        t
          j                  	                                }|                     |j
        |           Y d }~d S d }~ww xY w)Nr   zexpected exception!r   )r   r   r   r   r   r&   r'   funcnamer-   r.   strerror)r	   r
   expected_msgs      r   
testUnpackzTestAPISimple.testUnpack)   s    		9 ###II+,,,,,~ 	9 	9 	9S\8+HIIIS\=999#1- fhh  S\<888888888	9s   )- CBCCc                    |                                  }t          j        t          j                                                  }t          j        d|f}|                     t          |          t          |                     d S Nr   )r   r   r-   r&   r'   r.   r   strr	   r
   err_msg	err_tuples       r   	testAsStrzTestAPISimple.testAsStr5   si    --//()FGGNNPP2M7K	S3y>>22222r   c                     |                                  }t          j        t          j                                                  }t          j        d|f}|                     |j        |           d S r7   )r   r   r-   r&   r'   r.   r   r   r9   s       r   testAsTuplezTestAPISimple.testAsTuple<   s_    --//()FGGNNPP2M7K	9-----r   c                 n    |                                  }|                     |j        j        d           d S )Nr   )r   r   	__class__r   r   s     r   testClassNamezTestAPISimple.testClassNameC   s4    --///99999r   c                 z    |                                  }|                     |j        t          j        u            d S r   )r   
assertTruer@   r!   r   r   s     r   testIdentityzTestAPISimple.testIdentityH   s5    --//)99:::::r   c                 \    |                      t          j        j        t          f           d S r   )r   r!   r   	__bases__	Exceptionr"   s    r   testBaseClasszTestAPISimple.testBaseClassL   s&    )3i\BBBBBr   c                 D   |                                  }t          j        t          j                                                  }|                     |j        t          j                   |                     |j        |           |                     |j        d           d S r7   )	r   r   r-   r&   r'   r.   r   r3   r2   r	   r
   r:   s      r   testAttributeszTestAPISimple.testAttributesO   s    --//()FGGNNPPx'DEEEw///}55555r   c                 .   	 t           j        # t           j        $ rw}|                     |j        d           |                     |j        d            |                     |j        d            |                     |j        d            Y d }~d S d }~ww xY wNExpected exceptionr   r!   r   r   r   r   r&   r2   r3   r   s     r   testStrangeArgsNonez!TestAPISimple.testStrangeArgsNoneW   s    	1"" 	1 	1 	1SXr***S\4000S\4000S\4000000000		1s    BA,BBc                 J   	 t          j        d          # t           j        $ r}}|                     |j        d         d           |                     |j        d           |                     |j        d            |                     |j        d            Y d }~d S d }~ww xY wNfoorN   r   rO   r   s     r   testStrangeArgsNotEnoughz&TestAPISimple.testStrangeArgsNotEnougha   s    	1"5))) 	1 	1 	1SXa[%000S\5111S\4000S\4000000000	1s    B"A2BB"c                    	 t          j        dddddd          # t           j        $ r}|                     |j        d         d           |                     |j        d         d           |                     |j        d           |                     |j        d           |                     |j        d           Y d }~d S d }~ww xY w	NrS   baryouneverknr   rN   rO   r   s     r   testStrangeArgsTooManyz$TestAPISimple.testStrangeArgsTooManyl   s    	2"5%qIII 	2 	2 	2SXa[%000SXb\1---S\5111S\5111S\5111111111	2s    CBCCN)r   r   r   r   r#   r(   r*   r0   r5   r<   r>   rA   rD   rH   rK   rP   rT   r\   r   r   r   r   r      s        : : :E E EH H H8 8 83 3 3

9 
9 
93 3 3. . .: : :
; ; ;C C C6 6 61 1 1	1 	1 	1	2 	2 	2 	2 	2r   r   c                   b    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd ZdS )TestCOMSimplec                     	 t          j        dd d           n# t           j        $ r}|cY d }~S d }~ww xY w|                     d           d S )NrS   r   zDidn't get storage exception.)	pythoncomStgOpenStorage	com_errorr   r   s     r   _getExceptionzTestCOMSimple._getExceptiony   si    	$UD!4444" 	 	 	JJJJJJ			122222s    4/44c                 \    |                      t          j        t          j        u            d S r   )rC   r`   rb   r!   r"   s    r   testIszTestCOMSimple.testIs   s%    	+z/CCDDDDDr   c                 `    |                      t          j        t          j        dd d           d S )NrS   r   )r    r`   rb   ra   r"   s    r   r#   zTestCOMSimple.testSimple   s,    )-y/GPTVWXXXXXr   c                 p    |                                  }|                     |dt          j                   d S r%   )rc   r   r&   STG_E_INVALIDFLAGr   s     r   r(   zTestCOMSimple.testErrnoIndex   s4      ""  a)CDDDDDr   c                     |                                  }t          j        t          j                                                  }|                     |d|           d S r   )rc   r   r-   r&   rh   r.   r   r/   s      r   r0   zTestCOMSimple.testMessageIndex   sP      "")(*DEELLNN  a22222r   c                    |                                  }t          j        t          j                                                  }t          j        |d d f}|                     t          |          t          |                     d S r   )rc   r   r-   r&   rh   r.   r   r8   r9   s       r   r<   zTestCOMSimple.testAsStr   sk      ""()CDDKKMM/$E	S3y>>22222r   c                     |                                  }t          j        t          j                                                  }t          j        |d d f}|                     |j        |           d S r   )rc   r   r-   r&   rh   r.   r   r   r9   s       r   r>   zTestCOMSimple.testAsTuple   sa      ""()CDDKKMM/$E	9-----r   c                 n    |                                  }|                     |j        j        d           d S )Nrb   )rc   r   r@   r   r   s     r   rA   zTestCOMSimple.testClassName   s4      ""/=====r   c                 z    |                                  }|                     |j        t          j        u            d S r   )rc   rC   r@   r!   rb   r   s     r   rD   zTestCOMSimple.testIdentity   s5      "")==>>>>>r   c                     |                                  }|                     t          j        j        t
          f           d S r   )rc   r   r!   rb   rF   rG   r   s     r   rH   zTestCOMSimple.testBaseClass   s7      ""-7)FFFFFr   c                 z   |                                  }t          j        t          j                                                  }|                     |j        t          j                   |                     |j        |           |                     |j	        d            |                     |j
        d            d S r   )rc   r   r-   r&   rh   r.   r   hresultr3   argerror	excepinforJ   s      r   rK   zTestCOMSimple.testAttributes   s      ""()CDDKKMMh&@AAAw///t,,,-----r   c                 d   	 t           j        # t           j        $ r}|                     |j        d           |                     |j        d            |                     |j        d            |                     |j        d            |                     |j        d            Y d }~d S d }~ww xY wrM   )	r!   rb   r   r   r   rp   r3   rq   rr   r   s     r   rP   z!TestCOMSimple.testStrangeArgsNone   s    	2&&# 	2 	2 	2SXr***S[$///S\4000S\4000S]D111111111	2s    B/BB**B/c                    	 t          j        d          # t           j        $ r}|                     |j        d         d           |                     |j        d           |                     |j        d            |                     |j        d            |                     |j        d            Y d }~d S d }~ww xY wrR   	r!   rb   r   r   r   rp   r3   rr   rq   r   s     r   rT   z&TestCOMSimple.testStrangeArgsNotEnough   s    	1&u---# 	1 	1 	1SXa[%000S[%000S\4000S]D111S\4000000000	1s    B=BB88B=c                    	 t          j        dddddd          # t           j        $ r}|                     |j        d         d           |                     |j        d         d           |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           Y d }~d S d }~ww xY wrV   ru   r   s     r   r\   z$TestCOMSimple.testStrangeArgsTooMany   s    		4&ueUGT1MMM# 	4 	4 	4SXa[%000SXb\1---S[%000S\5111S]E222S\7333333333	4s    C#B.CC#N)r   r   r   rc   re   r#   r(   r0   r<   r>   rA   rD   rH   rK   rP   rT   r\   r   r   r   r^   r^   x   s        3 3 3E E EY Y YE E E3 3 3
3 3 3. . .> > >? ? ?G G G. . .	2 	2 	2	1 	1 	1
4 
4 
4 
4 
4r   r^   __main__)__doc__unittestr`   r!   r   r&   TestCaser   r   r^   r   mainr   r   r   <module>r|      s    $ $           4 4 4 4 4x  4 4 4d2 d2 d2 d2 d2H d2 d2 d2NY4 Y4 Y4 Y4 Y4H Y4 Y4 Y4x zHMOOOOO r   