o
    Îó·i ‡  ã                   @   s¨   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZmZ G dd„ de	ƒZG d	d
„ d
e	ƒZG dd„ de	ƒZG dd„ de	ƒZG dd„ de	ƒZdS )z"
Tests for L{incremental.update}.
é    N)ÚStringIO)ÚFilePath)ÚTestCase)Ú_mainÚ_runÚrunc                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚNonCreatedUpdateTestsc                    sj   t ˆ  ¡ ƒˆ _ˆ j ¡  ˆ j d¡}| ¡  | d¡ d¡ ‡ fdd„ˆ _|ˆ _G dd„ dƒ}|ƒ ˆ _d S )NÚ
inctestpkgú__init__.pyó‡   
from incremental import Version
introduced_in = Version("inctestpkg", "NEXT", 0, 0).short()
next_released_version = "inctestpkg NEXT"
c                      ó   ˆ j jS ©N©ÚsrcdirÚpath© ©Úselfr   úcC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\incremental/tests/test_update.pyÚ<lambda>"   ó    z-NonCreatedUpdateTests.setUp.<locals>.<lambda>c                   @   ó   e Zd ZdZdZdS )z)NonCreatedUpdateTests.setUp.<locals>.Dateéà  é   N©Ú__name__Ú
__module__Ú__qualname__ÚyearÚmonthr   r   r   r   ÚDate%   ó    r!   ©	r   Úmktempr   ÚmakedirsÚchildÚ
setContentÚgetcwdÚ
packagedirÚdate©r   r)   r!   r   r   r   ÚsetUp   s   

ÿzNonCreatedUpdateTests.setUpc                 C   sp   |   | j d¡ ¡ ¡ g }tdddddddd| j| j|jd� |  | j d¡ ¡ ¡ |  	| j d¡ 
¡ d¡ dS )zP
        `incremental update package --create` initialises the version.
        ú_version.pyr
   NFT©
r   Ú
newversionÚpatchÚrcÚpostÚdevÚcreateÚ_dateZ_getcwdÚ_printóñ   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 16, 8, 0)
__all__ = ["__version__"]
)ZassertFalser)   r&   Úexistsr   r*   r(   ÚappendÚ
assertTrueÚassertEqualÚ
getContent©r   Úoutr   r   r   Útest_create+   s(   õþz!NonCreatedUpdateTests.test_createN)r   r   r   r,   r?   r   r   r   r   r	      s    r	   c                   @   r   )ÚMissingTestsc                    ó�   t ˆ  ¡ ƒˆ _ˆ j ¡  ˆ j d¡ ¡  ˆ j d¡ d¡}| ¡  | d¡ d¡ | d¡ d¡ ‡ fdd„ˆ _|ˆ _G d	d
„ d
ƒ}|ƒ ˆ _d S )NZsrcar
   r   r   r-   óh   
from incremental import Version
__version__ = Version("inctestpkg", 1, 2, 3)
__all__ = ["__version__"]
c                      r   r   r   r   r   r   r   r   j   r   z$MissingTests.setUp.<locals>.<lambda>c                   @   r   )z MissingTests.setUp.<locals>.Dater   r   Nr   r   r   r   r   r!   m   r"   r!   r#   r+   r   r   r   r,   S   ó   

ÿ
ÿzMissingTests.setUpc                 C   sX   g }|   t¡� tdddddddd| j| j|jd� W d  ƒ dS 1 s%w   Y  dS )zk
        `incremental update package --dev` raises and quits if it can't find
        the package.
        r
   NFTr.   )ÚassertRaisesÚ
ValueErrorr   r*   r(   r9   r=   r   r   r   Ú	test_paths   s    õ"ÿzMissingTests.test_pathN©r   r   r   r,   rF   r   r   r   r   r@   R   ó     r@   c                   @   r   )ÚCreatedUpdateInSrcTestsc                    rA   )NÚsrcr
   r   r   r-   rB   c                      r   r   r   r   r   r   r   r   ¡   r   z/CreatedUpdateInSrcTests.setUp.<locals>.<lambda>c                   @   r   )z+CreatedUpdateInSrcTests.setUp.<locals>.Dater   r   Nr   r   r   r   r   r!   ¤   r"   r!   r#   r+   r   r   r   r,   Š   rC   zCreatedUpdateInSrcTests.setUpc                 C   s¬   g }t dddddddd| j| j|jd� |  | j d¡ ¡ ¡ |  | j d¡ 	¡ d¡ t dddddddd| j| j|jd� |  | j d¡ ¡ ¡ |  | j d¡ 	¡ d¡ dS )	ú†
        `incremental update package --path=<path> --dev` increments the dev
        version of the package on the given path
        r
   NFTr.   r-   ó÷   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, dev=0)
__all__ = ["__version__"]
s÷   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, dev=1)
__all__ = ["__version__"]
©
r   r*   r(   r9   r:   r)   r&   r8   r;   r<   r=   r   r   r   rF   ª   sJ   õþõþz!CreatedUpdateInSrcTests.test_pathNrG   r   r   r   r   rI   ‰   rH   rI   c                   @   s¨   e Zd 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$d%„ Zd&d'„ ZdS )(ÚCreatedUpdateTestsNc                    sz   t ˆ  ¡ ƒˆ _ˆ j ¡  ˆ j d¡}| ¡  | d¡ d¡ | d¡ d¡ ‡ fdd„ˆ _|ˆ _G dd	„ d	ƒ}|ƒ ˆ _d S )
Nr
   r   r   r-   rB   c                      r   r   r   r   r   r   r   r     r   z*CreatedUpdateTests.setUp.<locals>.<lambda>c                   @   r   )z&CreatedUpdateTests.setUp.<locals>.Dater   r   Nr   r   r   r   r   r!   
  r"   r!   r#   r+   r   r   r   r,   ò   s   

ÿ
ÿzCreatedUpdateTests.setUpc                 C   sZ   g }t d| jjdddddd| j|jd�
 |  | j d¡ ¡ ¡ |  | j d¡ 	¡ d¡ dS )rK   r
   NFT)	r   r/   r0   r1   r2   r3   r4   r5   r6   r-   rL   )
r   r)   r   r*   r9   r:   r&   r8   r;   r<   r=   r   r   r   rF     s$   öþzCreatedUpdateTests.test_pathc                 C   sZ   g }t dddddddd| j| j|jd� |  | j d¡ ¡ ¡ |  | j d¡ 	¡ d¡ dS )zP
        `incremental update package --dev` increments the dev version.
        r
   NFTr.   r-   rL   rM   r=   r   r   r   Útest_dev4  ó&   õþzCreatedUpdateTests.test_devc                 C   s\   g }t dddddddd| j| j|jd� |  | j d¡ ¡ d¡ |  | j d¡ ¡ d	¡ dS )
zT
        `incremental.update package --patch` increments the patch version.
        r
   NTFr.   r-   óð   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 4)
__all__ = ["__version__"]
r   sƒ   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 2, 4).short()
next_released_version = "inctestpkg 1.2.4"
©r   r*   r(   r9   r;   r)   r&   r<   r=   r   r   r   Ú
test_patchX  s,   õþþzCreatedUpdateTests.test_patchc                 C   sV   | j  d¡ d¡ g }tdddddddd| j| j|jd� |  | j  d¡ ¡ d¡ dS )	zŒ
        `incremental update package --patch` increments the patch version, and
        disregards any old prerelease/dev versions.
        r-   ó„   
from incremental import Version
__version__ = Version("inctestpkg", 1, 2, 3, release_candidate=1, dev=2)
__all__ = ["__version__"]
r
   NTFr.   rQ   ©	r)   r&   r'   r   r*   r(   r9   r;   r<   r=   r   r   r   Ú"test_patch_with_prerelease_and_devƒ  ó*   ÿõþz5CreatedUpdateTests.test_patch_with_prerelease_and_devc                 C   s\   g }t dddddddd| j| j|jd� |  | j d¡ ¡ d¡ |  | j d¡ ¡ d	¡ dS )
z‚
        `incremental update package --patch --rc` increments the patch
        version and makes it a release candidate.
        r
   NTFr.   r-   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 4, release_candidate=1)
__all__ = ["__version__"]
r   s›   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 2, 4, release_candidate=1).short()
next_released_version = "inctestpkg 1.2.4rc1"
rR   r=   r   r   r   Útest_rc_patch¯  ó,   õþþz CreatedUpdateTests.test_rc_patchc                 C   ón   | j  d¡ d¡ g }tdddddddd| j| j|jd� |  | j  d¡ ¡ d¡ |  | j  d	¡ ¡ d
¡ dS )z•
        `incremental update package --rc` increments the rc version if the
        existing version is an rc, and discards any dev version.
        r-   rT   r
   NFTr.   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, release_candidate=2)
__all__ = ["__version__"]
r   s›   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 2, 3, release_candidate=2).short()
next_released_version = "inctestpkg 1.2.3rc2"
rU   r=   r   r   r   Útest_rc_with_existing_rcÛ  ó2   ÿõþþz+CreatedUpdateTests.test_rc_with_existing_rcc                 C   rZ   )z´
        `incremental update package --rc`, when the package is not a release
        candidate, will issue a new major/minor rc, and disregards the micro
        and dev.
        r-   so   
from incremental import Version
__version__ = Version("inctestpkg", 1, 2, 3, dev=2)
__all__ = ["__version__"]
r
   NFTr.   ó  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 16, 8, 0, release_candidate=1)
__all__ = ["__version__"]
r   ó�   
from incremental import Version
introduced_in = Version("inctestpkg", 16, 8, 0, release_candidate=1).short()
next_released_version = "inctestpkg 16.8.0rc1"
rU   r=   r   r   r   Útest_rc_with_no_rc  s2   ÿõþþz%CreatedUpdateTests.test_rc_with_no_rcc                 C   s°   g }t dddddddd| j| j|jd� |  | j d¡ ¡ d¡ |  | j d¡ ¡ d	¡ t dddddddd| j| j|jd� |  | j d¡ ¡ d
¡ |  | j d¡ ¡ d¡ dS )z›
        `incremental.update package`, when the package is a release
        candidate, will issue the major/minor, sans release candidate or dev.
        r
   NFTr.   r-   r]   r   r^   r7   s…   
from incremental import Version
introduced_in = Version("inctestpkg", 16, 8, 0).short()
next_released_version = "inctestpkg 16.8.0"
rR   r=   r   r   r   Útest_full_with_rcD  sV   õþþ	õþþz$CreatedUpdateTests.test_full_with_rcc                 C   sj   g }|   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s$w   Y  |  |jjd d¡ dS )zy
        `incremental.update package`, when the package is NOT a release
        candidate, will raise an error.
        r
   NFr.   r   z6You need to issue a rc before updating the major/minor©	rD   rE   r   r*   r(   r9   r;   Ú	exceptionÚargs©r   r>   Úer   r   r   Útest_full_without_rc–  s(   õÿ
þz'CreatedUpdateTests.test_full_without_rcc                 C   sZ   g }t dddddddd| j| j|jd� |  | j d¡ ¡ ¡ |  | j d¡ 	¡ d¡ dS )zR
        `incremental.update package --post` increments the post version.
        r
   NFTr.   r-   óø   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, post=0)
__all__ = ["__version__"]
rM   r=   r   r   r   Ú	test_post°  rP   zCreatedUpdateTests.test_postc                 C   sV   | j  d¡ d¡ g }tdddddddd| j| j|jd� |  | j  d¡ ¡ d¡ dS )	zŠ
        `incremental.update package --post` increments the post version, and
        disregards any old prerelease/dev versions.
        r-   rT   r
   NFTr.   rg   rU   r=   r   r   r   Ú!test_post_with_prerelease_and_devÔ  rW   z4CreatedUpdateTests.test_post_with_prerelease_and_devc                 C   sn   | j  d¡ d¡ g }tdddddddd| j| j|jd� |  | j  d¡ ¡ d¡ |  | j  d	¡ ¡ d
¡ dS )z¢
        `incremental.update package --post` increments the post version if the
        existing version is an postrelease, and discards any dev version.
        r-   sw   
from incremental import Version
__version__ = Version("inctestpkg", 1, 2, 3, post=1, dev=2)
__all__ = ["__version__"]
r
   NFTr.   sø   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, post=2)
__all__ = ["__version__"]
r   s‘   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 2, 3, post=2).short()
next_released_version = "inctestpkg 1.2.3.post2"
rU   r=   r   r   r   Útest_post_with_existing_post   r\   z/CreatedUpdateTests.test_post_with_existing_postc                 C   s�  g }|   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s$w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 sUw   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s†w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s·w   Y  |  |jjd d¡ dS )	zf
        The `--newversion` flag can't be mixed with --patch, --rc, --post,
        or --dev.
        r
   NÚ1TFr.   r   zOnly give --newversionra   rd   r   r   r   Útest_no_mix_newversion4  s‚   õÿõÿõÿõÿz)CreatedUpdateTests.test_no_mix_newversionc                 C   s.  g }|   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s$w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 sUw   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s†w   Y  |  |jjd d¡ dS )zP
        The `--dev` flag can't be mixed with --patch, --rc, or --post.
        r
   NTFr.   r   zOnly give --devra   rd   r   r   r   Útest_no_mix_devz  sb   õÿõÿõÿz"CreatedUpdateTests.test_no_mix_devc                 C   sò  g }|   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s$w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 sUw   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s†w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 s·w   Y  |  |jjd d¡ |   t¡�}tdddddddd| j| j|jd� W d  ƒ n1 sèw   Y  |  |jjd d¡ dS )	zp
        The `--create` flag can't be mixed with --patch, --rc, --post,
        --dev, or --newversion.
        r
   NTFr.   r   zOnly give --createrk   ra   rd   r   r   r   Útest_no_mix_create¯  s¢   õÿõÿõÿõÿõÿz%CreatedUpdateTests.test_no_mix_createc                 C   ó\   g }t dddddddd| j| j|jd� |  | j d¡ ¡ d¡ |  | j d¡ ¡ d	¡ dS )
z~
        `incremental.update package --newversion=1.2.3rc1.post2.dev3`, will
        set that version in the package.
        r
   Nz1.2.3rc1.post2.dev3Fr.   r-   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, release_candidate=1, post=2, dev=3)
__all__ = ["__version__"]
r   sµ   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 2, 3, release_candidate=1, post=2, dev=3).short()
next_released_version = "inctestpkg 1.2.3rc1.post2.dev3"
rR   r=   r   r   r   Útest_newversion  s,   õþýz"CreatedUpdateTests.test_newversionc                 C   ro   )
zl
        `incremental.update package --newversion=1`, will set that
        version in the package.
        r
   Nrk   Fr.   r-   sð   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 0, 0)
__all__ = ["__version__"]
r   sƒ   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 0, 0).short()
next_released_version = "inctestpkg 1.0.0"
rR   r=   r   r   r   Útest_newversion_bare5  rY   z'CreatedUpdateTests.test_newversion_barec                 C   ro   )
zn
        `incremental.update package --newversion=1.1`, will set that
        version in the package.
        r
   Nz1.1Fr.   r-   sð   """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `incremental` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 1, 0)
__all__ = ["__version__"]
r   sƒ   
from incremental import Version
introduced_in = Version("inctestpkg", 1, 1, 0).short()
next_released_version = "inctestpkg 1.1.0"
rR   r=   r   r   r   Ú test_newversion_bare_major_minora  rY   z3CreatedUpdateTests.test_newversion_bare_major_minor)r   r   r   ZmaxDiffr,   rF   rO   rS   rV   rX   r[   r_   r`   rf   rh   ri   rj   rl   rm   rn   rp   rq   rr   r   r   r   r   rN   ï   s*    $$+,,45R$,4F5V0,rN   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚScriptTestsc                    s¢   t ˆ ¡ ƒˆ_ˆj ¡  ˆj d¡ ¡  ˆj d¡ d¡}| ¡  | d¡ d¡ | d¡ d¡ ‡fdd„ˆ_|ˆ_G d	d
„ d
ƒ‰ G ‡ fdd„dƒ}|ƒ ˆ_d S )NrJ   r
   r   r   r-   rB   c                      r   r   r   r   r   r   r   r   ¦  r   z#ScriptTests.setUp.<locals>.<lambda>c                   @   r   )zScriptTests.setUp.<locals>.Dater   r   Nr   r   r   r   r   r!   ©  r"   r!   c                       s   e Zd Z‡ fdd„ZdS )z%ScriptTests.setUp.<locals>.DateModulec                    s   ˆ ƒ S r   r   r   ©r!   r   r   Útoday®  s   z+ScriptTests.setUp.<locals>.DateModule.todayN)r   r   r   ru   r   rt   r   r   Ú
DateModule­  s    rv   r#   )r   r)   rv   r   )r!   r   r   r,   �  s    

ÿ
ÿzScriptTests.setUpc                 C   sp   t ƒ }|  td|¡ |  t¡�}tdgƒ W d  ƒ n1 sw   Y  |  |jjd d¡ |  	d| 
¡ ¡ dS )zX
        Running `python -m incremental.update --help` causes it to print help.
        Ústdoutz--helpNr   zshow this help message and exit)r   r0   ÚsysrD   Ú
SystemExitr   r;   rb   rc   ÚassertInÚgetvalue©r   Ústringiore   r   r   r   Ú	test_help³  s   ÿzScriptTests.test_helpc                 C   sÂ   t ƒ }|  td|¡ |  td| j¡ |  td| j¡ |  t¡�}t	ddgƒ W d  ƒ n1 s0w   Y  |  
|jjd d¡ |  d| ¡ ¡ |  
| j d	¡ ¡ d
¡ |  
| j d¡ ¡ d¡ dS )zm
        Running `python -m incremental.update inctestpkg --rc` creates
        a release candidate.
        rw   r(   r*   r
   ú--rcNr   úUpdating codebaser-   r]   r   r^   )r   r0   rx   Úosr(   Údatetimer*   rD   ry   r   r;   rb   rc   rz   r{   r)   r&   r<   r|   r   r   r   Útest_incrementalDotUpdateÀ  s"   ÿþþz%ScriptTests.test_incrementalDotUpdatec                 C   s„   t ƒ }|  td|¡ |  td| j¡ |  td| j¡ tg d¢ƒ |  d| 	¡ ¡ |  
| j d¡ ¡ d¡ |  
| j d¡ ¡ d	¡ d
S )zc
        Running `incremental update inctestpkg --rc` creates a release
        candidate.
        rw   r(   r*   )Úupdater
   r   r€   r-   r]   r   r^   N)r   r0   rx   r�   r(   r‚   r*   r   rz   r{   r;   r)   r&   r<   )r   r}   r   r   r   Útest_incrementalUpdateê  s   þþz"ScriptTests.test_incrementalUpdateN)r   r   r   r,   r~   rƒ   r…   r   r   r   r   rs   Ž  s
    $*rs   )Ú__doc__r‚   r�   rx   Úior   Ztwisted.python.filepathr   Ztwisted.trial.unittestr   Zincremental.updater   r   r   r	   r@   rI   rN   rs   r   r   r   r   Ú<module>   s(   ?7f       &