
    (<i$              	       v   d Z ddlZddlZddlmZ  eej
                  j                  dd            Z ee      ej                  vr"ej                  j                  d ee             ddlmZmZ ddeded	ed
efdZdefdZdefdZdefdZdefdZdefdZdefdZdefdZdefdZdefdZdefdZy)u  
test_report_parser.py

report_parser.py 머지 감지 기능 TDD 테스트 (토르 작성)

테스트 항목:
- parse_report(): merge_needed, merge_branch, merge_worktree 필드 추출
- summarize_oneline(): merge_needed=True 시 "| 🔀 머지 필요" 접미사
    N)PathWORKSPACE_ROOTz/home/jay/workspace)parse_reportsummarize_onelinetmp_pathcontentfilenamereturnc                 H    | |z  }|j                  |d       t        |      S )uI   임시 보고서 파일을 생성하고 경로 문자열을 반환한다.zutf-8)encoding)
write_textstr)r   r   r	   ps       I/home/jay/workspace/.worktrees/task-2057-dev2/tests/test_report_parser.py_make_reportr      s%    8ALL7L+q6M    c                 H    d}t        | |      }t        |      }|d   du sJ y)uO   보고서에 'merge 판단은 아누에게 위임' 포함 시 merge_needed=Trueu,  # task-100.1 작업 보고서

- **작업 ID**: task-100.1
- **팀**: dev2
- **작업 요약**: 기능 구현 완료
- **소요 시간**: 30분

## 머지 판단
merge 판단은 아누에게 위임합니다.

## 결과
- **총 테스트**: 5
- **통과**: 5
- **실패**: 0
- **발견 버그**: 0건
merge_neededTNr   r   r   r   filepathresults       r   !test_merge_needed_delegate_to_anur   '   4    G" Hg.H(#F.!T)))r   c                 H    d}t        | |      }t        |      }|d   du sJ y)uD   '머지 필요 없음' 포함 시 merge_needed=False (부정 표현)u:  # task-100.2 작업 보고서

- **작업 ID**: task-100.2
- **팀**: dev1
- **작업 요약**: 버그 수정 완료
- **소요 시간**: 15분

## 머지 판단
머지 필요 없음. 단독 브랜치에서 작업 완료.

## 결과
- **총 테스트**: 3
- **통과**: 3
- **실패**: 0
- **발견 버그**: 0건
r   FNr   r   s       r   test_merge_not_neededr   E   4    G" Hg.H(#F.!U***r   c                 H    d}t        | |      }t        |      }|d   du sJ y)uA   머지/merge 관련 키워드 전혀 없으면 merge_needed=Falseu)  # task-100.3 작업 보고서

- **작업 ID**: task-100.3
- **팀**: dev3
- **작업 요약**: 리팩토링 완료
- **소요 시간**: 1시간

## 작업 내용
코드 구조를 개선하였습니다.

## 결과
- **총 테스트**: 10
- **통과**: 10
- **실패**: 0
- **발견 버그**: 0건
r   FNr   r   s       r   test_no_merge_keywordsr   c   r   r   c                 J    d}t        | |      }t        |      }|d   dk(  sJ y)uD   'task/task-100.1-dev2' 패턴 브랜치명을 merge_branch에 추출ur  # task-100.1 작업 보고서

- **작업 ID**: task-100.1
- **팀**: dev2
- **작업 요약**: 신규 기능 추가
- **소요 시간**: 45분

## 브랜치 정보
작업 브랜치: `task/task-100.1-dev2`

머지 필요합니다. 메인 브랜치로 머지 요청드립니다.

## 결과
- **총 테스트**: 8
- **통과**: 8
- **실패**: 0
- **발견 버그**: 0건
merge_branchztask/task-100.1-dev2Nr   r   s       r   test_branch_extractionr"      s5    G& Hg.H(#F.!%;;;;r   c                     d}t        | |      }t        |      }t        |      }|d   du sJ |j                  d      sJ y)uC   merge_needed=True이면 요약 끝에 '| 🔀 머지 필요' 추가u  # task-100.4 작업 보고서

- **작업 ID**: task-100.4
- **팀**: dev2
- **작업 요약**: API 구현
- **소요 시간**: 2시간

merge 판단은 아누에게 위임합니다.

## 결과
- **총 테스트**: 12
- **통과**: 12
- **실패**: 0
- **발견 버그**: 0건
r   Tu   | 🔀 머지 필요N)r   r   r   endswithr   r   r   r   onelines        r   &test_summarize_oneline_merge_indicatorr'      sS    G  Hg.H(#F'G.!T)))2333r   c                 J    d}t        | |      }t        |      }|d   dk(  sJ y)u/   /home/jay/projects/.worktrees/... 경로 추출u\  # task-100.5 작업 보고서

- **작업 ID**: task-100.5
- **팀**: dev1
- **작업 요약**: 워크트리 작업
- **소요 시간**: 20분

## 워크트리 정보
작업 경로: `/home/jay/projects/myapp/.worktrees/task-100.5`

머지 필요합니다.

## 결과
- **총 테스트**: 4
- **통과**: 4
- **실패**: 0
- **발견 버그**: 0건
merge_worktreez./home/jay/projects/myapp/.worktrees/task-100.5Nr   r   s       r   test_worktree_path_extractionr*      s6    G& Hg.H(#F"#'WWWWr   c                 H    d}t        | |      }t        |      }|d   du sJ y)u,   '아누 판단' 포함 시 merge_needed=Trueuc  # task-100.6 작업 보고서

- **작업 ID**: task-100.6
- **팀**: dev3
- **작업 요약**: 데이터 처리 로직 구현
- **소요 시간**: 1시간 30분

## 머지 판단
아누 판단에 맡깁니다. 브랜치 상태를 확인 후 결정 바랍니다.

## 결과
- **총 테스트**: 7
- **통과**: 7
- **실패**: 0
- **발견 버그**: 0건
r   TNr   r   s       r   test_anu_judgment_keywordr,      r   r   c                 H    d}t        | |      }t        |      }|d   du sJ y)u5   '머지 필요합니다' 포함 시 merge_needed=TrueuT  # task-100.7 작업 보고서

- **작업 ID**: task-100.7
- **팀**: dev2
- **작업 요약**: 인증 모듈 구현
- **소요 시간**: 3시간

## 배포 노트
작업 완료 후 머지 필요합니다. 충돌 없음을 확인하였습니다.

## 결과
- **총 테스트**: 15
- **통과**: 15
- **실패**: 0
- **발견 버그**: 0건
r   TNr   r   s       r   test_merge_needed_positiver.      r   r   c                 j    d}t        | |      }t        |      }t        |      }|d   du sJ d|vsJ y)uC   merge_needed=False이면 요약에 '머지 필요' 문자열 없음u   # task-100.8 작업 보고서

- **작업 ID**: task-100.8
- **팀**: dev1
- **작업 요약**: 문서 업데이트
- **소요 시간**: 10분

## 결과
- **총 테스트**: 2
- **통과**: 2
- **실패**: 0
- **발견 버그**: 0건
r   Fu   머지 필요N)r   r   r   r%   s        r   )test_summarize_oneline_no_merge_indicatorr0     sL    G Hg.H(#F'G.!U***')))r   c                 H    d}t        | |      }t        |      }|d   du sJ y)u/   'merge 불필요' 포함 시 merge_needed=Falseu@  # task-100.9 작업 보고서

- **작업 ID**: task-100.9
- **팀**: dev3
- **작업 요약**: 설정 파일 수정
- **소요 시간**: 5분

## 머지 판단
이번 작업은 merge 불필요합니다. 독립 작업입니다.

## 결과
- **총 테스트**: 1
- **통과**: 1
- **실패**: 0
- **발견 버그**: 0건
r   FNr   r   s       r   test_merge_unnecessary_keywordr2   9  r   r   )ztask-100.1.md)__doc__ossyspathlibr   environget	WORKSPACEr   pathinsertreport_parserr   r   r   r   r   r   r"   r'   r*   r,   r.   r0   r2    r   r   <module>r>      s    
 
   02GHI	y>!HHOOAs9~& 94 #  SV * *<+D +<+T +<<T <@4T 4>XD X@* *<* *<* *:+T +r   