U
    kufŸ  ã                   @   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   ú6/tmp/pip-unpacked-wheel-pz57x_63/tests/test_release.pyÚsetUp   s
    ÿzTestRelease.setUpc                 C   s   |   dddg| jj¡ d S )Nú0.0.0ú0.0.2ú0.0.15)ÚassertEqualsr   Z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                    s   g | ]}t ˆ |ƒ‘qS r   r   ©Ú.0Úr©Ú
release_idr   r   Ú
<listcomp>   s     z,TestRelease.test_release.<locals>.<listcomp>r   é   Ú 3e3098611177c34706de2e10476b3e50Z be198baa95116c1c9d17874428e3a0c6)r   r   Ú
md5_digestr   Úrelease©r   r&   Z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)   s    zTestRelease.test_release_idc                 C   s    d}| j  |¡}|  d |¡ d S )Nz0.0.3)r   r&   r   r*   r   r   r   r,   .   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   ÚstrptimeZuploadedr*   r   r   r   Útest_release_uploaded3   s    
ÿþz!TestRelease.test_release_uploadedc                 C   s&   d}| j  |¡d }|  d|j¡ d S )Nr   r   z2.7)r   r&   r   Úpython_versionr*   r   r   r   Útest_release_python_version:   s    z'TestRelease.test_release_python_versionc                 C   s*   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&   r1   r   r   r   Útest_release_url?   s    zTestRelease.test_release_urlc                 C   s*   d}| j  |¡d }d}|  ||j¡ d S )Nr   r   r$   )r   r&   r   r%   )r   r!   r&   Úmd5r   r   r   Útest_release_md5E   s    zTestRelease.test_release_md5c                 C   s*   d}| j  |¡d }d}|  ||j¡ d S )Nr   r   zyarg-0.0.2-py2.py3-none-any.whl)r   r&   r   Úfilename)r   r!   r&   r5   r   r   r   Útest_release_filenameK   s    z!TestRelease.test_release_filenamec                 C   s*   d}| j  |¡d }d}|  ||j¡ d S )Nr   r   i\T  )r   r&   r   Úsize)r   r!   r&   r7   r   r   r   Útest_release_sizeQ   s    zTestRelease.test_release_sizec                 C   s&   d}| j  |¡d }|  d|j¡ d S )Nr   r   Zwheeeel©r   r&   r   Zpackage_typer*   r   r   r   Ú!test_release_unknown_package_typeW   s    z-TestRelease.test_release_unknown_package_typec                 C   s&   d}| j  |¡d }|  d|j¡ d S )Nr   r   Úwheelr9   r*   r   r   r   Útest_release_package_type\   s    z%TestRelease.test_release_package_typec                 C   s&   d}| j  |¡d }|  d|j¡ d S )Nr   r   T)r   r&   r   Zhas_sigr*   r   r   r   Útest_release_has_siga   s    z TestRelease.test_release_has_sigc                 C   s   |   d| jj¡ d S )Nr   )r   r   Z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                    s   g | ]}t ˆ |ƒ‘qS r   r   r   r    r   r   r"   l   s     z3TestRelease.test_latest_release.<locals>.<listcomp>r   r#   Z 3e3098611177c34706de2e10476b3e51Z be198baa95116c1c9d17874428e3a0c7)r   r   r%   r   Zlatest_releaser'   r   r    r   Útest_latest_releasei   s    ÿÿÿÿzTestRelease.test_latest_releaseN)Ú__name__Ú
__module__Ú__qualname__r   r   r(   r+   r,   r.   r0   r2   r4   r6   r8   r:   r<   r=   r>   r?   r   r   r   r   r      s"   r   )Úcollectionsr   r   r   r   ZunittestZyarg.packager   Zyarg.releaser   ZTestCaser   r   r   r   r   Ú<module>   s   