
    7oi
                     V    d Z ddlZddlmc mZ ddlZddlZddl	m
Z
 ddlmZ d Zd Zy)uP   dispatch.py _patch_timer_metadata의 task_file 필드 패치 검증 (task-1995).    N)Path)patchc                     ddl } | j                  j                  dd       ddlm} t        j                         5 }ddddd	ii}t        |      d
z  }|j                          |dz  }|j                          |dz  }|j                  t        j                  |      d       t        d|      5   |dd       ddd       t        j                  |j                  d            }|d   d   d   }d}	||	k(  }
|
slt        j                   d|
fd||	f      t        j"                  |      t        j"                  |	      dz  }dd|iz  }t%        t        j&                  |            dx}x}
}	ddd       y# 1 sw Y   xY w# 1 sw Y   yxY w)uK   _patch_timer_metadata가 task_file 필드를 정상 기록하는지 검증.r   N/home/jay/workspace_patch_timer_metadatatasksztask-test-1995runningz2026-04-20T00:00:00)status
start_time	workspacememorytask-timers.jsonutf-8encodingdispatch.WORKSPACEzmemory/tasks/task-test-1995.md	task_filer   ==z%(py1)s == %(py4)spy1py4assert %(py6)spy6syspathinsertdispatchr   tempfileTemporaryDirectoryr   mkdir
write_textjsondumpsr   loads	read_text
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanation)r   r   tmpdirinitial_dataworkspace_rootmemory_path
timer_pathresult@py_assert0@py_assert3@py_assert2@py_format5@py_format7s                4/home/jay/workspace/tests/test_dispatch_task_file.py(test_patch_timer_metadata_adds_task_filer<   	   sl   HHOOA,-.		$	$	& b& '"7#
 f3$x/ #55
djj6I'8 	`!"2>^_	` J00'0BCg/0=aAaa=Aaaaaa=Aaaaa=aaaAaaaaaaaa+b b"	` 	`#b bs%   A4F/E6:B3F6E?	;FFc                  &   ddl } | j                  j                  dd       ddlm} t        j                         5 }t        |      dz  }|j                          |dz  }|j                          |dz  }dd	d
ddddii}|j                  t        j                  |      d       t        d|      5   |d	d       ddd       t        j                  |j                  d            }|d   d	   }|d   }	d}
|	|
k(  }|slt        j                   d|fd|	|
f      t        j"                  |	      t        j"                  |
      dz  }dd|iz  }t%        t        j&                  |            dx}	x}}
|d   }	d}
|	|
k(  }|slt        j                   d|fd|	|
f      t        j"                  |	      t        j"                  |
      dz  }dd|iz  }t%        t        j&                  |            dx}	x}}
|d   }	d}
|	|
k(  }|slt        j                   d|fd|	|
f      t        j"                  |	      t        j"                  |
      dz  }dd|iz  }t%        t        j&                  |            dx}	x}}
|d   }	d}
|	|
k(  }|slt        j                   d|fd|	|
f      t        j"                  |	      t        j"                  |
      dz  }dd|iz  }t%        t        j&                  |            dx}	x}}
ddd       y# 1 sw Y   @xY w# 1 sw Y   yxY w)u=   task_file 패치 시 기존 필드가 보존되는지 검증.r   Nr   r   r   r   r   r	   ztask-test-1995br
   z	sched-123   )r   schedule_idretry_count	max_retryr   r   r   zmemory/tasks/task-test-1995b.mdr   r?   r   r   r   r   r   r@   rA   r   r   )r   r   r0   r2   r3   r4   r1   r5   entryr6   r7   r8   r9   r:   s                 r;   3test_patch_timer_metadata_preserves_existing_fieldsrC   '   so   HHOOA,-.		$	$	& G&f3$x/ #55
 !'#.#$!"	$	
 	djj6I'8 	b!"3?`a	b J00'0BCw 12]#2{2#{2222#{222#222{2222222]#(q(#q((((#q(((#(((q((((((([!&Q&!Q&&&&!Q&&&!&&&Q&&&&&&&[!F%FF!%FFFFF!%FFFF!FFF%FFFFFFFF;G G&	b 	b'G Gs%   A6L1K:<H5L:L	?LL)__doc__builtins@py_builtins_pytest.assertion.rewrite	assertionrewriter+   r'   r#   pathlibr   unittest.mockr   r<   rC        r;   <module>rN      s$    V      b<#GrM   