o
    ª›h<  ã                   @   s  e d ƒ e dƒ ddlZddlZddlZddlZddlZe ¡ Zdejv r1e 	e¡Z
ej d¡ ne ¡ Z
e
ejvrAej de
¡ e ¡ ZddlZddlmZ eZdejv rZdej_e ejƒ e dej ƒ zee ¡ ƒZW n   d	ZY e ¡ Zi Zd
ZdZded< ded< ded< ded< edu ršdeged< need< ded< dZer«edkr«n3edkrÆdZ dZ!dZ"dZ#dZ$dZ%de%e$e e!e"e#f Zned krÞe &¡ rÑd!Z'nd"Z'e (e¡Z)d#e'e)f Ze d$e› �ƒ e d%e›�ƒ G d&d'„ d'ej*ƒZ+e,d(k�re -¡  eedƒ dS dS ))zLThis module depends on the dbapi20 compliance tests created by Stuart Bishopz*(see db-sig mailing list history for info)é    Nz	--packageé   z	--verboseé   zTested with dbapi20 %sFztestsql.2txt.us,1430z%s\SQLEXPRESSZadotestÚnameZadotestuserÚuserZ	Sq1234567ÚpasswordÚsecurityZmacro_auto_securityÚhostZmacro_getnodezBProvider=MSOLEDBSQL;DataTypeCompatibility=80;MARS Connection=True;ÚproviderzI%(provider)s; %(security)s; Initial Catalog=%(name)s;Data Source=%(host)szz-PCZxxxz25.223.161.222Z12345678zPostgreSQL UnicodeÚ z2%sDriver={%s};Server=%s;Database=%s;uid=%s;pwd=%s;ZyyyzMicrosoft.ACE.OLEDB.12.0zMicrosoft.Jet.OLEDB.4.0zProvider=%s;Data Source=%szUsing Connection String like=z	Keywords=c                   @   sZ   e Zd ZeZefZeZdd„ Z	dd„ Z
dd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )Útest_adodbapic                 C   s   t j | |¡ d S ©N)Údbapi20ÚDatabaseAPI20TestÚ__init__)ÚselfÚarg© r   úYc:\Users\shubh\Videos\agent\nova\Lib\site-packages\adodbapi/test/test_adodbapi_dbapi20.pyr   ]   ó   ztest_adodbapi.__init__c                 C   s   |   ¡  d¡d S )NÚ.éÿÿÿÿ)ÚidÚsplit©r   r   r   r   ÚgetTestMethodName`   r   ztest_adodbapi.getTestMethodNamec                 C   s~   t j | ¡ |  ¡ dkr=|  ¡ }|j}|dkrd}nd}| ¡ }z| |¡ | ¡  W n   Y | 	¡  | 	¡  d| _
d S d S )NÚtest_callproczMS Jetz³
                    create procedure templower
                        @theData varchar(50)
                    as
                        select lower(@theData)
                z´
                    create procedure templower
                        (theData varchar(50))
                    as
                        select lower(theData);
                Z	templower)r   r   ÚsetUpr   Ú_connectZ	dbms_nameÚcursorÚexecuteÚcommitÚcloseZ
lower_func)r   ÚconZengineÚsqlÚcurr   r   r   r   c   s"   

æztest_adodbapi.setUpc                 C   sL   |   ¡ dkr|  ¡ }| ¡ }z| d¡ W n   Y | ¡  tj | ¡ d S )Nr   zdrop procedure templower)r   r   r   r   r    r   r   ÚtearDown)r   r"   r$   r   r   r   r%   ƒ   s   ztest_adodbapi.tearDownc                 C   s    	 d| j | j f }| |¡ dS )z)Should create a procedure called deletemezª
            create procedure deleteme as
            begin
                select count(*) from %sbooze
                select name from %sbooze
            end
        N)Ztable_prefixr   )r   r$   r#   r   r   r   Úhelp_nextset_setUpŽ   s   þú
z test_adodbapi.help_nextset_setUpc                 C   s   z|  d¡ W dS    Y dS )z*If cleaning up is needed after nextSetTestzdrop procedure deletemeN)r   )r   r$   r   r   r   Úhelp_nextset_tearDown�   s   z#test_adodbapi.help_nextset_tearDownc                 C   sì   |   ¡ }z`| ¡ }| jg|  ¡  }|D ]}| |¡ q|  |¡ | d¡ | ¡ }|d dks1J ‚| ¡ s7J ‚| 	¡ }t
|ƒt
| jƒksFJ ‚| ¡ }|d u sRJ dƒ‚W z|  |¡ W | ¡  d S | ¡  w z|  |¡ W | ¡  w | ¡  w )NZdeletemer   é   z'No more return sets, should return None)r   r   Zddl1Z	_populater   r&   ZcallprocZfetchoneZnextsetZfetchallÚlenZsamplesr'   r!   )r   r"   r$   Zstmtsr#   ZnumberofrowsÚnamesÚsr   r   r   Útest_nextset¤   s*   

ýztest_adodbapi.test_nextsetc                 C   s   d S r   r   r   r   r   r   Útest_setoutputsize½   s   z test_adodbapi.test_setoutputsizeN)Ú__name__Ú
__module__Ú__qualname__ÚdbÚdriverÚconnStrZconnect_argsÚconn_kwsZconnect_kw_argsr   r   r   r%   r&   r'   r,   r-   r   r   r   r   r   X   s     r   Ú__main__).ÚprintÚplatformÚsysZunittestr   ZsetuptestframeworkZmaketempZ
testfolderÚargvZmakeadopackageÚpthÚremoveZfind_ado_pathÚpathÚinsertZgetcleanupfunctionÚcleanupZadodbapiZadodbapi.is64bitZis64bitr1   ÚverboseÚversionÚ__version__ÚboolÚgetwindowsversionZ	onWindowsÚnoder4   r   Úinstancer3   Z_computernameZ_databasenameZ	_usernameZ	_passwordZ_driverÚ	_providerÚPythonr2   ZmakemdbZtestmdbr   r   r.   Úmainr   r   r   r   Ú<module>   sŒ    




ÿú

iþ