+
     [;i  c                   s    ^RI 5 ^ RIHt ^ RIHtHt ^ RIHtHt  ^ RI	H
t
Ht Rt ! R R	]P                  4      t]R
8X  d   ]P%                  4        R# R#    ^ RIH
t
Ht Rt L>; i)   )Z*)DATA_DIR)ApplicationsApplication)ApplicationsCollectionProcessesCollection)patch	mock_openzbuiltins.openz__builtin__.openc                   s   a  ] tR t^t o ]R 4       tR tR tR tR t	R t
]! RRR	7      R
 4       tR tR tR tR t]! RRR	7      R 4       tR tRtV tR# )TestApplicationsc                s    \         P                   Uu. uF"  pVP                  \        4      '       g   K   VNK$  	  upV n        R # u upi N)r   DEFINITIONSZ
startswithr   )Zclsx   & C/usr/lib/python3.14/site-packages/tracer/tests/test_applications.py
setUpClassZTestApplications.setUpClass   s:     , 8 8 $ 81LL" Q 8 $#/ $s
   AAc                sF    V P                   \        n         R \        n        R # r	   )r
   r   Z_appsself   &r   setUpZTestApplications.setUp   s    !--,,    c                sX    V P                  \        P                  ! 4       \        4       R # r	   )assertIsInstancer   allr   r   r   r   test_apps_typesZ TestApplications.test_apps_types   s    ((*,BCr   c                s~    \         P                  ! 4       ^ ,          pV P                  VP                  \        4       R# )    N)r   r   r   Z	instancesr   )r   applicationr   r   test_application_processesZ+TestApplications.test_application_processes   s,      "1%+--/BCr   c                s   ^p\         P                  ! 4        F  pRV9  g   \        V4      ^8:  d"   V P                  R\	        V4      ,           4       RV9   dP   VP
                  \         P                  P                  4       9  d#   V P                  RVP
                  ,           4       RV9   d   ^M^pV P                  \        V4      VRP                  VP                  4      4       V^,          pK  	  R# )r    namezMissing name in definition #typezUnknown type in application: Zrename)Application {0} has unsupported attributeN)r   r   lenfailstrr   ZTYPESZvaluesassertEqualformatr   )r   ZiaZns   &   r   test_apps_attributesZ%TestApplications.test_apps_attributes    s    !aQ3q6Q;II,s1v56kaffL$6$6$=$=$??II-67Mqq1CFAJQQRSRXRXYZ61 r   c                s    \         P                  ! 4       pV FH  pV P                  VP                  V4      ^8  g   K&  V P	                  RVP                  ,           4       KJ  	  R# )r    zDuplicate definitions for: N)r   r   _countr   r   )r   appsr"      &  r   test_apps_duplicityZ$TestApplications.test_apps_duplicity.   sG    				$a
kk!&&$!#II+aff45 r   z0tracer.resources.applications.System.init_systemZdummy)Zreturn_valuec                s   R p\         P                  ! V4      pV P                  VP                  V4       V P                  VP                  \         P
                  4       V P                  VP                  R4       V P                  VP                  R4       V P                  \        V4      ^RP                  VP                  4      4       R# )ZNON_EXISTING_APPLICATIONNr   )
r   Zfindr    r   r   ZDEFAULT_TYPEhelperZnoter   r!   )r   Zinit_systemapp_nameZapps   &&  r   test_app_with_no_definitionZ,TestApplications.test_app_with_no_definition4   s    '((##388X&388\6673::t$388T"3s8Q K R RSVS[S[ \]r   c                s    \        R R/4      pV P                  \        V4      R4       V P                  \        V4      R4       R# )r   fooz<Application: foo>N)r   r    r   Zrepr)r   Zruler   r   test_representationsZ%TestApplications.test_representations>   s:    	fe_	%$3t9234:34r   c                    \        R RRRRR/4      p\        R RRRRR/4      pV P                  VP                  4       V P                  VP                  4       R# )	r   r+   r   applicaitonr(   some helperr   z some helper with {NAME} argumentN)r   assertFalsehelper_contains_name
assertTrue)r   a1Za2r&   r   test_contains_nameZ#TestApplications.test_contains_nameC   sW    FE6=(MRS"FE6=(Dfgh"2**+//"))*r   c                r-   )	r   r+   r   r.   r(   r/   r   zsome helper with {FOO} argumentN)r   r0   helper_contains_formatingr2   )r   r3   Za3r&   r   test_contains_formatingZ(TestApplications.test_contains_formatingI   sW    FE6=(MRS"FE6=(Defg"2//0//"../r   c                s    \        R RRRRR/4      pV P                  VP                  4       V P                  VP                  4       R# )r   r+   r   r.   r(   N)r   r0   r5   r1   )r   r3   r   r   test_helper_contains_when_noneZ/TestApplications.test_helper_contains_when_noneO   sA    FE6=(DIJ"2//02**+r   z*tracer.resources.system.System.init_systemZsystemdc                s   R.\         n        Rp\        \        \	        VR7      4      ;_uu_ 4        \         P
                  ! 4       pV P                  \        V4      ^4       T P                  \        V Uu. uF  p\        V\        4      NK  	  up4      4       V P                  V^ ,          P                  R4       V P                  V^ ,          P                  P                  R4      4       V P                  V^,          P                  R4       V P                  RV^,          P                  4       RRR4       R# u upi   + '       g   i     R# ; i)	z2
Test parsing a single XML file with applications
zwhatever-file.xmlz<applications>    <app name='foo' type='daemon' />    <group type='session'>        <app name='bar' />        <app name='baz' helper='Or kill it and see what happens' />    </group></applications>)Z	read_datar+   zsystemctl restart fooZsessionzkill itN)r   r
   r   builtins_openr   r   r    r   r2   Z
isinstancer   r   r(   Zendswithr   ZassertIn)r   Z_init_systemZdatar%   r   s   &&   r   	test_loadZTestApplications.test_loadT   s    
 22,  ]I566



4CIq!??3DADq
1k2DABCDGLL%(??47>>**+BCDDGLL),==DGNN+ 76 B 766s   AE6D>B%E>EE	c                sT    ^ pV F  pVP                   V8X  g   K  V^,          pK!  	  V# )r   )r   )r   r)   r%   Zcountr"   s   &&&  r   r$   ZTestApplications._countl   s-    
%aff	QJE  
,r    N)__name__Z
__module__Z__qualname__Z__firstlineno__Zclassmethodr   r   r   r   r#   r'   r   r*   r,   r4   r6   r7   r9   r$   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     $ $DD
6 :Q^ R^5
+0,
 49M, N,. r   r   Z__main__N)Z__meta__Ztracer.pathsr   Ztracer.resources.applicationsr   r   Ztracer.resources.collectionsr   r   Zunittest.mockr   r   r8   ZmockZunittestZTestCaser   r;   Zmainr:   r   r   <module>r<      s[     ! C T$+ cx(( cL z	 W$"#s   
A A%