
    qh                       S SK Jr  S SKrS SKJr  S SKJr  SSKJrJ	r	J
r
JrJrJr  \" SSS	9r " S
 S5      r " S S\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\
\5      r " S S\\5      r " S S\	5      rg)    )annotationsN)TypeVar)Self   )AssociationMixinBaseStorage	CodeMixin
NonceMixinPartialMixin	UserMixinModelT	BaseModel)boundc                  H    \ rS rSr\S 5       r\SS j5       r\S 5       rSrg)r      c                J    U =R                   S-  sl         U R                   S-
  $ N   )NEXT_IDclss    J/var/www/html/env/lib/python3.13/site-packages/social_core/tests/models.pynext_idBaseModel.next_id   s    q{{Q    c                8    U R                   R                  U5      $ Ncacheget)r   keys     r   r    BaseModel.get   s    yy}}S!!r   c                    0 U l         g r   )r   r   s    r   reset_cacheBaseModel.reset_cache   s	    	r    N)returnzSelf | None)	__name__
__module____qualname____firstlineno__classmethodr   r    r$   __static_attributes__r&   r   r   r   r      s<      " "  r   c                  P    \ rS rSrSr0 rSrSS jrS r\	SS j5       r
S rS	 rS
rg)User$   r   TNc                    [         R                  5       U l        Xl        X l        S U l        S U l        S U l        / U l        0 U l	        X0l
        U R                  5         g r   )r/   r   idusernameemail
first_namepasswordslugsocial
extra_dataextra_user_fieldssave)selfr3   r4   r:   s       r   __init__User.__init__)   sK    ,,. 
	!2		r   c                    U R                   $ r   
_is_activer<   s    r   	is_activeUser.is_active5   s    r   c                    Xl         g r   r@   )r   rC   s     r   
set_activeUser.set_active8   s    "r   c                    Xl         g r   )r6   )r<   r6   s     r   set_passwordUser.set_password<   s     r   c                >    U [         R                  U R                  '   g r   )r/   r   r3   rB   s    r   r;   	User.save?   s    $(

4==!r   )	r4   r9   r:   r5   r2   r6   r7   r8   r3   r   )T)r(   r)   r*   r+   r   r   rA   r=   rC   r,   rF   rI   r;   r-   r&   r   r   r/   r/   $   s9    GEJ
 # #!)r   r/   c                      \ rS rSrSrSr0 r0 rSS jrS r	\
S 5       r\
S 5       r\
S	 5       r\
S
 5       r\
S 5       r\
SS j5       r\
S 5       r\
S 5       r\
SS j5       r\
S 5       r\
S 5       r\
SS j5       r\
S 5       r\
S 5       rSrg)TestUserSocialAuthC   Fr   Nc                    [         R                  5       U l        Xl        X l        X0l        U=(       d    0 U l        U R                  R                  R                  U 5        U [         R                  U'   g r   )
rN   r   r2   userprovideruidr9   r8   appendcache_by_uid)r<   rQ   rR   rS   r9   s        r   r=   TestUserSocialAuth.__init__J   sV    $,,.	 $*		%/3'',r   c                    g r   r&   rB   s    r   r;   TestUserSocialAuth.saveS   s    r   c                     0 U l         0 U l        g r   )r   rU   r   s    r   r$   TestUserSocialAuth.reset_cacheV   s    	r   c                    g r   r&   r   rQ   s     r   changedTestUserSocialAuth.changed[       r   c                    UR                   $ r   )r3   r\   s     r   get_usernameTestUserSocialAuth.get_username_   s    }}r   c                    [         $ r   r/   r   s    r   
user_modelTestUserSocialAuth.user_modelc   s    r   c                    g)Ni   r&   r   s    r   username_max_length&TestUserSocialAuth.username_max_lengthg   s    r   c                X    UR                   =(       d    [        UR                  5      S:  $ r   )r6   lenr8   )r   rQ   backend_nameassociation_ids       r   allowed_to_disconnect(TestUserSocialAuth.allowed_to_disconnectk   s    }}4DKK 01 44r   c                    U R                   R                  UR                  S 5        UR                  R                   Vs/ s H  o!U:w  d  M
  UPM     snUR                  l        g s  snf r   )r   popr2   rQ   r8   )r   entryss      r   
disconnectTestUserSocialAuth.disconnecto   sF    		ehh%(-

(9(9H(91aZQ(9H

Hs   	A%A%c                D    [         R                  R                  U5      S L$ r   )r/   r   r    )r   r3   s     r   user_existsTestUserSocialAuth.user_existst   s    zz~~h't33r   c                    [        SXS.UD6$ )N)r3   r4   r&   rd   )r   r3   r4   r:   s       r   create_userTestUserSocialAuth.create_userx   s    HXH6GHHr   c                v    [         R                  R                  5        H  nUR                  U:X  d  M  Us  $    g r   )r/   r   valuesr2   )r   pkrQ   s      r   get_userTestUserSocialAuth.get_user|   s.    JJ%%'Dww"} ( r   c                l    U R                   R                  U5      nU(       a  UR                  U:X  a  U$ g r   )rU   r    rR   )r   rR   rS   social_users       r   get_social_auth"TestUserSocialAuth.get_social_auth   s1    &&**3/;//8;r   c                    UR                    Vs/ s H-  nUS UR                  4;   d  M  US UR                  4;   d  M+  UPM/     sn$ s  snf r   )r8   rR   r2   )r   rQ   rR   r2   usas        r   get_social_auth_for_user+TestUserSocialAuth.get_social_auth_for_user   sS     {{
"D#,,// 464.4H "
 	
 
s   AAAc                    U " XUS9$ )N)rQ   rR   rS   r&   )r   rQ   rS   rR   s       r   create_social_auth%TestUserSocialAuth.create_social_auth   s    S99r   c                    [         R                  R                  5        Vs/ s H  o"R                  U:X  d  M  UPM     sn$ s  snf r   )r/   r   r}   r4   )r   r4   rQ   s      r   get_users_by_email%TestUserSocialAuth.get_users_by_email   s2    !%!2!2!4L!4

e8K!4LLLs
   AA)r9   r2   rR   rS   rQ   r   NN)r(   r)   r*   r+   __test__r   r   rU   r=   r;   r,   r$   r]   ra   re   rh   rn   rt   rw   rz   r   r   r   r   r   r-   r&   r   r   rN   rN   C   s>   HGEL4           5 5 I I 4 4 I I     
 
 : : M Mr   rN   c                  V    \ rS rSrSrSr0 rS r\S 5       r	\S 5       r
\S 5       rSrg	)
	TestNonce   Fr   c                Z    [         R                  5       U l        Xl        X l        X0l        g r   )r   r   r2   
server_url	timestampsalt)r<   r   r   r   s       r   r=   TestNonce.__init__   s!    ##%$"	r   c                D    [        XU5      nU[         R                  U'   U$ r   r   r   )r   r   r   r   nonces        r   useTestNonce.use   s!    *6&+	
#r   c                (    [         R                  U   $ r   r   )r   r   r   s      r   r    TestNonce.get   s     z**r   c                >    UR                   n[        R                  U	 g r   )r   r   r   )r   r   r   s      r   deleteTestNonce.delete   s    %%
OOJ'r   )r2   r   r   r   N)r(   r)   r*   r+   r   r   r   r=   r,   r   r    r   r-   r&   r   r   r   r      sR    HGE  
 + +
 ( (r   r   c                  v    \ rS rSrSrSr0 rS rS r\	S 5       r
\	  S       SS jj5       r\	S	 5       rS
rg)TestAssociation   Fr   c                N    [         R                  5       U l        Xl        X l        g r   )r   r   r2   r   handle)r<   r   r   s      r   r=   TestAssociation.__init__   s    !))+$r   c                V    U [         R                  U R                  U R                  4'   g r   )r   r   r   r   rB   s    r   r;   TestAssociation.save   s    @Dt<=r   c                T   [         R                  R                  XR                  45      nUc  [        XR                  S9n[        R
                  " UR                  5      Ul        UR                  Ul        UR                  Ul        UR                  Ul	        UR                  5         g )N)r   r   )r   r   r    r   base64encodebytessecretissuedlifetime
assoc_typer;   )r   r   associationassocs       r   storeTestAssociation.store   s    %%)):7I7I*JK=#zBTBTUE))+*<*<="))$--&11

r   Nc                    / n[         R                  R                  5        HF  nU(       a  UR                  U:w  a  M  U(       a  UR                  U:w  a  M5  UR                  U5        MH     U$ r   )r   r   r}   r   r   rT   )r   r   r   resultr   s        r   r    TestAssociation.get   sY     $**113Ee..*<%,,&0MM%  4 r   c                   ^ [        U4S j[        R                  R                  5       5      n[	        U5       H9  n[        R                  R                  UR                  UR                  4S 5        M;     g )Nc                "   > U R                   T;   $ r   )r2   )aids_to_deletes    r   <lambda>(TestAssociation.remove.<locals>.<lambda>   s    !6r   )filterr   r   r}   listrq   r   r   )r   r   r   r   s    `  r   removeTestAssociation.remove   sP    68M8M8T8T8VWeA!!%%q||QXX&>E r   )r   r2   r   r   )r   ztype[TestAssociation]r   
str | Noner   r   r'   zlist[AssociationMixin])r(   r)   r*   r+   r   r   r   r=   r;   r,   r   r    r   r-   r&   r   r   r   r      s    HGE
E    "&!"  
 	  F Fr   r   c                  0    \ rS rSrSrSr0 r\S 5       rSr	g)TestCode   Fr   c                n    U R                   R                  5        H  nUR                  U:X  d  M  Us  $    g r   )r   r}   code)r   r   cs      r   get_codeTestCode.get_code   s.    !!#Avv~ $ r   r&   N)
r(   r)   r*   r+   r   r   r   r,   r   r-   r&   r   r   r   r      s#    HGE r   r   c                  F    \ rS rSrSrSr0 rS r\S 5       r	\S 5       r
Srg)	TestPartial   Fr   c                >    U [         R                  U R                  '   g r   )r   r   tokenrB   s    r   r;   TestPartial.save   s    (,$**%r   c                8    U R                   R                  U5      $ r   r   r   r   s     r   loadTestPartial.load   s    yy}}U##r   c                :    U R                   R                  U5        g r   )r   rq   r   s     r   destroyTestPartial.destroy  s    		er   r&   N)r(   r)   r*   r+   r   r   r   r;   r,   r   r   r-   r&   r   r   r   r      s>    HGE- $ $  r   r   c                  @    \ rS rSrSr\r\r\	r
\r\r\SS j5       rSrg)TestStoragei  Fc                    g r   r&   )r   	exceptions     r   is_integrity_errorTestStorage.is_integrity_error  r_   r   r&   N)r'   zbool | None)r(   r)   r*   r+   r   rN   rQ   r   r   r   r   r   r   r   partialr,   r   r-   r&   r   r   r   r     s2    HDE!KDG r   r   )
__future__r   r   typingr   typing_extensionsr   storager   r   r	   r
   r   r   r   r   r/   rN   r   r   r   r   r   r&   r   r   <module>r      s    "   "  
	- )9 )>UMI UMp(
I (<,F&	 ,F^y) ,	 $+ r   