
    Sf^                         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 d dlmZmZ d	d
lmZ d Zed             Z G d de          ZdS )    N)async_to_syncHttpResponse)RequestFactory)override_settings)ImproperlyConfigured)async_only_middleware)HostsRequestMiddlewareHostsResponseMiddleware   )HostsTestCasec                     t                      S Nr   )requests    G/var/www/html/env/lib/python3.11/site-packages/tests/test_middleware.pyget_response_emptyr      s    >>    c                 2    t          j        |           sJ | S r   )asyncioiscoroutinefunction)get_responses    r   async_middlewarer      s    &|44444r   c                   B   e Zd Zd Z ed          d             Z edd          d             Z edgdd	
          d             Z edgddd          d             Z edgdd	
          d             Z	 edgdd
          d             Z
 edd	ddg          d             Z edd	dedz   dg          ed                         Z edd	dgdddg          d             Z edgd d!
          d"             Z ed#dgd d!$          d%             Zd&S )'MiddlewareTestsc                 T    |                      t          dt          t                     d S )NzMissing ROOT_HOSTCONF settingassertRaisesMessager   r
   r   selfs    r   test_missing_hostconf_settingz-MiddlewareTests.test_missing_hostconf_setting   s5      !5+-CEW	Y 	Y 	Y 	Y 	Yr   ztests.hosts.simple)ROOT_HOSTCONFc                 T    |                      t          dt          t                     d S )NzMissing DEFAULT_HOST settingr   r   s    r   test_missing_default_hostsz*MiddlewareTests.test_missing_default_hosts    s5      !5*,BDV	X 	X 	X 	X 	Xr   boo)r!   DEFAULT_HOSTc                 T    |                      t          dt          t                     d S )Nz9Invalid DEFAULT_HOST setting: No host called 'boo' existsr   r   s    r   test_wrong_default_hostsz(MiddlewareTests.test_wrong_default_hosts%   s2     	  !5G"$6	8 	8 	8 	8 	8r   other.example.comwww)ALLOWED_HOSTSr!   r%   c                     t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           d S )Nr(   	HTTP_HOST/simple/tests.urls.simpler   getr
   r   process_requestassertEqualurlconfr   rfr   
middlewares       r   test_request_urlconf_modulez+MiddlewareTests.test_request_urlconf_module-   sg    
 &9:::&&$$+,>??
""7+++*=>>>>>r   example.comztests.hosts.blank_wildcardroot)r*   r!   PARENT_HOSTr%   c                     t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           d S )Nr9   r,   /ztests.urls.rootr0   r5   s       r   !test_request_blank_urlconf_modulez1MiddlewareTests.test_request_blank_urlconf_module8   sd     m444&&+++,>??
""7+++*;<<<<<r   c                     t          d          }|                    d          }t          t                    }|                    |t          d                     |                     |j        d           d S )Nr(   r,   r.   testr/   )r   r1   r   r   process_responser   r3   r4   r5   s       r   test_response_urlconf_modulez,MiddlewareTests.test_response_urlconf_moduleD   sq    
 &9:::&&$$,-?@@
##G\&-A-ABBB*=>>>>>r   ss.example.comwith_view_kwargsc                 >   t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           |                    d          \  }}|                     |j        d           d S )NrC   r,   z/template/test/ztests.urls.complexznon-existingrD   )	r   r1   r
   r   r2   r3   r4   get_hostname)r   r6   r   r7   hostkwargss         r   test_fallback_to_defaulthostz,MiddlewareTests.test_fallback_to_defaulthostO   s    
 &6777&&*+++,>??
""7+++*>???!**>::f$677777r   z.django_hosts.middleware.HostsRequestMiddlewarez/django_hosts.middleware.HostsResponseMiddleware)r!   r%   
MIDDLEWAREc                 p    | j                             d          }|                     |j        d           d S )Nr=   i  clientr1   r3   status_coder   responses     r   test_requestzMiddlewareTests.test_request\   s6     ;??3''-s33333r   z.async_middlewarec                 J   K   | j                             d           d {V  d S )Nr=   )async_clientr1   r   s    r   test_asgi_requestz!MiddlewareTests.test_asgi_requesti   s7       ##C(((((((((((r   zsomehost.comF)r!   r%   r*   DEBUGrK   c                 t    | j                             dd          }|                     |j        d           d S )Nr=   zevil.comr,   i  rM   rP   s     r   test_fallback_with_evil_hostz,MiddlewareTests.test_fallback_with_evil_hostu   s:     ;??3*?==-s33333r   spam.eggs.example.comztests.hosts.multiplemultiplec                     t          d          }|                    d          }t          t                    }|                    |           |                     |j        d           d S )NrY   r,   z
/multiple/ztests.urls.multipler0   r5   s       r   test_multiple_subdomainsz(MiddlewareTests.test_multiple_subdomains   sg    
 &=>>>&&&&+,>??
""7+++*?@@@@@r   z/debug_toolbar.middleware.DebugToolbarMiddleware)rK   r!   r%   c                     d}|                      t          |          5  t          t                     d d d            d S # 1 swxY w Y   d S )NzThe django-hosts and django-debug-toolbar middlewares are in the wrong order. Make sure the django-hosts middleware comes before the django-debug-toolbar middleware in the MIDDLEWARE setting.r   )r   msgs     r   test_debug_toolbar_new_warningz.MiddlewareTests.test_debug_toolbar_new_warning   s    M 	
 %%&:C@@ 	7 	7"#5666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   A  AAN)__name__
__module____qualname__r    r   r#   r'   r8   r>   rB   rJ   rR   r   rU   rX   r\   r_    r   r   r   r      s       Y Y Y %9:::X X ;:X *  8 8 8
 *+*  ? ?	 ? $o2!	  
= = 
= *+*  ? ?	 ? '(*') ) )8 8	) )8 *<=
  4 4 4 *<,,=
   ) ) ] ) *%&<=
  4 4 4 ./,! ! !A A	! !A =<
 -! ! !7 7! !7 7 7r   r   )r   asgiref.syncr   django.httpr   django.testr   django.test.utilsr   django.core.exceptionsr   django.utils.decoratorsr	   django_hosts.middlewarer
   r   baser   r   r   r   rc   r   r   <module>rl      s    & & & & & & $ $ $ $ $ $ & & & & & & / / / / / / 7 7 7 7 7 7 9 9 9 9 9 9> > > > > > > >            
A7 A7 A7 A7 A7m A7 A7 A7 A7 A7r   