
    SfR                         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 ddlmZ dd	lmZmZmZ d
 Z eg d           G d de                      ZdS )    )SiteHttpResponse)RequestFactory)override_settings)empty)HostsRequestMiddleware   )HostsTestCase)AuthorBlogPostWikiPagec                     t                      S Nr   requests    B/var/www/html/env/lib/python3.11/site-packages/tests/test_sites.pyget_response_emptyr      s    >>    )
wiki.site1
wiki.site2admin.site4static)ALLOWED_HOSTSc                   $    e Zd Z fdZd Z edd          d             Z edd          d             Z edd          d             Z edd          d	             Z	 edd          d
             Z
d Zd Zd Zd Zd Zd Z xZS )
SitesTestsc                 6   t          t          |                                            t          j                            dd          | _        t          j                            dd          | _        t          j                            dd          | _        t          j                            dd	          | _	        t          j                            d
| j                  | _        t          j                            d| j                  | _        t          j                            d| j                  | _        t          j                            d| j                  | _        t          j                            d| j                  | _        t          j                            d| j                  | _        t$          j                            d| j                  | _        t$          j                            d| j                  | _        d S )Nr   site1)domainnamer   site2z
wiki.site3site3r   site4page1)contentsitepage2page3page4john)r    r&   terrypost1)r%   authorpost2)superr   setUpr   objectscreater   r!   r"   r#   r   r$   r'   r(   r)   r   author1author2r   r,   r.   )self	__class__s    r   r0   zSitesTests.setUp   s   j$%%'''\((7(KK
\((7(KK
\((7(KK
\((G(LL
%,,W4:,NN
%,,W4:,NN
%,,W4:,NN
%,,W4:,NN
~,,&tz,JJ~,,'
,KK%,,W48L - B B
%,,W48L - B B


r   c                     t           t          t          t          fD ]-}|j                                                                         .d S r   )r   r   r   r   r1   alldelete)r5   models     r   tearDownzSitesTests.tearDown&   sG    &$7 	) 	)EM&&((((	) 	)r   ztests.hosts.simplewww)ROOT_HOSTCONFDEFAULT_HOSTc                 ,   t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           |                     |j        j        | j	        j                   d S )Nr   	HTTP_HOST/simple/tests.urls.simple)
r   getr	   r   process_requestassertEqualurlconfr&   pkr   r5   rfr   
middlewares       r   test_sites_callbackzSitesTests.test_sites_callback*        l333&&$$+,>??
""7+++*=>>>$*-88888r   c                    t          d          }|                    d          t          t                    }|                               fd}|                     j        j        t                     | 	                    d|           |                     j        j        | j
                   t          j        _        | 	                    d|           |                     j        j        | j
        j                   d S )Nr   r@   rB   c                       j         j        S r   )r&   r   r   s   r   <lambda>z7SitesTests.test_sites_cached_callback.<locals>.<lambda>>   s    7<. r   r
   r   )r   rD   r	   r   rE   rF   r&   _wrappedr   assertNumQueriesr#   rH   )r5   rJ   rK   get_siter   s       @r   test_sites_cached_callbackz%SitesTests.test_sites_cached_callback5   s     m444&&$$+,>??
""7+++.... 	.666a***.
;;; !&a***$*-88888r   c                 ,   t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           |                     |j        j        | j	        j                   d S Nr   r@   rB   rC   )
r   rD   r	   r   rE   rF   rG   r&   rH   r!   rI   s       r   $test_sites_callback_with_parent_hostz/SitesTests.test_sites_callback_with_parent_hostJ   rM   r   c                    t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           |                     |j        j        | j	        j                   |                     t          t          j                            |                    | j        g           d S rV   )r   rD   r	   r   rE   rF   rG   r&   rH   r!   listr   on_site
by_requestr(   rI   s       r   test_manager_simplezSitesTests.test_manager_simpleU   s     l333&&$$+,>??
""7+++*=>>>$*-888h.99'BBCC*	' 	' 	' 	' 	'r   c                    t          d          }|                    d          t          t                    }|                               |                     j        d           |                     t          fd           |                     t          t          j                                                g            d S )Nr   r@   rB   rC   c                       j         S r   )r&   r   s   r   rP   z6SitesTests.test_manager_missing_site.<locals>.<lambda>k   s	    ', r   )r   rD   r	   r   rE   rF   rG   assertRaisesAttributeErrorrY   r   rZ   r[   )r5   rJ   rK   r   s      @r   test_manager_missing_sitez$SitesTests.test_manager_missing_siteb   s     h///&&$$+,>??
""7+++*=>>>.*>*>*>*>???h.99'BBCCRHHHHHr   c                    |                      | j        j                  5  |                     t	          t
          j                                                  | j        | j	        g           d d d            d S # 1 swxY w Y   d S N)SITE_ID)
settingsr   idrF   rY   r   rZ   r8   r$   r'   r5   s    r   test_manager_default_sitez$SitesTests.test_manager_default_siten   s    ]]4:=]11 	7 	7T("2"6"6"8"899"j$*57 7 7	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   AA::A>A>c                    |                      | j        j                  5  |                     t	          t
          j                                                  | j        g           d d d            n# 1 swxY w Y   |                      | j	        j                  5  |                     t	          t
          j                                                  | j
        g           d d d            d S # 1 swxY w Y   d S rc   )re   r   rf   rF   rY   r   rZ   r8   r,   r!   r.   rg   s    r   test_manager_related_sitez$SitesTests.test_manager_related_sites   sr   ]]4:=]11 	I 	IT("2"6"6"8"899DJ<HHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I]]4:=]11 	I 	IT("2"6"6"8"899DJ<HHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	Is%   AA33A7:A7AC11C58C5c                    |                      | j        j                  5  |                     t	          t
          j                                                  | j        g           d d d            d S # 1 swxY w Y   d S rc   )	re   r   rf   rF   rY   r   no_select_relatedr8   r,   rg   s    r   test_no_select_relatedz!SitesTests.test_no_select_relatedy   s    ]]4:=]11 	+ 	+T("<"@"@"B"BCC"j\+ + +	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AA44A8;A8c                     |                      | j        j                  5  |                     t          t
          j        j                   d d d            d S # 1 swxY w Y   d S rc   )re   r   rf   r_   
ValueErrorr   non_existingr8   rg   s    r   test_non_existing_fieldz"SitesTests.test_non_existing_field~   s    ]]4:=]11 	E 	Ej(*?*CDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E   +AA Ac                     |                      | j        j                  5  |                     t          t
          j        j                   d d d            d S # 1 swxY w Y   d S rc   )re   r   rf   r_   ro   r   dead_endr8   rg   s    r   test_dead_end_fieldzSitesTests.test_dead_end_field   s    ]]4:=]11 	A 	Aj(*;*?@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	Arr   c                     |                      | j        j                  5  |                     t          t
          j        j                   d d d            d S # 1 swxY w Y   d S rc   )re   r   rf   r_   	TypeErrorr   non_relr8   rg   s    r   test_non_rel_fieldzSitesTests.test_non_rel_field   s    ]]4:=]11 	? 	?i)9)=>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?rr   )__name__
__module____qualname__r0   r;   r   rL   rT   rW   r\   ra   rh   rj   rm   rq   ru   ry   __classcell__)r6   s   @r   r   r      s       B B B B B$) ) ) *  9 9 9 *  9 9 9$ *  9 9 9 *  ' ' ' *  I I I7 7 7
I I I+ + +
E E EA A A? ? ? ? ? ? ?r   r   N)django.contrib.sites.modelsr   django.httpr   django.testr   django.test.utilsr   django.utils.functionalr   django_hosts.middlewarer	   baser   modelsr   r   r   r   r    r   r   <module>r      s   , , , , , , $ $ $ $ $ $ & & & & & & / / / / / / ) ) ) ) ) ) : : : : : :       . . . . . . . . . .   !V!V!VWWWv? v? v? v? v? v? v? XWv? v? v?r   