
    i	                        d Z ddlZddlZddlmZ ej
                  j                  d e ee      j                  j                               ddl
mZ  G d de      Z G d dej                        Zed	k(  r ej                           yy)
u!   base_reviewer.py 단위 테스트    N)Path)ReviewerInterfacec                       e Zd ZdZd Zy)MockRevieweru   테스트용 목 리뷰어c                 t    dddg}| j                  |      || j                  | j                  |            dS )u   간단한 구현lowz
test issueseveritydescription)
risk_levelissuesrecommendation)_assess_risk_get_recommendation)selfdocr   s      ?/home/jay/workspace/memory/red_team/tests/test_base_reviewer.pyreviewzMockReviewer.review   sC    $\BC++F3"66t7H7H7PQ
 	
    N)__name__
__module____qualname____doc__r    r   r   r   r      s
    $
r   r   c                   :    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
y	)
TestBaseRevieweru   Base Reviewer 테스트c                 "    t               | _        y)u   테스트 설정N)r   reviewerr   s    r   setUpzTestBaseReviewer.setUp   s    $r   c                 b    g }| j                   j                  |      }| j                  |d       y)u   낮은 리스크 평가r   Nr   r   assertEqualr   r   results      r   test_assess_risk_lowz%TestBaseReviewer.test_assess_risk_low!   s+    ++F3'r   c                 j    dddg}| j                   j                  |      }| j                  |d       y)u   중간 리스크 평가mediumtestr	   Nr"   r$   s      r   test_assess_risk_mediumz(TestBaseReviewer.test_assess_risk_medium'   s3    '?@++F3*r   c                 j    dddg}| j                   j                  |      }| j                  |d       y)u   높은 리스크 평가highr)   r	   Nr"   r$   s      r   test_assess_risk_highz&TestBaseReviewer.test_assess_risk_high-   s3    %f=>++F3(r   c                 j    dddg}| j                   j                  |      }| j                  |d       y)u   심각한 리스크 평가criticalr)   r	   Nr"   r$   s      r   test_assess_risk_criticalz*TestBaseReviewer.test_assess_risk_critical3   s3    )&AB++F3,r   c                 \   | j                  d| j                  j                  d             | j                  d| j                  j                  d             | j                  d| j                  j                  d             | j                  d| j                  j                  d             y	)
u    리스크 레벨별 권장사항u   낮은 위험r   u   중간 위험r(   u   높은 위험r,   u   심각한 위험r/   N)assertInr   r   r   s    r   test_get_recommendationz(TestBaseReviewer.test_get_recommendation9   sw    ot}}'H'H'OPot}}'H'H'RSot}}'H'H'PQ($--*K*KJ*WXr   c                     | j                   j                  d      }| j                  d|       | j                  d|       | j                  d|       y)u   리뷰 결과 구조 확인ztest docr   r   r   N)r   r   r2   )r   r%   s     r   %test_review_returns_correct_structurez6TestBaseReviewer.test_review_returns_correct_structure@   sA    %%j1lF+h'&/r   N)r   r   r   r   r    r&   r*   r-   r0   r3   r5   r   r   r   r   r      s)    !'(+)-Y0r   r   __main__)r   sysunittestpathlibr   pathinsertstr__file__parentbase_reviewerr   r   TestCaser   r   mainr   r   r   <module>rB      su    ' 
   3tH~,,334 5 +

$ 

+0x(( +0\ zHMMO r   