a
    Dg                     @   sB   d dl mZ d dlmZ d dlmZ d dlmZ G dd dZdS )    
connection)	Migration)MigrationLoader)MigrateStreamDatac                   @   s,   e Zd ZdZg ZdZdddZdddZdS )MigrationTestMixinNc                 C   s4   t dd}t| j| jjd|p | j|d}|g|_|S )NZtest_migrationZ*wagtail_streamfield_migration_toolkit_testcontent)app_nameZ
model_name
field_nameoperations_and_block_pathsrevisions_from)r   r   r	   model__name__ default_operation_and_block_path
operations)selfr   r   	migrationZmigration_operation r   l/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/test/streamfield_migrations/testutils.pyinit_migration   s    z!MigrationTestMixin.init_migrationc                 C   sF   | j ||d}ttd}|  | }tj|jd}||| d S )N)r   r   r   )atomic)r   r   r   Zbuild_graphproject_stateschema_editorr   apply)r   r   r   r   loaderr   r   r   r   r   apply_migration   s    
z"MigrationTestMixin.apply_migration)NN)NN)r   
__module____qualname__r   r   r	   r   r   r   r   r   r   r      s   
  r   N)	Z	django.dbr   Zdjango.db.migrationsr   Zdjango.db.migrations.loaderr   Z+wagtail.blocks.migrations.migrate_operationr   r   r   r   r   r   <module>   s   