
    	]j
	                     R   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 ddl
mZ dd	l
mZ  ed
d      ej                  j                  d               Z ed
d      ej                  j                  d               Z ed
d      ej                  j                  d               Zy)    N)
LSAPIToken)status)Token)	APIClient   )mock_feature_flag   )create_user_with_token_settings8fflag__feature_develop__prompts__dia_1829_jwt_token_authT)	flag_namevaluec                 >   t        dd      }t        j                  j                  |      \  }}t	               }|j                  d|j                          | j                  t        j                         |j                  d       | j                  D cg c]  }|j                  dk(  s| }}t        |      d	k(  sJ |d
   }|j                  |j                  k(  sJ |j                   |j"                  j                  k(  sJ |j$                  dk(  sJ y c c}w )NFTapi_tokens_enabledlegacy_api_tokens_enableduserToken HTTP_AUTHORIZATION/api/projects/z Legacy token authentication usedr	   r   )r
   r   objectsget_or_creater   credentialskey	set_levelloggingINFOgetrecordsmessagelenuser_ididorganization_idactive_organizationendpoint)caplogr   token_clientrecordbasic_auth_logss          O/root/env/lib/python3.12/site-packages/label_studio/tests/jwt_auth/test_auth.py+test_logging_when_legacy_token_auth_enabledr/      s     +e_cdD}}***5HE1[F
F599+*>?
W\\"
JJ ,2NNs&fnnPr>rvsOs1$$$QF>>TWW$$$!!T%=%=%@%@@@@??.... ts   D-Dc                 v   t        dd      }t        j                  |      }t               }|j	                  d|j
                          | j                  t        j                         |j                  d       | j                  D cg c]  }|j                  dk(  s| }}t        |      dk(  sJ y c c}w )	NTFr   zBearer r   r   zBasic token authentication usedr   )r
   r   for_userr   r   access_tokenr   r   r   r   r    r!   r"   )r(   r   refreshr+   r,   r-   s         r.   /test_no_logging_when_legacy_token_auth_disabledr4       s     +d^cdD!!$'G[F
GG4H4H3I*JK
W\\"
JJ ,2NNr&fnnPq>qvrOr1$$$ ss   
B6B6c                     t        dd      } t        j                  j                  |       \  }}t	               }|j                  d|j                          |j                  d      }|j                  t        j                  k(  sJ y )NTFr   r   r   r   r   )r
   r   r   r   r   r   r   r   status_coder   HTTP_401_UNAUTHORIZED)r   r)   r*   r+   responses        r.   ;test_legacy_api_token_disabled_user_cannot_use_legacy_tokenr9   /   sx     +d^cdD}}***5HE1[F
F599+*>?zz*+H6#?#????    )r   pytestjwt_auth.modelsr   rest_frameworkr   rest_framework.authtoken.modelsr   rest_framework.testr   utilsr   r
   mark	django_dbr/   r4   r9    r:   r.   <module>rD      s      & ! 1 ) % 2 W_cd/  e/" W_cd
%  e
% W_cd@  e@r:   