
    >i                        d Z ddlZddlmc mZ ddlZd Zd Z	d Z
d Zedk(  ro ed        ed	        ed       ee	e
egZdZdZeD ]  Z	  e        ed
z  Z  ed        ede de d        ed        ej*                  edk(  rdnd
       yy# e$ r'Z edej                   de        ed
z  ZY dZ[sdZ[we$ r'Z edej                   de        ed
z  ZY dZ[dZ[ww xY w)u?   
Task-522: 대시보드 CPU/RAM SSE 실시간 갱신 테스트
    Nc                  ^   d} t        | dd      5 }|j                         }ddd       d}|v }|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}}d}||v }|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}}d}||v }|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}}d}||v }|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}}t        d       y# 1 sw Y   xY w)uI   Simple HTTP 버전에 server-stats 이벤트가 추가되었는지 확인'/home/jay/workspace/dashboard/server.pyrutf-8encodingNevent: server-statsinz%(py1)s in %(py3)scontentpy1py3u3   Simple HTTP 버전에 server-stats 이벤트 없음
>assert %(py5)spy5zkeepalive_counter >= 30u   keepalive 간격 로직 없음zpsutil.cpu_percentu   CPU 측정 코드 없음zpsutil.virtual_memory()u   RAM 측정 코드 없음u4   ✅ Simple HTTP 버전 server-stats 이벤트 확인openread
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_name_format_assertmsgAssertionError_format_explanationprintserver_pathfr   @py_assert0@py_assert2@py_format4@py_format6s          )/home/jay/workspace/tests/test_task522.pytest_simple_http_server_statsr(      s   ;K	k3	1 Q&&( !b G+bbb Gbbb bbbbbbGbbbGbbbb-bbbbbbb$Q$/QQQ$QQQ$QQQQQQQQQQQQQ1QQQQQQQF7*FFF7FFFFFFFFF7FFF7FFFF,FFFFFFF$K$/KKK$KKK$KKKKKKKKKKKKK1KKKKKKK	
@A s   L""L,c                  &   d} t        | dd      5 }|j                         }ddd       j                  d      }d}||k\  }|st        j                  d|fd	||f      d
t        j                         v st        j                  |      rt        j                  |      nd
t        j                  |      dz  }t        j                  d| d      dz   d|iz  }t        t        j                  |            dx}}t        d       y# 1 sw Y   xY w)uE   FastAPI 버전에 server-stats 이벤트가 추가되었는지 확인r   r   r   r   Nr	      )>=)z%(py0)s >= %(py3)sserver_stats_count)py0r   u8   FastAPI 버전에 server-stats 이벤트 없음 (found: )r   r   u0   ✅ FastAPI 버전 server-stats 이벤트 확인)r   r   countr   r   r   r   r   r   r   r   r   r   )r!   r"   r   r,   r$   @py_assert1r%   r&   s           r'   test_fastapi_server_statsr1      s    ;K	k3	1 Q&&( !'<=!"t"tttttttttttttttttt&^_q^rrs$ttttttt	
<= s   DDc                     d} t        | dd      5 }|j                         }ddd       g }d}|v }|}|sd}||v }|}|snt        j                  d|fd	||f      t        j                  |      d
t        j                         v st        j                  |      rt        j                  |      nd
dz  }	dd|	iz  }
|j                  |
       |st        j                  dfd|f      t        j                  |      d
t        j                         v st        j                  |      rt        j                  |      nd
dz  }dd|iz  }|j                  |       t        j                  |d      i z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}x}x}x}x}}t        d       y# 1 sw Y   xY w)u(   JSON.dumps 형식이 올바른지 확인r   r   r   r   Nzstats_data = json.dumps(stats)zjson.dumps(stats)r
   )z%(py3)s in %(py5)sr   )r   r   z%(py7)spy7)z%(py10)s in %(py12)s)py10py12z%(py14)spy14r*   u   JSON.dumps 형식 없음z
>assert %(py17)spy17u   ✅ JSON.dumps 형식 확인)r   r   r   r   r   r   r   r   append_format_boolopr   r   r   r   )r!   r"   r   r0   r$   @py_assert4r#   @py_assert9@py_assert11r&   @py_format8@py_format13@py_format15@py_format16@py_format18s                  r'   test_json_dumps_formatrB   "   s   ;K	k3	1 Q&&( u+t+w6t:Mt:MQX:Xtttt+wttt+ttttttwtttwttttttt:MQXttt:MttttttQXtttQXttttttttttZtttttttt	
() s   GGc                     d} t        | dd      5 }|j                         }ddd       d}|v }|st        j                  d|fd||f      t        j                  |      d	t        j                         v st        j                  |      rt        j                  |      nd	d
z  }t        j                  d      dz   d|iz  }t        t        j                  |            dx}}t        d       y# 1 sw Y   xY w)u*   10초 간격 로직이 올바른지 확인r   r   r   r   Nztime.sleep(0.5)r
   r   r   r   u   0.5초 sleep 없음r   r   u,   ✅ 10초 간격 로직 확인 (0.5초 * 20)r   r    s          r'   test_interval_logicrD   -   s    ;K	k3	1 Q&&( >'>>>>>>>>>>>>>>>>>>>)>>>>>>>	
89 s   C11C:__main__z<============================================================u=   Task-522: 대시보드 CPU/RAM SSE 실시간 갱신 테스트r*   u   ❌ z: u   : 예상치 못한 오류 - u   테스트 결과: z	 passed, z failed)__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   sysr(   r1   rB   rD   __name__r   testspassedfailedtestr   e	Exceptionexit     r'   <module>rV      s/    
B	>*: z	(O	
IJ	(O 	&!	E FF 		FaKF	 
(O	vhixw
?@	(OCHH&A+Q1%= &  	Dr!-.aKF 	D'CA3GHaKF	s$   BC+B<<C+C&&C+