
    iL                         d Z ddlZddlmc mZ ddlZddlm	Z	 ej                  j                  d e e	e      j                         j                  d                ddlmZ d Zd Zd Zd	 Zy)
u.   task-2370 P2 — scope_violation_alert 검증.    N)Path   )format_violation_messagec                     t        ddg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  }d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  }d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  }dd	|iz  }t        t        j                  |            d x}}y )
Nz	task-2360zscripts/auto_merge.pyu   ⚠️ SCOPE VIOLATIONinz%(py1)s in %(py3)smsgpy1py3assert %(py5)spy5	r   
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationr
   @py_assert0@py_assert2@py_format4@py_format6s        </home/jay/workspace/tests/dev3/test_scope_violation_alert.py#test_format_violation_message_basicr   	   s%   
";1H0I4
PC#*#s****#s***#******s***s*******;#;#;##")"c))))"c)))"))))))c)))c)))))))    c                     t        dddgddi      } d}|| v }|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  }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  }d
d|iz  }t        t        j                  |            d x}}y )N	task-2370a.pyzb.pyreasontestr   r	   r
   r   r   r   r   r   s        r   *test_format_violation_message_with_contextr&      s    
";0@8VBT
UC8s?8s8ss6S=6S6SSr    c                     t        d      D  cg c]  } d|  d
 }} t        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  }d
d|iz  }t        t        j                  |            d x}}y c c} w )N   filez.pyz	task-9999u	   총 30건r   r	   r
   r   r   r   )
ranger   r   r   r   r   r   r   r   r   )i
violationsr
   r   r   r   r   s          r   1test_format_violation_message_truncates_long_listr-      s    ).r3AD3-3J3
";
D
AC;#;#;## 4s   Cc                    | j                  dd       | j                  dd       ddl}ddlm} |j	                  |       |j                  ddgd      }|d   }d	}||u }|slt        j                  d
|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            dx}x}}y)u'   BOT_TOKEN 미설정 → dry_run 결과.ANU_CONFIRM_BOT_TOKEN SCOPE_VIOLATION_CHAT_IDr   Nr"   r#   dry_runT)is)z%(py1)s is %(py4)s)r   py4zassert %(py6)spy6)setenv	importlibscripts.scope_violation_alertscope_violation_alertreloadsend_scope_violationr   r   r   r   r   )	monkeypatchr7   modresultr   @py_assert3r   @py_format5@py_format7s	            r   *test_send_scope_violation_dry_run_no_tokenrB      s    .30"5/S%%kF8TBF)$$$$$$$$$$$$$$$$$$$r    )__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   syspathlibr   pathinsertstr__file__resolveparentsr8   r   r   r&   r-   rB    r    r   <module>rQ      sX    4   
  3tH~--/77:; < B*%r    