o
    ¹iŸ  ã                   @   s^   d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ d dlm	Z	 G dd„ dej
ƒZdS )é    )Ú
namedtuple)ÚdatetimeN)Újson2package©ÚReleasec                   @   s”   e Zd 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d„ 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 )#ÚTestReleasec                 C   s@   t j t j t¡d¡}t t|ƒ ¡ ¡| _t	t|ƒ ¡ ƒ| _
d S )Nzpackage.json)ÚosÚpathÚjoinÚdirnameÚ__file__ÚjsonÚloadsÚopenÚreadr   Úpackage)Úselfr   © r   úM/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/tests/test_release.pyÚsetUp   s
   ÿzTestRelease.setUpc                 C   s   |   g d¢| jj¡ d S )N)ú0.0.0ú0.0.2ú0.0.15)ÚassertEqualsr   Úrelease_ids©r   r   r   r   Útest_release_ids   s   
ÿzTestRelease.test_release_idsc                    sœ   d‰ | j d ˆ  }‡ fdd„|D ƒ}|  |d j| j ˆ ¡d j¡ |  |d j| j ˆ ¡d j¡ |  d| j ˆ ¡d j¡ |  d| j ˆ ¡d j¡ d S )	Nr   Úreleasesc                    ó   g | ]}t ˆ |ƒ‘qS r   r   ©Ú.0Úr©Ú
release_idr   r   Ú
<listcomp>   ó    z,TestRelease.test_release.<locals>.<listcomp>r   é   Ú 3e3098611177c34706de2e10476b3e50Ú be198baa95116c1c9d17874428e3a0c6)r   r   Ú
md5_digestr   Úrelease©r   r*   Úrelease_listr   r"   r   Útest_release   s   ÿÿÿÿzTestRelease.test_releasec                 C   s(   d}| j  |¡d }|  d| ¡ ¡ d S )Nr   r   z<Release 0.0.2>)r   r*   r   Ú__repr__©r   r#   r*   r   r   r   Ú	test_repr$   s   zTestRelease.test_reprc                 C   s&   d}| j  |¡d }|  ||j¡ d S )Nr   r   )r   r*   r   r#   r/   r   r   r   Útest_release_id)   ó   zTestRelease.test_release_idc                 C   s    d}| j  |¡}|  d |¡ d S )Nz0.0.3)r   r*   r   r/   r   r   r   r1   .   s   c                 C   s.   d}| j  |¡d }|  t dd¡|j¡ d S )Nr   r   z2014-08-16T12:21:20z%Y-%m-%dT%H:%M:%S)r   r*   r   r   ÚstrptimeÚuploadedr/   r   r   r   Útest_release_uploaded3   s   
ÿþz!TestRelease.test_release_uploadedc                 C   ó&   d}| j  |¡d }|  d|j¡ d S )Nr   r   z2.7)r   r*   r   Úpython_versionr/   r   r   r   Útest_release_python_version:   r2   z'TestRelease.test_release_python_versionc                 C   ó*   d}| j  |¡d }d}|  ||j¡ d S )Nr   r   zKhttps://pypi.python.org/packages/2.7/y/yarg/yarg-0.0.2-py2.py3-none-any.whl)r   r*   r   Úurl)r   r#   r*   r:   r   r   r   Útest_release_url?   ó   zTestRelease.test_release_urlc                 C   r9   )Nr   r   r'   )r   r*   r   r)   )r   r#   r*   Úmd5r   r   r   Útest_release_md5E   r<   zTestRelease.test_release_md5c                 C   r9   )Nr   r   zyarg-0.0.2-py2.py3-none-any.whl)r   r*   r   Úfilename)r   r#   r*   r?   r   r   r   Útest_release_filenameK   r<   z!TestRelease.test_release_filenamec                 C   r9   )Nr   r   i\T  )r   r*   r   Úsize)r   r#   r*   rA   r   r   r   Útest_release_sizeQ   r<   zTestRelease.test_release_sizec                 C   r6   )Nr   r   Úwheeeel©r   r*   r   Úpackage_typer/   r   r   r   Ú!test_release_unknown_package_typeW   r2   z-TestRelease.test_release_unknown_package_typec                 C   r6   )Nr   r   ÚwheelrD   r/   r   r   r   Útest_release_package_type\   r2   z%TestRelease.test_release_package_typec                 C   r6   )Nr   r   T)r   r*   r   Úhas_sigr/   r   r   r   Útest_release_has_siga   r2   z TestRelease.test_release_has_sigc                 C   s   |   d| jj¡ d S )Nr   )r   r   Úlatest_release_idr   r   r   r   Útest_latest_release_idf   s   z"TestRelease.test_latest_release_idc                    sŒ   d‰ | j d ˆ  }‡ fdd„|D ƒ}|  |d j| jjd j¡ |  |d j| jjd j¡ |  d| jjd j¡ |  d| jjd j¡ d S )	Nr   r   c                    r   r   r   r   r"   r   r   r$   l   r%   z3TestRelease.test_latest_release.<locals>.<listcomp>r   r&   Ú 3e3098611177c34706de2e10476b3e51Ú be198baa95116c1c9d17874428e3a0c7)r   r   r)   r   Úlatest_releaser+   r   r"   r   Útest_latest_releasei   s   ÿÿÿÿzTestRelease.test_latest_releaseN)Ú__name__Ú
__module__Ú__qualname__r   r   r-   r0   r1   r5   r8   r;   r>   r@   rB   rF   rH   rJ   rL   rP   r   r   r   r   r      s$    r   )Úcollectionsr   r   r   r   ÚunittestÚyarg.packager   Úyarg.releaser   ÚTestCaser   r   r   r   r   Ú<module>   s    