î
Þ^Q\«  ã               @   sO   d  Z  d d l m Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z e ƒ  Z d S)z Utils for testing autocompletes.é    )Úappsc               @   sI   e  Z d  Z d Z d d d „ Z d d „  Z d d „  Z d	 d
 „  Z d S)ÚFixturesz1Callback for post_migrate to create many objects.Nc             C   s   | |  _  d S)z%Preset a model name, ie. 'auth.user'.N)Ú
model_name)Úselfr   © r   úC/var/www/dbchiro/venv/lib/python3.4/site-packages/dal/test/utils.pyÚ__init__   s    zFixtures.__init__c             C   s0   |  j  d k r | j d ƒ St j |  j  ƒ Sd S)z>Return either the preset model, either the sender's TestModel.NZTModel)r   Ú	get_modelr   )r   Úsenderr   r   r   r	      s    zFixtures.get_modelc             K   s    |  j  | ƒ } |  j | ƒ d S)z*Callback function, calls install_fixtures.N)r	   Úinstall_fixtures)r   r
   ÚkwargsÚmodelr   r   r   Ú__call__   s    zFixtures.__call__c             C   sj   xc t  d d ƒ D]R } y | j j d | ƒ Wq | j k
 ra | j j d d | d | ƒ Yq Xq Wd S)zInstall fixtures for model.é   é2   ÚpkÚnameztest %sN)ÚrangeÚobjectsÚgetZDoesNotExistÚcreate)r   r   Únr   r   r   r      s
    zFixtures.install_fixtures)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r   r   r   r   r   r   r      s
   r   c               @   s(   e  Z d  Z d Z d Z d d „  Z d S)ÚOwnedFixturesz5Fixtures for models with an "owner" relation to User.Fc             C   s  |  j  s¦ t j d ƒ } | j j d d d d d d ƒ \ |  _ } |  j j d ƒ |  j j ƒ  | j j d d ƒ \ |  _ } |  j j d ƒ |  j j ƒ  d |  _  n  xW t	 d d	 ƒ D]F } x= |  j |  j g D]) } | j j d
 d | | f d | ƒ qÏ Wq¶ Wd S)zInstall owners and fixtures.z	auth.userÚusernameÚtestZis_staffTZis_superuserÚotherr   é   r   ztest #%s for %sÚownerN)
Úinstalled_authr   r	   r   Zget_or_creater   Zset_passwordÚsaver   r   )r   r   ZUserÚcr   Úur   r   r   r   &   s"    	zOwnedFixtures.install_fixturesN)r   r   r   r   r"   r   r   r   r   r   r   !   s   r   N)r   Zdjango.appsr   Úobjectr   r   Zfixturesr   r   r   r   Ú<module>   s    