o
    QDi+                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ e  ejdd Z	ejdd Z
ejdd	 Zejd
d Zejdd Zejdd Zejdd Zejdd Zejdd Zdd Zdd Zejdddd Zdd ZdS )     N)cleanup_on_sigterm)platformc                 C      t | d}d| S )Ndatabase.dbzsqlite:///%sstrjointmpdirpath r   N/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/conftest.py
sqlite_url      r   c                 c       t | }t| | V  d S Nsacreate_enginepopulate_db)r   enginer   r   r   sqlite_url_data      

r   c                 C   r   )Nr   zduckdb:///%sr   r	   r   r   r   
duckdb_url"   r   r   c                 c   r   r   r   )r   r   r   r   r   duckdb_url_data(   r   r   c               	   c   s    t jd} | std | V  t| }| '}t }|	| t
|jD ]}|td|j d q)W d    d S 1 sDw   Y  d S )NPOSTGRESQL_URLz6Environment variable "POSTGRESQL_URL" is not availablezDROP TABLE "z	" CASCADE)osenvirongetpytestskipr   r   beginMetaDatareflectreversedsorted_tablesexecutetextnameurlr   connmetadatatabler   r   r   postgresql_url0   s   



"r.   c                 c   r   r   r   )r.   r   r   r   r   postgresql_url_data>   r   r/   c               	   c   s    t jd} | std | V  t| }| /}t }|	| |
td t|jD ]}|
td|j d q1W d    d S 1 sLw   Y  d S )N	MYSQL_URLz1Environment variable "MYSQL_URL" is not availablezDROP VIEW IF EXISTS `view`zDROP TABLE `z	` CASCADE)r   r   r   r   r    r   r   r!   r"   r#   r&   r'   r$   r%   r(   r)   r   r   r   	mysql_urlF   s   



"r1   c                 c   s    t | }t| tV  d S r   )r   r   r   r.   )r1   r   r   r   r   mysql_url_dataU   r   r2   c                  C   sB   t jd} | rt j| std | S tjdkrtd | S )NGOOGLE_CREDENTIALS_PATHz?Environment variable "GOOGLE_CREDENTIALS_PATH" is not availablelinuxz<Environment variable "GOOGLE_CREDENTIALS_PATH" is Linux only)	r   r   r   r   isfiler   r    r   type)r   r   r   r   google_credentials_path\   s   


r7   c                 C   s   | j dddddd d S )Nz--ci
store_trueciFzenable integrational tests)actiondestdefaulthelp)	addoption)parserr   r   r   pytest_addoptioni   s   
r@   c                 C   s2   | j jst| j d}t| j d|rdnd d S d S )Nmarkexprz{expr} and not ciznot ci)optionr9   getattrsetattr)configexprr   r   r   pytest_configures   s   rG   module)scopec                 C   s   t jddS )Ndata	cassettes)r   r   r   )requestr   r   r   vcr_cassette_diry   s   rM   c                 C   sn   |   )}|td |td |td |td W d    d S 1 s0w   Y  d S )Nz8CREATE TABLE "table" (id INTEGER PRIMARY KEY, name TEXT)u;   INSERT INTO "table" VALUES (1, 'english'), (2, '中国人')zPCREATE TABLE fruits (uid INTEGER PRIMARY KEY, fruit_name TEXT, calories INTEGER)uJ   INSERT INTO fruits VALUES (1, 'Apples', 200), (2, 'Oranges中国人', 350))r!   r&   r   r'   )r   r+   r   r   r   r      s    
"r   )r   r   
sqlalchemyr   pytest_cov.embedr   frictionlessr   fixturer   r   r   r   r.   r/   r1   r2   r7   r@   rG   rM   r   r   r   r   r   <module>   s:    











