a
    Dg                     @   s   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 dlmZmZ d dlmZ G dd	 d	e
eeZG d
d de
eeZdS )    )TestCase)reverse)timezone)PageSite)	Benchmark)SingleEventPage
StreamPage)WagtailTestUtilsc                   @   s    e Zd ZdZdd Zdd ZdS )!BenchPageExplorerWith50LargePagesz
    Creates 50 pages with large body content and benches the explorer.
    This will be slow if the body content is being loaded from the database.
    c                 C   s   t jjdd| _tjjd| jd ddddd	  gd
  d }tdD ].}| jjt	d|d  t
|d |dd qJ|   d S )N   idTZis_default_site	root_page[,z{"type": "text", "value": "%s"}Zfooi  d   ]2   zPage )titleslugbodyinstance)r   objectsgetr   r   createjoinrange	add_childr	   strlogin)selfr   i r%   Z/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/admin/tests/benches.pysetUp   s"    
z'BenchPageExplorerWith50LargePages.setUpc                 C   sD   | j td| jjfd}| |jd | |d | |d d S )Nwagtailadmin_exploreargs   zPage 1zPage 49clientr   r   r   r   assertEqualstatus_codeZassertContainsr#   responser%   r%   r&   bench*   s    z'BenchPageExplorerWith50LargePages.benchN__name__
__module____qualname____doc__r'   r2   r%   r%   r%   r&   r      s   r   c                   @   s    e Zd ZdZdd Zdd ZdS )#BenchPageExplorerWithCustomURLPagesz
    Creates 50 pages of a class with a customised the .url property.
    This will check how long it takes to generate URLs for all of these
    pages.
    c              
   C   sp   t jjdd| _tjjd| jd tdD ]8}| jjtd|d  t	|d t
 ddd	d
d q*|   d S )Nr   r   Tr   r   zEvent publicZ	reykjavikcost)r   r   Z	date_fromZaudiencelocationr:   r   )r   r   r   r   r   r   r   r    r   r!   r   nowr"   )r#   r$   r%   r%   r&   r'   >   s    
z)BenchPageExplorerWithCustomURLPages.setUpc                 C   sP   | j td| jjfd}| |jd | |d | |d | |d d S )Nr(   r)   r+   zEvent 1zEvent 49z%a href="http:///49/pointless-suffix/"r,   r0   r%   r%   r&   r2   S   s    z)BenchPageExplorerWithCustomURLPages.benchNr3   r%   r%   r%   r&   r8   7   s   r8   N)Zdjango.testr   Zdjango.urlsr   Zdjango.utilsr   Zwagtail.modelsr   r   Zwagtail.test.benchmarkr   Zwagtail.test.testapp.modelsr   r	   Zwagtail.test.utilsr
   r   r8   r%   r%   r%   r&   <module>   s   ,