
    i                     r   d Z ddlZddlmZ  ee      j                  j                  dz  Zej                  j                  de      Z
e
e
j                  J ej                  j                  e
      Ze
j                  j                  e       ej                  ZdZdeded	dfd
Zd Zd Zd Zd Zd Zd Zy)u  
test_l1_smoketest_check.py — l1_smoketest_check.py의 verify 함수 단위 테스트.

6개 시나리오:
1. 보고서 파일 없음 → SKIP
2. 보고서에 L1 섹션 없음 → FAIL
3. L1 섹션 있고 "해당없음" 3줄 이상 → PASS (CLI/스크립트 작업)
4. L1 섹션 있고 "성공" 키워드 → PASS
5. L1 섹션 있고 "실패" 키워드 → PASS (실패도 결과 보고임)
6. L1 섹션 있으나 결과 키워드 없음 → FAIL
    N)Pathzl1_smoketest_check.pyl1_smoketest_checkztask-test-9999tmp_pathcontentreturnc                 t    | dz  dz  }|j                  dd       |t         dz  j                  |d       y)	u;   tmp_path/memory/reports/{TASK_ID}.md 에 content를 기록.memoryreportsT)parentsexist_okz.mdzutf-8)encodingN)mkdirTASK_ID
write_text)r   r   
report_dirs      e/home/jay/workspace/.worktrees/task-2116-dev1/teams/shared/verifiers/tests/test_l1_smoketest_check.py_write_reportr      sB    H$y0JTD1WIS/!--g-H    c                 Z    t        t        t        |             }|d   dk(  sJ |d   sJ y)uA   보고서 파일 자체가 없으면 SKIP을 반환해야 한다.workspace_rootstatusSKIPdetailsN)verifyr   str)r   results     r    test_no_report_file_returns_skipr   )   s3    GCM:F(v%%%)r   c                 h    d}t        | |       t        t        t        |             }|d   dk(  sJ y)ud   보고서 파일은 있으나 L1 스모크테스트 섹션이 없으면 FAIL을 반환해야 한다.uk   ## 작업 개요

이 작업은 간단한 리팩토링입니다.

## 변경 내역

- 일부 코드 정리
r   r   FAILNr   r   r   r   r   r   r   s      r   test_no_l1_section_returns_warnr#   5   s8    G (G$GCM:F(v%%%r   c                 h    d}t        | |       t        t        t        |             }|d   dk(  sJ y)uT   L1 섹션에 '해당없음'이 3줄 이상이면 CLI/스크립트 작업으로 PASS.u   ## 작업 개요

쉘 스크립트 수정 작업입니다.

## L1 스모크테스트 결과

- 서버 재시작: 해당없음 (shell 스크립트 수정, 서버 코드 아님)
- API 응답 확인: 해당없음
- 스크린샷: 해당없음
r   r   PASSNr!   r"   s      r   /test_l1_section_three_naexclusions_returns_passr&   J   s8    
G (G$GCM:F(v%%%r   c                 h    d}t        | |       t        t        t        |             }|d   dk(  sJ y)u2   L1 섹션에 '성공' 키워드가 있으면 PASS.u   ## 기능 구현

새 API 엔드포인트를 추가했습니다.

## L1 스모크테스트 결과

- 서버 재시작 후 API 호출 성공
- 응답 코드 200 반환 확인
r   r   r%   Nr!   r"   s      r   1test_l1_section_with_success_keyword_returns_passr(   a   8    	G (G$GCM:F(v%%%r   c                 h    d}t        | |       t        t        t        |             }|d   dk(  sJ y)uQ   L1 섹션에 '실패' 키워드가 있어도 PASS (결과를 보고했으므로).u   ## 버그 수정

인증 로직을 수정했습니다.

## L1 스모크테스트 결과

- 서버 재시작 후 로그인 실패 케이스 테스트
- 잘못된 토큰에 대해 401 반환 확인
r   r   r%   Nr!   r"   s      r   1test_l1_section_with_failure_keyword_returns_passr+   w   r)   r   c                 h    d}t        | |       t        t        t        |             }|d   dk(  sJ y)ub   L1 섹션이 있으나 결과 키워드('성공','실패','확인','PASS','OK')가 없으면 FAIL.u{   ## 리팩토링

코드 구조를 개선했습니다.

## L1 스모크테스트 결과

- 테스트 예정
- 추후 진행
r   r   r    Nr!   r"   s      r   4test_l1_section_without_result_keywords_returns_warnr-      r)   r   )__doc__importlib.util	importlibpathlibr   __file__parent_MODULE_PATHutilspec_from_file_location_specloadermodule_from_spec_moduleexec_moduler   r   r   r   r   r#   r&   r(   r+   r-    r   r   <module>r=      s   
   H~$$++.EE../C\RU\\5 55
..
)
)%
0    !	
ID I3 I4 I&*&.&,&,&r   