o
    >h                     @   s   d Z ddlmZm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 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}.
    )divisionabsolute_importN)FilePath)NativeStringIO)TestCase)_runrunc                   @      e Zd Zdd Zdd ZdS )NonCreatedUpdateTestsc                    sl   t    _ j   jd}|  |dd  fdd _| _G dd dt}|  _	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   }/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/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object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_date_getcwd_print  """
Provides inctestpkg version information.
"""

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

from incremental import Version

__version__ = Version("inctestpkg", 16, 8, 0)
__all__ = ["__version__"]
)assertFalser*   r'   existsr   r,   r)   append
assertTrueassertEqual
getContentr   outr   r   r   test_create-   s(   z!NonCreatedUpdateTests.test_createN)r   r   r   r.   rC   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
t}|  _	d S )N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   l   r   z$MissingTests.setUp.<locals>.<lambda>c                   @   r   )z MissingTests.setUp.<locals>.Dater   r   Nr   r   r   r   r   r"   o   r#   r"   r$   r-   r   r   r   r.   U      


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   NFTr0   )assertRaises
ValueErrorr   r,   r)   r=   rA   r   r   r   	test_pathu   s    "zMissingTests.test_pathNr   r   r   r.   rK   r   r   r   r   rD   T        rD   c                   @   r	   )CreatedUpdateInSrcTestsc                    rE   )Nsrcr   r   r   r/   rG   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.      rH   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   NFTr0   r/     """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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 `python -m incremental.update inctestpkg` to change this file.

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, dev=1)
__all__ = ["__version__"]

r   r,   r)   r=   r>   r*   r'   r<   r?   r@   rA   r   r   r   rK      sJ   z!CreatedUpdateInSrcTests.test_pathNrL   r   r   r   r   rN      rM   rN   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                    s|   t    _ j   jd}|  |dd |dd  fdd _| _G dd	 d	t}|  _	d S )
Nr   r   r   r/   rG   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 )rP   r   NFT)	r   r1   r2   r3   r4   r5   r6   r7   r9   r/   rQ   )
r   r*   r   r,   r=   r>   r'   r<   r?   r@   rA   r   r   r   rK     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   NFTr0   r/   rQ   rR   rA   r   r   r   test_dev6  &   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   NTFr0   r/     """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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)   r=   r?   r*   r'   r@   rA   r   r   r   
test_patchZ  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   NTFr0   rV   	r*   r'   r(   r   r,   r)   r=   r?   r@   rA   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   NTFr0   r/   s!  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rW   rA   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/   rY   r   NFTr0   s!  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rZ   rA   r   r   r   test_rc_with_existing_rc  2   z+CreatedUpdateTests.test_rc_with_existing_rcc                 C   r_   )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   NFTr0   "  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rZ   rA   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   NFTr0   r/   rb   r   rc   r:   s   
from incremental import Version
introduced_in = Version("inctestpkg", 16, 8, 0).short()
next_released_version = "inctestpkg 16.8.0"
rW   rA   r   r   r   test_full_with_rcF  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   NFr0   r   z6You need to issue a rc before updating the major/minor	rI   rJ   r   r,   r)   r=   r?   	exceptionargsr   rB   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   NFTr0   r/     """
Provides inctestpkg version information.
"""

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

from incremental import Version

__version__ = Version("inctestpkg", 1, 2, 3, post=0)
__all__ = ["__version__"]
rR   rA   r   r   r   	test_post  rU   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/   rY   r   NFTr0   rl   rZ   rA   r   r   r   !test_post_with_prerelease_and_dev  r\   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   NFTr0   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rZ   rA   r   r   r   test_post_with_existing_post  ra   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 sw   Y  | |jjd d |  t}tdddddddd| j| j|jd W d   n1 sw   Y  | |jjd d dS )	zf
        The `--newversion` flag can't be mixed with --patch, --rc, --post,
        or --dev.
        r   N1TFr0   r   zOnly give --newversionrf   ri   r   r   r   test_no_mix_newversion6  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 sw   Y  | |jjd d dS )zP
        The `--dev` flag can't be mixed with --patch, --rc, or --post.
        r   NTFr0   r   zOnly give --devrf   ri   r   r   r   test_no_mix_dev|  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 sw   Y  | |jjd d |  t}tdddddddd| j| j|jd W d   n1 sw   Y  | |jjd d |  t}tdddddddd| j| j|jd W d   n1 sw   Y  | |jjd d dS )	zp
        The `--create` flag can't be mixed with --patch, --rc, --post,
        --dev, or --newversion.
        r   NTFr0   r   zOnly give --createrp   rf   ri   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.dev3Fr0   r/   s0  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rW   rA   r   r   r   test_newversion  s,   z"CreatedUpdateTests.test_newversionc                 C   rt   )
zl
        `incremental.update package --newversion=1`, will set that
        version in the package.
        r   Nrp   Fr0   r/   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rW   rA   r   r   r   test_newversion_bare7  r^   z'CreatedUpdateTests.test_newversion_barec                 C   rt   )
zn
        `incremental.update package --newversion=1.1`, will set that
        version in the package.
        r   Nz1.1Fr0   r/   s  """
Provides inctestpkg version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update inctestpkg` 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"
rW   rA   r   r   r    test_newversion_bare_major_minorc  r^   z3CreatedUpdateTests.test_newversion_bare_major_minor)r   r   r   maxDiffr.   rK   rT   rX   r[   r]   r`   rd   re   rk   rm   rn   ro   rq   rr   rs   ru   rv   rw   r   r   r   r   rS      s*    $$+,,45R$,4F5V0,rS   c                   @   s$   e Z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
t G  fdddt}| _	d S )NrO   r   r   r   r/   rG   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   r{   r   rz   r   r   
DateModule  s    r|   r$   )r   r*   r|   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 )I
        Calling run() with no args will cause it to print help.
        stdoutz--helpNr   zShow this message and exit)r   r2   sysrI   
SystemExitr   r?   rg   rh   assertIngetvaluer   stringiorj   r   r   r   test_run  s   zScriptTests.test_runc                 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 )r}   r~   r)   r,   r   z--rcNr   zUpdating codebaser/   rb   r   rc   )r   r2   r   osr)   datetimer,   rI   r   r   r?   rg   rh   r   r   r*   r'   r@   r   r   r   r   test_insufficient_args  s"   z"ScriptTests.test_insufficient_argsN)r   r   r   r.   r   r   r   r   r   r   ry     s    $ry   )__doc__
__future__r   r   r   r   r   twisted.python.filepathr   twisted.python.compatr   twisted.trial.unittestr   incremental.updater   r   r
   rD   rN   rS   ry   r   r   r   r   <module>   s*   ?7f       &