o
    #i                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZ G dd	 d	eZG d
d deZedddG dd deZdS )    )ImproperlyConfigured)override_settings)NoReverseMatch)get_hostget_host_patternsget_hostconfget_hostconf_modulereversereverse_host   )HostsTestCase)simplec                   @   s   e Zd Zedddd Zeddddd Zedd	dd
d Zedd	ddd Zeddddd Zeddddd Z	dS )ReverseTesttests.hosts.simpleROOT_HOSTCONFc              
   C   s   |  ttddgtdd |  ttdddg |  ttdg tddd | dtdd tdd | tddgd | jd	d
 | tddgd W d    d S 1 sWw   Y  d S )Nwith_kwargsspam)eggsr   )r   r   johndoe)username	with_args	spam.eggs)PARENT_HOSTzjohndoe.spam.eggs)assertRaises
ValueErrorr
   dictr   assertEqualsettingsself r!   [/var/www/GraceOrthoHospital/venv_grace/lib/python3.10/site-packages/tests/test_resolvers.pytest_reverse_host   s$   
"zReverseTest.test_reverse_hostr   )r   r   c                 C      |  tdddd d S )Nsimple-directstatichostz//static.spam.eggs/simple/r   r	   r   r!   r!   r"   test_reverse      zReverseTest.test_reversezexample.comc                 C   r$   )Nr%   without_wwwr'   //example.com/simple/r)   r   r!   r!   r"   test_reverse_without_www$   r+   z$ReverseTest.test_reverse_without_wwwztests.hosts.blankc                 C   r$   )Nr%   blank_or_wwwr'   r-   r)   r   r!   r!   r"   test_reverse_blank+   r+   zReverseTest.test_reverse_blankc                 C   .   |  tdddd |  tddddd d S )Nr%   schemer'   z https://scheme.spam.eggs/simple/ftp)r(   r2   zftp://scheme.spam.eggs/simple/r)   r   r!   r!   r"   test_reverse_custom_scheme2      z&ReverseTest.test_reverse_custom_schemec                 C   r1   )Nr%   portr'   z//port.spam.eggs:12345/simple/1337)r(   r6   z//port.spam.eggs:1337/simple/r)   r   r!   r!   r"   test_reverse_custom_port;   r5   z$ReverseTest.test_reverse_custom_portN)
__name__
__module____qualname__r   r#   r*   r.   r0   r4   r8   r!   r!   r!   r"   r      s8    




r   c                   @   sv   e Zd Zedddd Zdd Zdd Zed	dd
d Zedddd Zedddd Z	edddd Z
dS )UtilityTestsr   r   c                 C   s   |  t t d S Nr   r   r   r   r!   r!   r"   test_get_hostconf_moduleG   s   z%UtilityTests.test_get_hostconf_modulec                 C   s   |  tdt d S )Nr   r>   r   r!   r!   r"   #test_get_hostconf_module_no_defaultK   s   z0UtilityTests.test_get_hostconf_module_no_defaultc                 C      |  tdt d S )NzMissing ROOT_HOSTCONF settingassertRaisesMessager   r   r   r!   r!   r"   test_missing_host_patternsO   s   z'UtilityTests.test_missing_host_patternsztests.hostsc                 C   rA   )Nz&Missing host_patterns in 'tests.hosts'rB   r   r!   r!   r"   $test_missing_host_patterns_in_moduleS   s   z1UtilityTests.test_missing_host_patterns_in_modulec                 C   s   |  t tj d S r=   )r   r   r   host_patternsr   r!   r!   r"   test_get_working_host_patternsY   s   z+UtilityTests.test_get_working_host_patternsc                 C   s&   |  tdjd | tdtd d S )Nr&   z$No host called 'non-existent' existsznon-existent)r   r   namerC   r   r   r!   r!   r"   test_get_host]   s   zUtilityTests.test_get_hosttests.hosts.appendedc                 C   s   |  tdjd d S )Nspecial)r   r   rH   r   r!   r!   r"   test_appended_patternsc   s   z#UtilityTests.test_appended_patternsN)r9   r:   r;   r   r?   r@   rD   rE   rG   rI   rL   r!   r!   r!   r"   r<   E   s    



r<   r   www)r   DEFAULT_HOSTc                   @   s   e Zd Zdd Zdd ZdS )SettingChangedClearCacheTestsc                 C   sZ   |  t d | jdd |  t d W d    n1 sw   Y  |  t d d S )Nr   rJ   r   )r   r   r   r   r!   r!   r"   test_root_hostconfm   s
   z0SettingChangedClearCacheTests.test_root_hostconfc                 C   s`   |  t jd | jdd |  t jd W d    n1 s!w   Y  |  t jd d S )NrM   r&   )rN   )r   r   rH   r   r   r!   r!   r"   test_default_hosts   s
   z/SettingChangedClearCacheTests.test_default_hostN)r9   r:   r;   rP   rQ   r!   r!   r!   r"   rO   h   s    rO   N)django.core.exceptionsr   django.test.utilsr   django.urlsr   django_hosts.resolversr   r   r   r   r	   r
   baser   hostsr   r   r<   rO   r!   r!   r!   r"   <module>   s     9#