Ñò
ýÉªWc           @   sƒ   d  d k  l  Z  d  d k Z d  d k Z d  d k l Z d e  f d „  ƒ  YZ d e f d „  ƒ  YZ e d j o e i ƒ  n d S(	   iÿÿÿÿ(   t   InstallTestBaseN(   t   Rollbackt   RollbackTestc           B   sª   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s9   t  i |  ƒ |  i d ƒ } t | ƒ |  _ |  i ƒ  d  S(   Nt    (   R    t   setUpt   _constructSysInfoFilet   RollbackMockt   rollbackt   _mockRollback(   t   selft   sysInfoPath(    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyR      s    c         C   s$   |  i  |  i ƒ |  i |  i ƒ d  S(   N(   t   _mockPrepackDeciderR   t   _mockRawInputForHelper(   R	   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyR      s    c         C   sB   |  i  d d ƒ } |  i d d d d d d g ƒ |  i | ƒ | S(   NR   s   1.1s   1 2t   1t   yes(   t   _createInstallert   _resetInputst
   _doInstall(   R	   t	   installer(    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   freshInstall_1_1   s    c         C   s6   |  i  d d g ƒ |  i d d ƒ } |  i | ƒ | S(   Ns   1.1.001s   DEVICES/QC/BATONt   PATCH(   t   _initUpgradeComponentsR   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   patch_1_1_001   s    c         C   s6   |  i  d d g ƒ |  i d d ƒ } |  i | ƒ | S(   Ns   1.1.002s   DEVICES/QC/BATONR   (   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   patch_1_1_002   s    c         C   s†   |  i  ƒ  } |  i d | i i ƒ  ƒ |  i t | i i ƒ  ƒ d j ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   Ns   1.1i    i   (	   R   t   assertEqualt   helpert   getCurrentPrepackVersiont
   assertTruet   lent"   getPatchesForCurrentPrepackVersiont   _getBackupFolderst   _getBackupFolderForVersion(   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   testFreshInstallOnScratch$   s
    "c         C   su   |  i  ƒ  |  i d d g ƒ |  i d d ƒ } |  i | d g ƒ |  i d d d d d d d g ƒ |  i | ƒ | S(   Ns   1.1-2.0s   DEVICES/QC/BATONt   UPGRADEs   2.0R   R   (   R   R   R   t   _defineUpgradePathsR   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   upgradeFrom_1_1_To_2_0+   s    
"c         C   s¥   |  i  ƒ  } |  i d | i i ƒ  ƒ |  i t | i i ƒ  ƒ d j ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   Ns   2.0i    i   i   s   1.1s   1.1-2.0(	   R#   R   R   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pytd   testUpgradeOnExistingVersionWithSameFromVersionWithoutExtraComponentsSelectedAndWithAvailableUpgrade5   s    "c         C   sÀ  |  i  ƒ  |  i ƒ  } |  i d | i i ƒ  ƒ |  i d t | i i ƒ  ƒ ƒ |  i d | i i ƒ  d ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i	 ƒ  } |  i d | i i ƒ  ƒ |  i d t | i i ƒ  ƒ ƒ |  i d | i i ƒ  d ƒ |  i d | i i ƒ  d ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   Ns   1.1i   s   1.1.001i    i   s   1.1.002i   (
   R   R   R   R   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt-   testPatchOnExistingVersionWithSameMainVersion=   s"    
c      
   C   si   |  i  d d ƒ } |  i d d d d d d d d d g	 ƒ |  i | d t ƒ} |  i | d d g ƒ | S(   NR   s   1.1R   R   t   outputToFilesz   Version 1.1 is already installed, Do you still want to rerun this? type 'yes' to continue rerun; type 'no' to skip.======>sx   System will backup this snapshot because the installer is rerun to remove existing components or install more components(   R   R   R   t   Truet   _verifyLogFromLogFile(   R	   R   t   logFile(    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   rerunInstallerQ   s    (	
c         C   s   |  i  ƒ  |  i ƒ  } |  i d | i i ƒ  ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   Ns   1.1i   i   s	   1.1_rerun(   R   R*   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pytN   testFreshInstallOnExistingVersionWithSameVersionButWithExtraComponentsSelected[   s    
c         C   sû   |  i  ƒ  |  i d g ƒ |  i i ƒ  |  i |  i i i ƒ  d  j ƒ |  i d t |  i	 ƒ  ƒ ƒ |  i d t |  i
 d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   NR   i    s   1.1i   (   R   R   R   R   R   R   t   NoneR   R   R   R   t   _getBackupAbandonFolderst!   _getBackupAbandonFolderForVersiont   _getRollbackFolderst   _getRollbackFolderForVersion(   R	   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   testRollBackFreshInstallc   s    
c         C   sâ   |  i  ƒ  |  i d g ƒ |  i i ƒ  |  i d |  i i i ƒ  ƒ |  i t |  i i i ƒ  ƒ d j ƒ |  i d t |  i	 ƒ  ƒ ƒ |  i d t |  i
 d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   NR   s   1.1i    i   s   1.1-2.0(   R#   R   R   R   R   R   R   R   R   R   R   R/   R0   (   R	   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   testRollBackOnUpgradeo   s    
%c         C   s"  |  i  ƒ  |  i ƒ  |  i ƒ  |  i d g ƒ |  i i ƒ  |  i d |  i i i ƒ  ƒ |  i d t |  i i i	 ƒ  ƒ ƒ |  i d |  i i i	 ƒ  d ƒ |  i d t |  i
 ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d g ƒ |  i i ƒ  |  i d |  i i i ƒ  ƒ |  i d t |  i i i	 ƒ  ƒ ƒ |  i d t |  i
 ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   NR   s   1.1i   s   1.1.001i    i   s   1.1.002(   R   R   R   R   R   R   R   R   R   R   R   R   R/   R0   (   R	   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   testRollBackOnPatches{   s,    


" "c         C   sî   |  i  ƒ  |  i ƒ  } |  i d g ƒ |  i i ƒ  |  i d |  i i i ƒ  ƒ |  i t |  i i i	 ƒ  ƒ d j ƒ |  i d t |  i
 ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(   NR   s   1.1i    i   s	   1.1_rerun(   R   R*   R   R   R   R   R   R   R   R   R   R   R/   R0   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   testRollBackForInstallerRerun˜   s    
%c         C   s­   |  i  ƒ  |  i d g ƒ |  i i ƒ  |  i  ƒ  } |  i d | i i ƒ  ƒ |  i t | i i ƒ  ƒ d j ƒ |  i d t |  i	 ƒ  ƒ ƒ |  i d t |  i
 d ƒ ƒ ƒ d  S(   NR   s   1.1i    i   (   R   R   R   R   R   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt,   testRollbackFirstAndReInstallForFreshInstall§   s    
"c         C   s'  |  i  ƒ  |  i d g ƒ |  i i ƒ  |  i d d g ƒ |  i d d ƒ } |  i | d g ƒ |  i d d d d d d d g ƒ |  i | ƒ |  i d | i i	 ƒ  ƒ |  i
 t | i i ƒ  ƒ d j ƒ |  i d t |  i ƒ  ƒ ƒ |  i d	 t |  i d
 ƒ ƒ ƒ |  i d	 t |  i d ƒ ƒ ƒ d  S(   NR   s   1.1-2.0s   DEVICES/QC/BATONR!   s   2.0R   i    i   i   s   1.1(   R#   R   R   R   R   R"   R   R   R   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt'   testRollbackFirstAndReInstallForUpgrade³   s    
""c         C   s=  |  i  ƒ  |  i ƒ  |  i ƒ  |  i d g ƒ |  i i ƒ  |  i d g ƒ |  i i ƒ  |  i d d g ƒ |  i d d ƒ } |  i | ƒ |  i d | i	 i
 ƒ  ƒ |  i d t | i	 i ƒ  ƒ ƒ |  i d | i	 i ƒ  d ƒ |  i d t |  i ƒ  ƒ ƒ |  i d t |  i d ƒ ƒ ƒ |  i d t |  i d ƒ ƒ ƒ d  S(	   NR   s   1.1.002s   DEVICES/QC/BATONR   s   1.1i   i    i   (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R	   R   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt%   testRollbackFirstAndReInstallForPatchÄ   s     


(   t   __name__t
   __module__R   R   R   R   R   R    R#   R$   R%   R*   R+   R1   R2   R3   R4   R5   R6   R7   (    (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyR      s$   							
			
							R   c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  i |  | ƒ d  S(   N(   R   t   __init__(   R	   t   systemInfoFile(    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyR:   Ü   s    c         C   s%   |  i  | ƒ |  i ƒ  |  i ƒ  t S(   N(   t   loadJsonConfigt   initParameterst   rollbackFilesR'   (   R	   t   rollbackJsonConfig(    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt	   _rollbackß   s    

c         C   s   d  S(   N(    (   R	   (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt
   initPolicyå   s    (   R8   R9   R:   R@   RA   (    (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyR   Û   s   		t   __main__(	   R    t   unittestt   osR   R   R   R   R8   t   main(    (    (    sf   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/rollbackTest.pyt   <module>   s   Õ