o
    B_ij                     @   s   d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	m
Z
mZmZ ddlmZ ddlmZ dd	lmZ d
edededdfddZdS )    )Page   )shot)log_steppause   )has_visible_password_inputis_mfa_screenis_authenticatedis_office_field_selectorclick_office_tile)
fill_login)
handle_mfa)handle_terminate_sessionspagemfa_code	allow_mfareturnNc                 C   s   | j |jdd | d t| |d td|  t|d t| r0t| |d t|  | d t| r:t	| || t
| rK|sDtdt| ||| t| |}|rW| d	 t| set| |d
 tdd S )Ndomcontentloaded)
wait_untili  z
step1-openzOpened base URLzoffice-field-selectori  z&Unexpected MFA during smoke/navigationiX  zauth-not-reachedzAuthentication not reached)gotobase_urlwait_for_timeoutr   r   r   r   r   r   r   r	   RuntimeErrorr   r   r
   )r   cfgrun_dirr   r   handled r   R/var/www/html/flask_server/apps/aroflo_connector_app/ui_automation/auth/session.pyensure_logged_in   s,   





r   )playwright.sync_apir   core.artifactsr   core.logr   r   detectr   r	   r
   r   r   loginr   mfar   
post_loginr   strboolr   r   r   r   r   <module>   s    