
    Si                        d Z ddlZddlZddlmZ ddl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mZmZ  G d d      Zy)	uc   
test_composite_constants.py

composite_constants.py 상수 검증 테스트 (아르고스 작성)
    N)PathWORKSPACE_ROOTz/home/jay/workspace)COMPOSITE_ALLOWED_TEAMSDEFAULT_HANDOFF_FIELDSHANDOFF_REQUIRED_FIELDSMAX_COMPOSITE_TEAMSc                   F    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)TestCompositeConstantsu0   COMPOSITE_ALLOWED_TEAMS 및 관련 상수 검증c                 0    t        t        t              sJ y )N)
isinstancer   	frozensetselfs    O/home/jay/workspace/.worktrees/task-2117-dev1/tests/test_composite_constants.pytest_allowed_teams_is_frozensetz6TestCompositeConstants.test_allowed_teams_is_frozenset   s    19===    c                 "    h d}t         |k(  sJ y )N>   design	marketing
consulting
publishing)r   )r   expecteds     r   $test_allowed_teams_contains_expectedz;TestCompositeConstants.test_allowed_teams_contains_expected   s    F&(222r   c                     t         dk(  sJ y )N   )r   r   s    r   test_max_composite_teams_is_3z4TestCompositeConstants.test_max_composite_teams_is_3#   s    "a'''r   c                 P    t         D ]  }t        |t              rJ d| d        y )NzKey z is not frozenset)r   r   r   r   keys     r   'test_handoff_fields_keys_are_frozensetsz>TestCompositeConstants.test_handoff_fields_keys_are_frozensets&   s2    * 	MCc9-LcU:K/LL-	Mr   c                     t        j                         D ]9  \  }}t        |t              sJ d| d       t	        |      dkD  r0J d| d        y )Nz
Value for z is not listr   z	 is empty)r   itemsr   listlen)r   r   values      r   $test_handoff_fields_values_are_listsz;TestCompositeConstants.test_handoff_fields_values_are_lists*   sZ    1779 	?JCeT*Jj\,JJ*u:>>ZuI#>>>	?r   c                 X    t        t        t              sJ t        t              dkD  sJ y )Nr   )r   r   r#   r$   r   s    r   #test_default_handoff_fields_is_listz:TestCompositeConstants.test_default_handoff_fields_is_list/   s'    0$777)*Q...r   c                 2    t        ddh      }|t        v sJ y )Nr   r   )r   r   r   s     r   $test_handoff_marketing_design_existsz;TestCompositeConstants.test_handoff_marketing_design_exists3   s     h/0----r   c                 P    t         D ]  }|j                  d      sJ d|         y)uB   COMPOSITE_ALLOWED_TEAMS에 dev팀이 포함되지 않음을 검증devz+dev team found in COMPOSITE_ALLOWED_TEAMS: N)r   
startswith)r   teams     r   test_allowed_teams_no_dev_teamsz6TestCompositeConstants.test_allowed_teams_no_dev_teams7   s4    + 	dDu-c1\]a\b/cc-	dr   c                 D    ddl m} t        D ]  }||vrJ d| d        y)u=   TEAM_BOT에 composite 팀이 없음을 검증 (오염 방지)r   )TEAM_BOTzcomposite team z found in TEAM_BOTN)dispatchr1   r   )r   r1   r.   s      r   test_team_bot_not_contaminatedz5TestCompositeConstants.test_team_bot_not_contaminated<   s3    %+ 	TDx'S?4&@R)SS'	Tr   N)__name__
__module____qualname____doc__r   r   r   r    r&   r(   r*   r/   r3    r   r   r
   r
      s5    :>3(M?
/.d
Tr   r
   )r7   ossyspathlibr   pytestenvironget
_WORKSPACEstrpathinsertutils.composite_constantsr   r   r   r   r
   r8   r   r   <module>rD      so    
 
  "**..!13HIJ
z?#(("HHOOAs:' 'T 'Tr   