o
    «Þh¯  ã                   @   sÎ   d dl Zd dlm  mZ d dlZd dlZd dlm	Z	m
Z
mZ d dlmZ d dlmZ ejdd„ ƒZG dd„ dejƒ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edkree ¡  dS dS )é    N)Úauthenticate_biolucidaÚthumbnail_by_image_idÚimage_info_by_image_id)Ú	Biolucida)Úappc                   C   s   dt jd< t  ¡ S )NTÚTESTING)r   ÚconfigÚtest_client© r
   r
   ú?/home/cmiss/Jenkins/workspace/SPARC-API/tests/test_biolucida.pyÚclient
   s   
r   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚBiolucidaTestCasec                 C   s    t ƒ }tƒ  |  d| ¡ ¡ d S )NÚ )r   r   ÚassertNotEqualÚtoken)ÚselfÚblr
   r
   r   Útest_authenticate   s   z#BiolucidaTestCase.test_authenticatec                 C   s,   t dƒ}|  d|d ¡ |  d|d ¡ d S )Né’  ÚsuccessÚstatusZ115Zcollection_id)r   ÚassertEqual)r   Z
image_infor
   r
   r   Útest_get_image_info   s   z%BiolucidaTestCase.test_get_image_infoc                 C   s   t dƒ}|  | d¡¡ d S )Nr   ó   /9j/4AAQSkZJRgABAQAAAQ)r   Ú
assertTrueÚ
startswith)r   Ú	thumbnailr
   r
   r   Útest_get_thumbnail   s   z$BiolucidaTestCase.test_get_thumbnailc                 C   ó,   t ƒ }| d¡ tdƒ}|  | d¡¡ d S )NZ a20f155e818fbfebbb03275f30f87697r   r   ©r   Ú	set_tokenr   r   r   ©r   r   r   r
   r
   r   Útest_old_token!   ó   
z BiolucidaTestCase.test_old_tokenc                 C   r   )NZ	bad_tokenr   r   r   r!   r
   r
   r   Útest_bad_token'   r#   z BiolucidaTestCase.test_bad_tokenN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   r$   r
   r
   r
   r   r      s    r   c           
      C   sh  |   d¡}d}|j}||v }|sDt d|fd||f¡t |¡dt ¡ v s)t |¡r.t |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}d	}|j}||v }|s‰t d|fd||f¡t |¡dt ¡ v snt |¡rst |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}|jd }d
}||k}|s¿t d|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}|jd }d
}||k}|sõt d|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}|jd }d}||k}|s,t d|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}d S )Nz/image_xmp_info/2727Úpixel_width©Úin©z,%(py1)s in %(py5)s
{%(py5)s = %(py3)s.json
}Úr©Úpy1Úpy3Úpy5úassert %(py7)sÚpy7Úchannel_coloursz0.415133©ú==©z%(py1)s == %(py4)s©r.   Úpy4úassert %(py6)sÚpy6Úpixel_heightÚ	z_spacingú1.000000©
ÚgetÚjsonÚ
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanation©
r   r,   Ú@py_assert0Ú@py_assert4Ú@py_assert2Ú@py_format6Ú@py_format8Ú@py_assert3Ú@py_format5Ú@py_format7r
   r
   r   Útest_image_xmp_info_2727.   ó   
ŠŠllrrR   c           
      C   sÜ  |   d¡}d}|j}||v }|sDt d|fd||f¡t |¡dt ¡ v s)t |¡r.t |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}|jd }d	}||k}|szt d
|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}|jd }d	}||k}|s°t d
|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}|jd }d}||k}|sæt d
|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}d S )Nz/image_xmp_info/1197r(   r)   r+   r,   r-   r1   r2   z0.008184r4   r6   r7   r9   r:   r;   r<   r=   r>   rI   r
   r
   r   Útest_image_xmp_info_11978   s
   
ŠllprT   c                 C   sh  |   d¡}|j}d}||k}|sDt d|fd||f¡dt ¡ v s%t |¡r*t |¡ndt |¡t |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}d	}|j
}||v }|s‰t d
|fd||f¡t |¡dt ¡ v snt |¡rst |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}|j
d	 }d}||k}|s¿t d|fd||f¡t |¡t |¡dœ }	dd|	i }
tt 	|
¡ƒ‚d  } }}|j
d }d}||k}|sõt d|fd||f¡t |¡t |¡dœ }	dd|	i }
tt 	|
¡ƒ‚d  } }}|j
d }d}||k}|s,t d|fd||f¡t |¡t |¡dœ }	dd|	i }
tt 	|
¡ƒ‚d  } }}d S )Nz/image_xmp_info/850éÈ   r4   ©z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sr,   ©Úpy0Úpy2r0   r1   r2   r(   r)   r+   r-   z0.830266r6   r7   r9   r:   r;   r<   r=   ©r?   Ústatus_coderA   rB   rD   rE   rF   rC   rG   rH   r@   ©r   r,   Ú@py_assert1rK   rO   rM   rN   rJ   rL   rP   rQ   r
   r
   r   Útest_image_xmp_info_850A   rS   r^   c                 C   ó˜   |   d¡}|j}d}||k}|sDt d|fd||f¡dt ¡ v s%t |¡r*t |¡ndt |¡t |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}d S )	Nz/image_xmp_info/XYZé  r4   rV   r,   rW   r1   r2   ©
r?   r[   rA   rB   rD   rE   rF   rC   rG   rH   ©r   r,   r]   rK   rO   rM   rN   r
   r
   r   Ú$test_image_xmp_info_invalid_image_idK   ó   
Žrc   c                 C   sŽ  |   d¡}|j}d}||k}|sDt d|fd||f¡dt ¡ v s%t |¡r*t |¡ndt |¡t |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}d	}|j
}||v }|s‰t d
|fd||f¡t |¡dt ¡ v snt |¡rst |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}|j
d	 }d}||k}|s¿t d|fd||f¡t |¡t |¡dœ }	dd|	i }
tt 	|
¡ƒ‚d  } }}d S )Nz/image_blv_link/849rU   r4   rV   r,   rW   r1   r2   Úlinkr)   r+   r-   z-https://sparc.biolucida.net:443/link?l=jpmqiXr6   r7   r9   r:   rZ   r\   r
   r
   r   Útest_image_blv_link_849Q   s   
ŠŠprf   c                 C   r_   )	Nz/image_blv_link/XYZr`   r4   rV   r,   rW   r1   r2   ra   rb   r
   r
   r   Ú$test_image_blv_link_invalid_image_idY   rd   rg   c           
      C   sp  |   d¡}d}|j}||v }|sDt d|fd||f¡t |¡dt ¡ v s)t |¡r.t |¡ndt |¡dœ }dd|i }tt 	|¡ƒ‚d  } }}|jd	 }d
}||k}|szt d|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}|jd }d}||k}|s°t d|fd||f¡t |¡t |¡dœ }dd|i }	tt 	|	¡ƒ‚d  } }}d S )Nz/image_search/77Zdataset_imagesr)   r+   r,   r-   r1   r2   Zdiscover_dataset_idZ77r4   r6   r7   r9   r:   r   r   r>   rI   r
   r
   r   Útest_image_search_dataset_77_   s   
Šlprh   c                 C   sz   |   d¡}|jd }d}||k}|s5t d|fd||f¡t |¡t |¡dœ }dd|i }tt |¡ƒ‚d  } }}d S )	Nz/image_search/292r   Úfailurer4   r6   r7   r9   r:   )r?   r@   rA   rB   rC   rG   rH   )r   r,   rJ   rO   rL   rP   rQ   r
   r
   r   Útest_image_search_dataset_292f   s   
prj   Ú__main__)ÚbuiltinsrD   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterA   ÚpytestÚunittestZapp.mainr   r   r   r   r   Úfixturer   ÚTestCaser   rR   rT   r^   rc   rf   rg   rh   rj   r%   Úmainr
   r
   r
   r   Ú<module>   s&   " 

	
ÿ