
     hT                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_testcycle_testcase_folderc                   X    e Zd Zej                  j
                  dgz   ZddddedefdZy)CmfTestcycleTestcaseFoldersetupNF)root_folder_nameappendtestcase_idsr   c                x     fdfd j                  g d       |r| _         j                  d       |sm        }|D ]`  }|j                  j                  |v r&|j                  |j                  j                         A|j                           j                          b |D ]  }t        j                  j                  ddd j                  gd	d|gg
      }	|	r9t        j                  j                  |g d      }
 |
j                        }|
j                   j                  |        y )Nc                    | r| j                   j                  dk(  rt        j                  j	                  j
                  | j                        }|sl | j                  j                               }t        j                  j
                  || j                        }|j                          |j                          |S S )NCmfTestcaseFolder)parentname)r   tree_parent_folderr   )
value
class_namemodelsr   getr   r   tree_parentloadsave)testcase_foldertestcycle_folderr   get_parent_treeselfs      9./modules/evatest/models/cmf_testcycle_testcase_folder.pyr   z9CmfTestcycleTestcaseFolder.setup.<locals>.get_parent_tree
   s    ?#8#8#C#CGZ#Z#)#D#D#H#H;;(-- $I $  ()89T9T9Y9Y9[)\&'-'H'H#{{+=,11 (I ($
 %))+&++-''    c                     g }t         j                  j                  | dg      D ]  }|j                  |        t         j                  j                  |       D ]  }|j                   |              |S )Ntestcase)testcycle_testcase_folderfields)r   )r   CmfTestcaseRunlistr	   r   extend)folderall_testcase_runstestcase_run	subfolderget_folder_testcase_runss       r   r)   zBCmfTestcycleTestcaseFolder.setup.<locals>.get_folder_testcase_runs   s     " & 5 5 : :U[eodp : q 7!((67#>>CCW]C^ N	!(()A))LMN$$r   )r   r   zparent.test_configurationszparent.testplanzparent.default_responsibleT)	only_dataANDr   z==ztestcase.id)filter)r%   zfolder.namezfolder.tree_parent)idr!   )	testcycler    )load_fieldsr   r   r   r-   removedeleter   r"   slistr   CmfTestcaser   r%   run)r   r
   r   r	   argskwargsfolder_testcase_runsr'   testcase_idtestcase_runsr   r   r)   r   s   `           @@r   r   z CmfTestcycleTestcaseFolder.setup   s.   	&	% 	z{(DIIII%#;D#A  4  ((++|; ''(=(=(@(@A !'')IIK  ( 		`K"11774-k2@7 M !!--11[J 2 L#28??#C t{{N^_		`r   )	__name__
__module____qualname__r   r   api_methodsr#   strr    r   r   r   r      s8    /JJVVZaYbbKCGPU 4` 4`s 4`r   r   N)cmf.includemodules.evatest.fieldsr   r   r?   r   r   <module>rB      s      @7`!>!Y!Y 7`r   