o
    QDi                     @   s   d dl Z d dlmZ d dlmZ dd Zdd Zdd	 Zd
d Ze j	j
dd Zdd Zdd Ze j	j
dd Zdd Zdd Zdd ZdS )    N)validate)FrictionlessExceptionc                  C      t d} | js	J d S )Ndata/table.csvr   validreport r
   d/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/actions/__spec__/test_validate.pytest_validate	      r   c               
   C   sR   t d} | g dg dg dg dg dg dg dg d	g d
gks'J d S )Nzdata/invalid.csv)	rowNumberfieldNumbertype)N   zblank-label)N   zduplicate-label)   r   missing-cell)r   r   r   )r   r   r   )r   r   r   )r   N	blank-row)   r   z
extra-cellr   flattenr   r
   r
   r   test_validate_invalid   s   r   c                  C   sZ   t ddd} | jd dksJ | ddg\\}}|dksJ |d	r)|ds+J d S )
Nzbad.jsonresourcer   errors   r   notezresource-error	[Errno 2]r   statsr   countr	   r   r   r
   r
   r   test_validate_invalid_source   s
   r$   c                  C   s^   t dddd} | jd dksJ | ddg\\}}|d	ks!J |d
r+|ds-J d S )Nnamer   bad)r%   pathschemar   r   r   r   zschema-errorr   r    r#   r
   r
   r   test_validate_invalid_resource$   s
   r)   c                  C   sB   dddddgdgid} t | }|dd	gd
dggksJ d S )Nr   checkszforbidden-valuer&   r   )r   	fieldName	forbidden)r'   	checklistr   r   zcheck-errorz'values' is a required propertyr   )
descriptorr	   r
   r
   r   (test_validate_forbidden_value_task_error,   s   r/   c                  C   r   )Nzdata/package/datapackage.jsonr   r   r
   r
   r   -test_validate_package_descriptor_type_package<   r   r0   c                  C   s.   t d} |  g dg dg dgksJ d S )Nzdata/invalid/datapackage.json)r   r   Nr   )r   r   Nzprimary-key)r   r   Nr   r   r   r
   r
   r   5test_validate_package_descriptor_type_package_invalidA   s   r1   c                  C   s,   t ddd} | ddgddggksJ d S )Nzdata/invalid.jsonpackager   r   r   zpackage-errorzcannot retrieve metadata "data/invalid.json" because "Expecting property name enclosed in double quotes: line 2 column 5 (char 6)"r   r   r
   r
   r   ,test_validate_package_invalid_json_issue_192N   s   r3   c                  C   s   t ddd} | jsJ d S )Ndata/datapackage.jsonz
number-tworesource_namer   r   r
   r
   r   /test_validate_package_single_resource_issue_221Y   s   r7   c                  C   sR   t t} tddd W d    n1 sw   Y  | jj}|jds'J d S )Nr4   r&   r5   z"bad")pytestraisesr   r   valueerrorr   r"   )excinfor;   r
   r
   r   Ctest_validate_package_single_resource_wrong_resource_name_issue_221^   s
   r=   c                  C   s   t d} | jd dksJ d S )Nzdata/package/*.csvtasksr   )r   r!   r   r
   r
   r   &test_validate_multiple_files_issue_850e   s   r?   )r8   frictionlessr   frictionless.exceptionr   r   r   r$   r)   markskipr/   r0   r1   r3   r7   r=   r?   r
   r
   r
   r   <module>   s     


