§
    i6¶jÍV  ã                   ó²   — d dl Zd dlmc mZ d dlmZ d dlmZm	Z	m
Z
 d dlZd dlmZ d dlmZ d dlmZ d dlmZ ej        d„ ¦   «         Z G d	„ d
¦  «        ZdS )é    N)Údatetime)Ú	AsyncMockÚ	MagicMockÚpatch)Ú
TestClient)Ú
create_app)ÚAuthService)ÚInvoiceAutoSyncSchedulerServicec            	      ód   — t          ¦   «         } |                      dddddddœ¦  «        }dd|› �iS )	Nzacc-test-idz'accountant_test@dinhsonconstruction.comu!   Káº¿ ToÃ¡n TrÆ°á»Ÿng Ä�á»‹nh SÆ¡nÚ
accountantÚ
0202111150)ÚidÚsubÚemailÚ	full_nameÚroleÚ
company_idÚAuthorizationzBearer )r	   Úcreate_jwt_token)ÚauthÚtokens     ú<C:\Projects\DSCons\tests\test_invoice_auto_sync_scheduler.pyÚauth_headersr      sR   € å‰=Œ=€DØ×!Ò!àØ Ø>Ø<Ø Ø&ð	
ð 	
ñ	ô 	€Eð Ð. uÐ.Ð.Ð/Ð/ó    c                   ó¸  — e Zd Zd„ Zd„ Zd„ Zd„ Zej        j	        d„ ¦   «         Z
ej        j	        d„ ¦   «         Zej        j	        d„ ¦   «         Zd„ Zej        j	        d	„ ¦   «         Zej        j	        d
„ ¦   «         Zd„ Zd„ Zej        j	        d„ ¦   «         Zej        j	        d„ ¦   «         Zej        j	        d„ ¦   «         Zej        j	        d„ ¦   «         Zd„ ZdS )ÚTestInvoiceAutoSyncSchedulerc                 ój  — t          ¦   «         }|j        }ddg}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d	}||k    }|sªt          j        d|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}t          ddddd	d¦  «        }|                     |d¬¦  «        \  }}	d}d}
d}d}d}d}t          ||
||||¦  «        }||k    }|�sQt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}
x}x}x}x}}d}|	|k    }|s—t          j        d|fd|	|f¦  «        dt	          j        ¦   «         v st          j        |	¦  «        rt          j        |	¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}t          dddddd¦  «        }|                     |d¬¦  «        \  }}	d}d}
d}d}d}d}t          ||
||||¦  «        }||k    }|�sQt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}
x}x}x}x}}d}d}
d}d}d}d}t          ||
||||¦  «        }||z
  }|j        } |¦   «         }|	|k    }|�sµt          j        d|fd |	|f¦  «        dt	          j        ¦   «         v st          j        |	¦  «        rt          j        |	¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d!t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd!t          j        |¦  «        t          j        |¦  «        d"œz  }d#d$|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}
x}x}x}x}x}x}x}}t          dddddd¦  «        }|                     |d¬¦  «        \  }}	d}d}
d	}d}d}d}t          ||
||||¦  «        }||k    }|�sQt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}
x}x}x}x}}d}d}
d	}d}d}d}t          ||
||||¦  «        }||z
  }|j        } |¦   «         }|	|k    }|�sµt          j        d|fd |	|f¦  «        dt	          j        ¦   «         v st          j        |	¦  «        rt          j        |	¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d%t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd%t          j        |¦  «        t          j        |¦  «        d"œz  }d#d$|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}
x}x}x}x}x}x}x}}d S )&Né   é   ©ú==)z7%(py2)s
{%(py2)s = %(py0)s.scheduled_hours
} == %(py5)sÚservice©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7é   )z6%(py2)s
{%(py2)s = %(py0)s.jitter_minutes
} == %(py5)sT©Úis)z5%(py2)s
{%(py2)s = %(py0)s.enable_jitter
} is %(py5)séê  é   é   r   F©Úwith_jitter)zb%(py0)s == %(py16)s
{%(py16)s = %(py2)s(%(py4)s, %(py6)s, %(py8)s, %(py10)s, %(py12)s, %(py14)s)
}Únext_runr   )	r$   r%   Úpy4Úpy6Úpy8Úpy10Úpy12Úpy14Úpy16zassert %(py18)sÚpy18g      œ@)z%(py0)s == %(py3)sÚdelay©r$   Úpy3úassert %(py5)sr&   )z­%(py0)s == %(py22)s
{%(py22)s = %(py20)s
{%(py20)s = (%(py16)s
{%(py16)s = %(py2)s(%(py4)s, %(py6)s, %(py8)s, %(py10)s, %(py12)s, %(py14)s)
} - %(py17)s).total_seconds
}()
}Út1)r$   r%   r2   r3   r4   r5   r6   r7   r8   Úpy17Úpy20Úpy22zassert %(py24)sÚpy24Út2)r
   Úscheduled_hoursÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚjitter_minutesÚenable_jitterr   Úcalculate_next_runÚtotal_seconds)Úselfr"   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Út0r1   r:   Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_assert11Ú@py_assert13Ú@py_assert15Ú@py_format17Ú@py_format19Ú@py_assert2Ú@py_format4r>   Ú@py_assert18Ú@py_assert19Ú@py_assert21Ú@py_format23Ú@py_format25rC   s                              r   Ú!test_calculate_next_run_all_slotsz>TestInvoiceAutoSyncScheduler.test_calculate_next_run_all_slots   sw  € Ý1Ñ3Ô3ˆØÔ&Ð1¨1¨b¨'Ð1Ð&¨'Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð&¨'Ð1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Ð1Õ1Ô1Ð&Ñ1Ô1Õ1Ô1¨'Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÔ%Ð+¨Ð+Ð%¨Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð%¨Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆwÑ+Ô+Ð+Õ+Ô+ˆwÑ+Ô+Ð+Ð+Õ+Ô+Ð%Ñ+Ô+Õ+Ô+¨Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØÔ$Ð,¨Ð,Ð$¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆwÑ,Ô,Ð,Õ,Ô,ˆwÑ,Ô,Ð,Ð,Õ,Ô,Ð$Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,õ �d˜A˜r 1 b¨!Ñ,Ô,ˆØ!×4Ò4°RÀUÐ4ÑKÔK‰ˆ�%Ø$(Ð9¨!Ð9¨RÐ9°Ð9°AÐ9°qÐ9�8 D¨!¨R°°A°qÑ9Ô9Ð9ˆxÐ9Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆxÐ9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�8Ñ9Ô9Ð9Õ9Ô9�8Ñ9Ô9Ð9Ð9Õ9Ô9 DÑ9Ô9Õ9Ô9¨!Ñ9Ô9Õ9Ô9¨RÑ9Ô9Õ9Ô9°Ñ9Ô9Õ9Ô9°AÑ9Ô9Õ9Ô9°qÑ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÐˆu˜ŠÐÐÐÕÔÐÐÐÐˆu˜ÐÑÔÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐõ �d˜A˜r 1 a¨Ñ+Ô+ˆØ!×4Ò4°RÀUÐ4ÑKÔK‰ˆ�%Ø$(Ð:¨!Ð:¨RÐ:°Ð:°QÐ:¸Ð:�8 D¨!¨R°°Q¸Ñ:Ô:Ð:ˆxÐ:Ò:Ð:Ð:Ñ:Õ:Ô:Ð:Ð:Ð:Ð:ˆxÐ:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆxÑ:Ô:Ð:Õ:Ô:ˆxÑ:Ô:Ð:Ð:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�8Ñ:Ô:Ð:Õ:Ô:�8Ñ:Ô:Ð:Ð:Õ:Ô: DÑ:Ô:Õ:Ô:¨!Ñ:Ô:Õ:Ô:¨RÑ:Ô:Õ:Ô:°Ñ:Ô:Õ:Ô:°QÑ:Ô:Õ:Ô:¸Ñ:Ô:Õ:Ô:Ð:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ø"&ÐN¨ÐN¨2ÐN¨rÐN°1ÐN°aÐN� $¨¨2¨r°1°aÑ8Ô8ÐNÐ8¸2Ñ=ÐNÐ=ÔLÐNÐLÐLÑNÔNÐNˆuÐNÒNÐNÐNÑNÕNÔNÐNÐNÐNÐNˆuÐNÐNÑNÔNÐNÕNÔNÑNÔNÐNÐNÕNÔNˆuÑNÔNÐNÕNÔNˆuÑNÔNÐNÐNÐNÕNÔNÑNÔNÐNÐNÕNÔN�ÑNÔNÐNÕNÔN�ÑNÔNÐNÐNÕNÔN $ÑNÔNÕNÔN¨ÑNÔNÕNÔN¨2ÑNÔNÕNÔN¨rÑNÔNÕNÔN°1ÑNÔNÕNÔN°aÑNÔNÕNÔNÐ8ÑNÔNÐNÕNÔNÑNÔNÐNÐNÕNÔN¸2ÑNÔNÐNÕNÔN¸2ÑNÔNÐNÐNÕNÔNÐLÑNÔNÕNÔNÐNÑNÔNÐNÐNÑNÐNÐNÐNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNõ �d˜A˜r 2 q¨!Ñ,Ô,ˆØ!×4Ò4°RÀUÐ4ÑKÔK‰ˆ�%Ø$(Ð9¨!Ð9¨RÐ9°Ð9°AÐ9°qÐ9�8 D¨!¨R°°A°qÑ9Ô9Ð9ˆxÐ9Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆxÐ9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�8Ñ9Ô9Ð9Õ9Ô9�8Ñ9Ô9Ð9Ð9Õ9Ô9 DÑ9Ô9Õ9Ô9¨!Ñ9Ô9Õ9Ô9¨RÑ9Ô9Õ9Ô9°Ñ9Ô9Õ9Ô9°AÑ9Ô9Õ9Ô9°qÑ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø"&ÐM¨ÐM¨2ÐM¨qÐM°!ÐM°QÐM� $¨¨2¨q°!°QÑ7Ô7ÐMÐ7¸"Ñ<ÐMÐ<ÔKÐMÐKÐKÑMÔMÐMˆuÐMÒMÐMÐMÑMÕMÔMÐMÐMÐMÐMˆuÐMÐMÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔMˆuÑMÔMÐMÕMÔMˆuÑMÔMÐMÐMÐMÕMÔMÑMÔMÐMÐMÕMÔM�ÑMÔMÐMÕMÔM�ÑMÔMÐMÐMÕMÔM $ÑMÔMÕMÔM¨ÑMÔMÕMÔM¨2ÑMÔMÕMÔM¨qÑMÔMÕMÔM°!ÑMÔMÕMÔM°QÑMÔMÕMÔMÐ7ÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔM¸"ÑMÔMÐMÕMÔM¸"ÑMÔMÐMÐMÕMÔMÐKÑMÔMÕMÔMÐMÑMÔMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMr   c           	      óÐ
  — t          d¬¦  «        }t          dddddd¦  «        }g }t          d¦  «        D �]‰}|                     |d¬	¦  «        \  }}|                     |¦  «         d}d}d}	d}
d}d}t          |||	|
||¦  «        }||k    }d}d}d}d
}d}d}t          ||||||¦  «        }||k    }|r|�sAt          j        d||fd|||f¦  «        i ddt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd“dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |	¦  «        “dt          j
        |
¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “ddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd“ddt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd“dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “dt          j
        |¦  «        “z  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}	x}
x}x}x}x}x}x}x}x}x}x}x}}d}||k    }|s—t          j        d"|fd#||f¦  «        d$t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd$t          j
        |¦  «        d%œz  }d&d'|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}�Œ‹t          |¦  «        }t          |¦  «        }
||
k     }|�sxt          j        d(|fd)||
f¦  «        d*t          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd*d+t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd+t          j
        |¦  «        d,t          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd,d+t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd+t          j
        |
¦  «        d-œz  }d.d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}
d S )/Nr)   ©rM   r,   r-   r.   r   é2   Tr/   r   ©ú<=rl   ©zb%(py14)s
{%(py14)s = %(py0)s(%(py2)s, %(py4)s, %(py6)s, %(py8)s, %(py10)s, %(py12)s)
} <= %(py17)szg%(py17)s <= %(py32)s
{%(py32)s = %(py18)s(%(py20)s, %(py22)s, %(py24)s, %(py26)s, %(py28)s, %(py30)s)
}r$   r   r%   r2   r3   r4   r5   r6   r7   r?   Útargetr9   r@   rA   rB   Úpy26Úpy28Úpy30Úpy32úassert %(py34)sÚpy34©ú>©z%(py0)s > %(py3)sr:   r;   r=   r&   )ú<)zM%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} < %(py8)s
{%(py8)s = %(py5)s(%(py6)s)
}ÚminÚrunsÚmax)r$   Úpy1r<   r&   r3   r4   zassert %(py10)s)r
   r   ÚrangerO   ÚappendrE   rF   rG   rH   rI   rJ   rK   rL   ry   r{   )rQ   r"   rW   rz   Ú_rn   r:   rR   rT   rX   rY   rZ   r[   r\   r]   rc   rd   Ú@py_assert23Ú@py_assert25Ú@py_assert27Ú@py_assert29Ú@py_assert31Ú@py_assert16Ú@py_format33Ú@py_format35r`   ra   rU   rS   Ú@py_format9Ú@py_format11s                                  r   Ú)test_calculate_next_run_with_jitter_rangezFTestInvoiceAutoSyncScheduler.test_calculate_next_run_with_jitter_range8   s  € Ý1ÀÐDÑDÔDˆå�d˜A˜r 1 a¨Ñ+Ô+ˆØˆÝ�r‘”ð 	ñ 	ˆAØ#×6Ò6°rÀtÐ6ÑLÔL‰MˆF�EØ�KŠK˜ÑÔÐà Ð_ !Ð_ RÐ_¨Ð_¨BÐ_°Ð_•8˜D ! R¨¨B°Ñ2Ô2Ð_Ð2°fÒ_Ð_ÈÐ_ÈqÐ_ÐRTÐ_ÐVWÐ_ÐY[Ð_Ð]^Ð_ÅÈÈqÐRTÐVWÐY[Ð]^Ñ@_Ô@_Ð_°fÐ@_Ò_Ð_Ð_Ð_Ð_Ñ_Õ_Ô_Ð_Ð_Ð_Ð_Ð_Ð2°fÐ@_Ð_Ñ_Ô_Ð_Ð_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_•8Ñ_Ô_Ð_Õ_Ô_•8Ñ_Ô_Ð_Ð_Ð_Ð_Õ_Ô_˜DÑ_Ô_Ð_Ð_Õ_Ô_ !Ñ_Ô_Ð_Ð_Õ_Ô_ RÑ_Ô_Ð_Ð_Õ_Ô_¨Ñ_Ô_Ð_Ð_Õ_Ô_¨BÑ_Ô_Ð_Ð_Õ_Ô_°Ñ_Ô_Ð_Ð_Õ_Ô_Ð2Ñ_Ô_Ð_Ð_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_°fÑ_Ô_Ð_Õ_Ô_°fÑ_Ô_Ð_Ð_Ð_Ð_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_ÅÑ_Ô_Ð_Õ_Ô_ÅÑ_Ô_Ð_Ð_Ð_Ð_Õ_Ô_ÈÑ_Ô_Ð_Ð_Õ_Ô_ÈqÑ_Ô_Ð_Ð_Õ_Ô_ÐRTÑ_Ô_Ð_Ð_Õ_Ô_ÐVWÑ_Ô_Ð_Ð_Õ_Ô_ÐY[Ñ_Ô_Ð_Ð_Õ_Ô_Ð]^Ñ_Ô_Ð_Ð_Õ_Ô_Ð@_Ñ_Ô_Ð_Ñ_Ð_Ð_Ð_Ð_Ð_Ñ_Ð_Õ_Õ_Ô_Ð_Ñ_Ô_Ñ_Ô_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_ØÐ�5˜1’9ÐÐÐÕÔÐÐÐÐ�5˜1ÐÑÔÐÕÔÑÔÐÐÕÔ�5ÑÔÐÕÔ�5ÑÔÐÐÕÔ˜1ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÑõ �4‰yŒyÐ$�3˜t™9œ9Ð$ˆy˜9Ò$Ð$Ð$Ñ$Õ$Ô$Ð$Ð$Ð$Ð$ˆy˜9Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$�sÑ$Ô$Ð$Õ$Ô$�sÑ$Ô$Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$�4Ñ$Ô$Ð$Õ$Ô$�4Ñ$Ô$Ð$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$�3Ñ$Ô$Ð$Õ$Ô$�3Ñ$Ô$Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$˜tÑ$Ô$Ð$Õ$Ô$˜tÑ$Ô$Ð$Ð$Õ$Ô$˜9Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$r   c                 ót  — t          d¬¦  «        }t          dddddd¦  «        }|                     |d¬	¦  «        \  }}||k     }d}d}d}d
}	d}
d}t          ||||	|
|¦  «        }||k    }|r|�s‘t          j        d||fd|||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}	x}
x}}d}||k    }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d S )Nr)   ri   r,   r-   r.   r   é-   Tr/   r   )rx   rl   )z%(py0)s < %(py3)szc%(py3)s <= %(py18)s
{%(py18)s = %(py4)s(%(py6)s, %(py8)s, %(py10)s, %(py12)s, %(py14)s, %(py16)s)
}Út_insidern   r   )
r$   r<   r2   r3   r4   r5   r6   r7   r8   r9   zassert %(py20)sr@   ru   rw   r:   r;   r=   r&   ©r
   r   rO   rE   rF   rG   rH   rI   rJ   rK   rL   )rQ   r"   r�   rn   r:   rR   rX   rY   rZ   r[   r\   r]   Ú@py_assert17r`   r_   Ú@py_format21ra   rU   s                     r   Ú%test_calculate_next_run_inside_windowzBTestInvoiceAutoSyncScheduler.test_calculate_next_run_inside_windowG   s  € Ý1ÀÐDÑDÔDˆå˜D ! R¨¨B°Ñ2Ô2ˆØ×2Ò2°8ÈÐ2ÑNÔN‰ˆ�à˜&ÒCÐC¨TÐC°1ÐC°bÐC¸!ÐC¸RÐCÀÐC¥H¨T°1°b¸!¸RÀÑ$CÔ$CÐC˜&Ð$CÒCÐCÐCÐCÐCÑCÕCÔCÐCÐCÐCÐCÐCˆx˜&Ð$CÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔCˆxÑCÔCÐCÕCÔCˆxÑCÔCÐCÐCÐCÕCÔCÑCÔCÐCÐCÕCÔC˜&ÑCÔCÐCÕCÔC˜&ÑCÔCÐCÐCÐCÕCÔCÑCÔCÐCÐCÕCÔC¥HÑCÔCÐCÕCÔC¥HÑCÔCÐCÐCÕCÔC¨TÑCÔCÕCÔC°1ÑCÔCÕCÔC°bÑCÔCÕCÔC¸!ÑCÔCÕCÔC¸RÑCÔCÕCÔCÀÑCÔCÕCÔCÐ$CÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCØÐˆu�qŠyÐÐÐÕÔÐÐÐÐˆu�qÐÑÔÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔ�qÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐr   c                 ól  — t          d¬¦  «        }t          dddddd¦  «        }|                     |dd¬¦  «        \  }}d}d}d}d}d}	d}
t          |||||	|
¦  «        }||k    }d}d}d}d	}d}d}t          ||||||¦  «        }||k    }|r|�sAt          j        d
||fd|||f¦  «        i ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |	¦  «        “dt          j        |
¦  «        “dt          j        |¦  «        “ddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd“ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “z  }dd |iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
x}x}x}x}x}x}x}x}x}}t          dddd	d!d¦  «        }|                     |dd¬¦  «        \  }}d}d}d}d"}d}	d}
t          |||||	|
¦  «        }||k    }d}d}d}d#}d}d}t          ||||||¦  «        }||k    }|r|�sAt          j        d
||fd|||f¦  «        i ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |	¦  «        “dt          j        |
¦  «        “dt          j        |¦  «        “dd$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$“ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “z  }dd |iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
x}x}x}x}x}x}x}x}x}}t          dddd#d%d¦  «        }|                     |dd¬¦  «        \  }}d}d}d}d}d}	d}
t          |||||	|
¦  «        }||k    }d}d}d}d	}d}d}t          ||||||¦  «        }||k    }|r|�sAt          j        d
||fd|||f¦  «        i ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |	¦  «        “dt          j        |
¦  «        “dt          j        |¦  «        “dd&t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd&“ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd“dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “dt          j        |¦  «        “z  }dd |iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
x}x}x}x}x}x}x}x}x}}d S )'Nr)   ri   r,   r-   r.   r   T)r0   Úupdate_stater   rk   rm   r$   r   r%   r2   r3   r4   r5   r6   r7   r?   Útarget1r9   r@   rA   rB   ro   rp   rq   rr   rs   rt   é
   é   r   Útarget2é   Útarget3rŽ   )rQ   r"   r>   r”   Údelay1rR   rT   rX   rY   rZ   r[   r\   r]   rc   rd   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rC   r—   Údelay2Út3r™   Údelay3s                                r   Ú8test_calculate_next_run_advances_slots_with_update_statezUTestInvoiceAutoSyncScheduler.test_calculate_next_run_advances_slots_with_update_stateP   sE
  € Ý1ÀÐDÑDÔDˆå�d˜A˜r 1 a¨Ñ+Ô+ˆØ!×4Ò4°RÀTÐX\Ð4Ñ]Ô]‰ˆ�ØÐ\˜aÐ\ Ð\ QÐ\¨Ð\¨AÐ\�x˜˜a  Q¨¨AÑ.Ô.Ð\Ð.°'Ò\Ð\ÀdÐ\ÈAÐ\ÈrÐ\ÐSTÐ\ÐVXÐ\ÐZ[Ð\½XÀdÈAÈrÐSTÐVXÐZ[Ñ=\Ô=\Ð\°'Ð=\Ò\Ð\Ð\Ð\Ð\Ñ\Õ\Ô\Ð\Ð\Ð\Ð\Ð\Ð.°'Ð=\Ð\Ñ\Ô\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\�xÑ\Ô\Ð\Õ\Ô\�xÑ\Ô\Ð\Ð\Ð\Ð\Õ\Ô\˜Ñ\Ô\Ð\Ð\Õ\Ô\˜aÑ\Ô\Ð\Ð\Õ\Ô\ Ñ\Ô\Ð\Ð\Õ\Ô\ QÑ\Ô\Ð\Ð\Õ\Ô\¨Ñ\Ô\Ð\Ð\Õ\Ô\¨AÑ\Ô\Ð\Ð\Õ\Ô\Ð.Ñ\Ô\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\°'Ñ\Ô\Ð\Õ\Ô\°'Ñ\Ô\Ð\Ð\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\½XÑ\Ô\Ð\Õ\Ô\½XÑ\Ô\Ð\Ð\Ð\Ð\Õ\Ô\ÀdÑ\Ô\Ð\Ð\Õ\Ô\ÈAÑ\Ô\Ð\Ð\Õ\Ô\ÈrÑ\Ô\Ð\Ð\Õ\Ô\ÐSTÑ\Ô\Ð\Ð\Õ\Ô\ÐVXÑ\Ô\Ð\Ð\Õ\Ô\ÐZ[Ñ\Ô\Ð\Ð\Õ\Ô\Ð=\Ñ\Ô\Ð\Ñ\Ð\Ð\Ð\Ð\Ð\Ñ\Ð\Õ\Õ\Ô\Ð\Ñ\Ô\Ñ\Ô\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\õ �d˜A˜r 1 b¨!Ñ,Ô,ˆØ!×4Ò4°RÀTÐX\Ð4Ñ]Ô]‰ˆ�ØÐ^˜aÐ^ Ð^ RÐ^¨Ð^¨QÐ^�x˜˜a  R¨¨QÑ/Ô/Ð^Ð/°7Ò^Ð^ÀtÐ^ÈQÐ^ÐPRÐ^ÐTVÐ^ÐXZÐ^Ð\]Ð^½hÀtÈQÐPRÐTVÐXZÐ\]Ñ>^Ô>^Ð^°7Ð>^Ò^Ð^Ð^Ð^Ð^Ñ^Õ^Ô^Ð^Ð^Ð^Ð^Ð^Ð/°7Ð>^Ð^Ñ^Ô^Ð^Ð^Ð^Õ^Ô^Ñ^Ô^Ð^Ð^Õ^Ô^�xÑ^Ô^Ð^Õ^Ô^�xÑ^Ô^Ð^Ð^Ð^Ð^Õ^Ô^˜Ñ^Ô^Ð^Ð^Õ^Ô^˜aÑ^Ô^Ð^Ð^Õ^Ô^ Ñ^Ô^Ð^Ð^Õ^Ô^ RÑ^Ô^Ð^Ð^Õ^Ô^¨Ñ^Ô^Ð^Ð^Õ^Ô^¨QÑ^Ô^Ð^Ð^Õ^Ô^Ð/Ñ^Ô^Ð^Ð^Ð^Õ^Ô^Ñ^Ô^Ð^Ð^Õ^Ô^°7Ñ^Ô^Ð^Õ^Ô^°7Ñ^Ô^Ð^Ð^Ð^Ð^Ð^Õ^Ô^Ñ^Ô^Ð^Ð^Õ^Ô^½hÑ^Ô^Ð^Õ^Ô^½hÑ^Ô^Ð^Ð^Ð^Ð^Õ^Ô^ÀtÑ^Ô^Ð^Ð^Õ^Ô^ÈQÑ^Ô^Ð^Ð^Õ^Ô^ÐPRÑ^Ô^Ð^Ð^Õ^Ô^ÐTVÑ^Ô^Ð^Ð^Õ^Ô^ÐXZÑ^Ô^Ð^Ð^Õ^Ô^Ð\]Ñ^Ô^Ð^Ð^Õ^Ô^Ð>^Ñ^Ô^Ð^Ñ^Ð^Ð^Ð^Ð^Ð^Ñ^Ð^Õ^Õ^Ô^Ð^Ñ^Ô^Ñ^Ô^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^Ð^õ �d˜A˜r 2 r¨1Ñ-Ô-ˆØ!×4Ò4°RÀTÐX\Ð4Ñ]Ô]‰ˆ�ØÐ\˜aÐ\ Ð\ QÐ\¨Ð\¨AÐ\�x˜˜a  Q¨¨AÑ.Ô.Ð\Ð.°'Ò\Ð\ÀdÐ\ÈAÐ\ÈrÐ\ÐSTÐ\ÐVXÐ\ÐZ[Ð\½XÀdÈAÈrÐSTÐVXÐZ[Ñ=\Ô=\Ð\°'Ð=\Ò\Ð\Ð\Ð\Ð\Ñ\Õ\Ô\Ð\Ð\Ð\Ð\Ð\Ð.°'Ð=\Ð\Ñ\Ô\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\�xÑ\Ô\Ð\Õ\Ô\�xÑ\Ô\Ð\Ð\Ð\Ð\Õ\Ô\˜Ñ\Ô\Ð\Ð\Õ\Ô\˜aÑ\Ô\Ð\Ð\Õ\Ô\ Ñ\Ô\Ð\Ð\Õ\Ô\ QÑ\Ô\Ð\Ð\Õ\Ô\¨Ñ\Ô\Ð\Ð\Õ\Ô\¨AÑ\Ô\Ð\Ð\Õ\Ô\Ð.Ñ\Ô\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\°'Ñ\Ô\Ð\Õ\Ô\°'Ñ\Ô\Ð\Ð\Ð\Ð\Ð\Õ\Ô\Ñ\Ô\Ð\Ð\Õ\Ô\½XÑ\Ô\Ð\Õ\Ô\½XÑ\Ô\Ð\Ð\Ð\Ð\Õ\Ô\ÀdÑ\Ô\Ð\Ð\Õ\Ô\ÈAÑ\Ô\Ð\Ð\Õ\Ô\ÈrÑ\Ô\Ð\Ð\Õ\Ô\ÐSTÑ\Ô\Ð\Ð\Õ\Ô\ÐVXÑ\Ô\Ð\Ð\Õ\Ô\ÐZ[Ñ\Ô\Ð\Ð\Õ\Ô\Ð=\Ñ\Ô\Ð\Ñ\Ð\Ð\Ð\Ð\Ð\Ñ\Ð\Õ\Õ\Ô\Ð\Ñ\Ô\Ñ\Ô\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\r   c           
   ƒ   óT  K  — t          ¦   «         }ddddddddddœgdœ|j        _        t          |d	¬
¦  «        }t	          dt
          ¬¦  «        5 }|                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NÚsuccessuX   Ä�Ã£ káº¿t ná»‘i Tá»•ng Cá»¥c Thuáº¿ vÃ  náº¡p 8 hÃ³a Ä‘Æ¡n má»›i (12 Ä‘Ã£ tá»“n táº¡i).r-   r–   Ú
gdt_portalÚOK)r"   ÚstatusÚmessageÚnew_importedÚ
duplicates)r£   r¤   Ú	total_newÚtotal_duplicatesÚ
connectorsúcontact@dinhsonconstruction.com©Úinvoice_serviceÚalert_emailúGapp.modules.core.application.alert_service.BrevoEmailService.send_email©Únew_callableú09:00©Útrigger_slotr£   r    ©z%(py1)s == %(py4)s©r|   r2   úassert %(py6)sr3   r¥   r¦   Ú
alert_sentFr*   ©z%(py1)s is %(py4)s)r   Úrun_gdt_tax_syncÚreturn_valuer
   r   r   Úexecute_scheduled_syncrE   rF   rJ   rK   rL   Úassert_not_called©
rQ   Úmock_invoice_svcr"   Ú	mock_sendÚresÚ@py_assert0rT   r`   Ú@py_format5Ú@py_format7s
             r   Ú,test_execute_scheduled_sync_success_no_alertzITestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_success_no_alerta   sÆ  è è € å$™;œ;ÐàØqØØ "ð  ,Ø'Ø#Ø$%Ø"$ðð ðð:
ð :
ÐÔ)Ô6õ  2Ø,Ø9ð
ñ 
ô 
ˆõ
 ØUÝ"ð
ñ 
ô 
ð 
	*ð Ø×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCØ�x”=Ð- IÐ-�= IÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-�= IÐ-Ñ-Ô-Õ-Ô-�=Ñ-Ô-Õ-Ô- IÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø�~Ô&Ð+¨!Ð+Ð&¨!Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð&¨!Ð+Ñ+Ô+Õ+Ô+Ð&Ñ+Ô+Õ+Ô+¨!Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�|Ô$Ð*¨Ð*Ð$¨Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð$¨Ð*Ñ*Ô*Õ*Ô*Ð$Ñ*Ô*Õ*Ô*¨Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø�|Ô$Ð-¨Ð-Ð$¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð$¨Ð-Ñ-Ô-Õ-Ô-Ð$Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-à×'Ò'Ñ)Ô)Ð)ð
	*ð 
	*ð 
	*ñ 
	*ô 
	*ð 
	*ð 
	*ð 
	*ð 
	*ð 
	*ð 
	*ð 
	*øøøð 
	*ð 
	*ð 
	*ð 
	*ð 
	*ð 
	*s   ÁH?JÊJ!Ê$J!c              ƒ   óˆ	  K  — t          ¦   «         }ddddddœgdœ|j        _        t          |d¬¦  «        }t	          d	t
          ¬
¦  «        5 }dddœ|_        |                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j        j        }
|
d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|
d         }||v }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|
d         }||v }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|
d          }||v }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d!}|
d          }||v }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )"NÚ
auth_erroruI   TÃ i khoáº£n Cá»•ng HÄ�Ä�T hoadondientu.gdt.gov.vn bá»‹ sai máº­t kháº©u.r¡   u:   Máº­t kháº©u khÃ´ng Ä‘Ãºng hoáº·c tÃ i khoáº£n bá»‹ khÃ³a.)r"   r£   r¤   ©r£   r¤   r©   rª   r«   r®   r¯   Tz<alert-msg-456@smtp.brevo.com>©r    Ú
message_idú05:00r²   r£   r    r´   rµ   r¶   r3   r·   r*   r¸   Úerror_detailsÚrecipient_emailu   ðŸš¨ [DSCons ERP Alert]Úsubject©Úin©z%(py1)s in %(py4)sr   Úhtml_contentu   Máº­t kháº©u khÃ´ng Ä‘Ãºng)r   r¹   rº   r
   r   r   r»   rE   rF   rJ   rK   rL   Úassert_called_onceÚ	call_argsÚkwargs©rQ   r¾   r"   r¿   rÀ   rÁ   rT   r`   rÂ   rÃ   Úcall_kwargss              r   Ú5test_execute_scheduled_sync_failure_sends_email_alertzRTestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_failure_sends_email_alert…   s  è è € å$™;œ;Ðà"Øbð  ,Ø*Ø[ðð ðð
:
ð 
:
ÐÔ)Ô6õ 2Ø,Ø9ð
ñ 
ô 
ˆõ
 ØUÝ"ð
ñ 
ô 
ð 	Oð àØ>ð&ð &ˆIÔ"ð
  ×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCØ�x”=Ð0 LÐ0�= LÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0�= LÐ0Ñ0Ô0Õ0Ô0�=Ñ0Ô0Õ0Ô0 LÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø�|Ô$Ð,¨Ð,Ð$¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Õ,Ô,Ð$Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à�OÔ$ðà^ðØ$Ø^ò_ðð ð õ ìðð ð ð Ø$Ø^ðñ ô õ ô ð %ñô õ ô ð _ñô ð ð ñ ð ð ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð ð ð ×(Ò(Ñ*Ô*Ð*Ø#Ô-Ô4ˆKØÐ0Ô1ÐVÐ5VÐVÐ1Ð5VÒVÐVÐVÐVÕVÔVÐVÐVÐVÐVÐ1Ð5VÐVÑVÔVÕVÔVÐ1ÑVÔVÕVÔVÐ5VÑVÔVÐVÐVÑVÐVÐVÐVÐVÐVÑVÐVÕVÕVÔVÐVÑVÔVÑVÔVÐVÐVÐVÐVÐVÐVÐVØ,ÐF°¸IÔ0FÐFÐ,Ð0FÐFÐFÐFÐFÕFÔFÐFÐFÐFÐFÐ,Ð0FÐFÑFÔFÕFÔFÐ,ÑFÔFÕFÔFÐ0FÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFØÐ4˜k¨)Ô4Ð4�7Ð4Ð4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4�7Ð4Ð4Ñ4Ô4Õ4Ô4�7Ñ4Ô4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØÐ> ;¨~Ô#>Ð>�<Ð#>Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>�<Ð#>Ð>Ñ>Ô>Õ>Ô>�<Ñ>Ô>Õ>Ô>Ð#>Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø/ÐN°;¸~Ô3NÐNÐ/Ð3NÐNÐNÐNÐNÕNÔNÐNÐNÐNÐNÐ/Ð3NÐNÑNÔNÕNÔNÐ/ÑNÔNÕNÔNÐ3NÑNÔNÐNÐNÑNÐNÐNÐNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNð1	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oð 	Oð 	Os   ÁQR7Ò7R;Ò>R;c              ƒ   ó„  K  — t          ¦   «         }t          d¦  «        |j        _        t	          |d¬¦  «        }t          dt          ¬¦  «        5 }dddœ|_        |                     d	¬
¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|d         }||v }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j        j        }
|
d         }d}||k    }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d	}|
d         }||v }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|
d         }||v }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )NuE   Cá»•ng Tá»•ng Cá»¥c Thuáº¿ khÃ´ng pháº£n há»“i (Connection timed out)rª   r«   r®   r¯   Tz<alert-exception@brevo.com>rÈ   ú13:00r²   r£   Ú	exceptionr    r´   rµ   r¶   r3   r·   r*   r¸   zConnection timed outrË   rÎ   rÐ   rÌ   rÍ   rÑ   )r   ÚConnectionErrorr¹   Úside_effectr
   r   r   rº   r»   rE   rF   rJ   rK   rL   rÒ   rÓ   rÔ   rÕ   s              r   Ú1test_execute_scheduled_sync_exception_sends_alertzNTestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_exception_sends_alert³   s2  è è € å$™;œ;ÐÝ8GØSñ9
ô 9
ÐÔ)Ô5õ 2Ø,Ø9ð
ñ 
ô 
ˆõ
 ØUÝ"ð
ñ 
ô 
ð 	Ið àØ;ð&ð &ˆIÔ"ð
  ×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCØ�x”=Ð/ KÐ/�= KÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/�= KÐ/Ñ/Ô/Õ/Ô/�=Ñ/Ô/Õ/Ô/ KÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø�|Ô$Ð,¨Ð,Ð$¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Õ,Ô,Ð$Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø)ÐA¨S°Ô-AÐAÐ)Ð-AÐAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ)Ð-AÐAÑAÔAÕAÔAÐ)ÑAÔAÕAÔAÐ-AÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAà×(Ò(Ñ*Ô*Ð*Ø#Ô-Ô4ˆKØÐ0Ô1ÐVÐ5VÐVÐ1Ð5VÒVÐVÐVÐVÕVÔVÐVÐVÐVÐVÐ1Ð5VÐVÑVÔVÕVÔVÐ1ÑVÔVÕVÔVÐ5VÑVÔVÐVÐVÑVÐVÐVÐVÐVÐVÑVÐVÕVÕVÔVÐVÑVÔVÑVÔVÐVÐVÐVÐVÐVÐVÐVØÐ4˜k¨)Ô4Ð4�7Ð4Ð4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4�7Ð4Ð4Ñ4Ô4Õ4Ô4�7Ñ4Ô4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ø)ÐH¨[¸Ô-HÐHÐ)Ð-HÐHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ)Ð-HÐHÑHÔHÕHÔHÐ)ÑHÔHÕHÔHÐ-HÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHð%	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Is   ÁMN5Î5N9Î<N9c                 ó’
  — t          d¬¦  «        }|                     ¦   «         }|d         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}}d S )Nrª   )r­   rD   r   r   r    r´   rµ   r¶   r3   Úscheduled_slotsú01:00rÙ   rM   r)   rN   Tr*   r¸   Úalert_recipient_emailÚnext_run_atrÎ   ©z%(py1)s in %(py3)sr£   ©r|   r<   r=   r&   Úseconds_until_next_runÚ	is_pausedÚpause_reason)
r
   Ú
get_statusrE   rF   rJ   rK   rL   rG   rH   rI   )
rQ   r"   r£   rÁ   rT   r`   rÂ   rÃ   ra   rU   s
             r   Útest_get_scheduler_statusz6TestInvoiceAutoSyncScheduler.test_get_scheduler_statusÓ   s  € Ý1Ø9ð
ñ 
ô 
ˆð ×#Ò#Ñ%Ô%ˆàÐ'Ô(Ð3¨Q°¨GÐ3Ð(¨GÒ3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð(¨GÐ3Ñ3Ô3Õ3Ô3Ð(Ñ3Ô3Õ3Ô3¨GÑ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØÐ'Ô(ð 	
ØØð-
ð 	
Ð(ð -
ò 
ð 	
ð 	
ð 	
õ 	
ìð	
ð 	
ð 	
ð 	
Ð(ð -
ð 	
ñ 	
ô 	
õ 	
ô 
ð )ñ 	
ô 	
õ 	
ô 
ð-
ñ 	
ô 	
ð 	
ð 	
ñ 	
ð 	
ð 	
ð 	
ð 	
ð 	
ñ 	
ð 	
õ 	
õ 	
ìð	
ñ 	
ô 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð Ð&Ô'Ð-¨2Ð-Ð'¨2Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð'¨2Ð-Ñ-Ô-Õ-Ô-Ð'Ñ-Ô-Õ-Ô-¨2Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø�oÔ&Ð.¨$Ð.Ð&¨$Ð.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð&¨$Ð.Ñ.Ô.Õ.Ô.Ð&Ñ.Ô.Õ.Ô.¨$Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ØÐ-Ô.ÐSÐ2SÐSÐ.Ð2SÒSÐSÐSÐSÕSÔSÐSÐSÐSÐSÐ.Ð2SÐSÑSÔSÕSÔSÐ.ÑSÔSÕSÔSÐ2SÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSÐSÐSØÐ&ˆ} Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ} Ð&Ñ&Ô&Õ&Ô&ˆ}Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô& Ñ&Ô&Ð&Õ&Ô& Ñ&Ô&Ð&Ð&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ø'Ð1Ð'¨6Ð1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð'¨6Ð1Ñ1Ô1Õ1Ô1Ð'Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1¨6Ñ1Ô1Ð1Õ1Ô1¨6Ñ1Ô1Ð1Ð1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1ØÐ$ˆ{˜fÐ$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆ{˜fÐ$Ñ$Ô$Õ$Ô$ˆ{Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$˜fÑ$Ô$Ð$Õ$Ô$˜fÑ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$ØÐ'ˆ~ Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ~ Ð'Ñ'Ô'Õ'Ô'ˆ~Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô' Ñ'Ô'Ð'Õ'Ô' Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   c              ƒ   óN  K  — t          ¦   «         }t          |ddd¬¦  «        }t          dt          ¬¦  «        5 }|                     dd¬	¦  «        ƒ d {V —†}|d
         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}d}|d         }||v }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|j
                             ¦   «          |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nrª   Tu%   Cá»¥c thuáº¿ táº¡m khÃ³a tÃ i khoáº£n)r¬   r­   ræ   rç   r®   r¯   r±   F©r³   Úforcer£   Úpausedr    r´   rµ   r¶   r3   r·   r*   r¸   u   Cá»¥c thuáº¿ táº¡m khÃ³arË   rÎ   rÐ   )r   r
   r   r   r»   rE   rF   rJ   rK   rL   r¹   r¼   r½   s
             r   Ú;test_execute_scheduled_sync_when_paused_skips_run_and_alertzXTestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_when_paused_skips_run_and_alertæ   sý  è è € å$™;œ;ÐÝ1Ø,Ø9ØØ@ð	
ñ 
ô 
ˆõ ØUÝ"ð
ñ 
ô 
ð 		*ð Ø×6Ò6ÀGÐSXÐ6ÑYÔYÐYÐYÐYÐYÐYÐYˆCØ�x”=Ð, HÐ,�= HÒ,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,�= HÐ,Ñ,Ô,Õ,Ô,�=Ñ,Ô,Õ,Ô, HÑ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø�|Ô$Ð-¨Ð-Ð$¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð$¨Ð-Ñ-Ô-Õ-Ô-Ð$Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø-ÐE°°_Ô1EÐEÐ-Ð1EÐEÐEÐEÐEÕEÔEÐEÐEÐEÐEÐ-Ð1EÐEÑEÔEÕEÔEÐ-ÑEÔEÕEÔEÐ1EÑEÔEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØÔ-×?Ò?ÑAÔAÐAØ×'Ò'Ñ)Ô)Ð)ð		*ð 		*ð 		*ñ 		*ô 		*ð 		*ð 		*ð 		*ð 		*ð 		*ð 		*ð 		*øøøð 		*ð 		*ð 		*ð 		*ð 		*ð 		*s   ºGHÈHÈ!Hc              ƒ   óð  K  — t          ¦   «         }ddddddœgdœ|j        _        t          |dd¬	¦  «        }|                     d
d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j         
                    ¦   «          d S )Nr    r   é   r¡   )r"   r£   ©r£   r§   r¨   r©   rª   T)r¬   r­   ræ   úMANUAL-TRIGGERrë   r£   r    r´   rµ   r¶   r3   r¥   )r   r¹   rº   r
   r»   rE   rF   rJ   rK   rL   rÒ   ©	rQ   r¾   r"   rÀ   rÁ   rT   r`   rÂ   rÃ   s	            r   Ú=test_execute_scheduled_sync_when_paused_allows_force_overridezZTestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_when_paused_allows_force_overrideû   sð  è è € å$™;œ;ÐàØØ !Ø'3¸yÐIÐIÐJð	:
ð :
ÐÔ)Ô6õ 2Ø,Ø9Øð
ñ 
ô 
ˆð ×2Ò2Ð@PÐX\Ð2Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]ˆØ�8Œ}Ð) 	Ð)ˆ} 	Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ} 	Ð)Ñ)Ô)Õ)Ô)ˆ}Ñ)Ô)Õ)Ô) 	Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø�>Ô"Ð' aÐ'Ð" aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð" aÐ'Ñ'Ô'Õ'Ô'Ð"Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØÔ)×<Ò<Ñ>Ô>Ð>Ð>Ð>r   c                 óx	  — t          d¬¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d	}||k    }|sªt          j        d
|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|                     d¦  «         |j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d}||k    }|sªt          j        d
|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d	}||k    }|sªt          j        d
|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )NF)ræ   r*   ©z1%(py2)s
{%(py2)s = %(py0)s.is_paused
} is %(py5)sr"   r#   r'   r(   Ú r    ©z4%(py2)s
{%(py2)s = %(py0)s.pause_reason
} == %(py5)su   Báº£o trÃ¬ há»‡ thá»‘ng thuáº¿T)r
   ræ   rE   rF   rG   rH   rI   rJ   rK   rL   rç   ÚpauseÚresume)rQ   r"   rR   rS   rT   rU   rV   s          r   Útest_pause_and_resume_methodsz:TestInvoiceAutoSyncScheduler.test_pause_and_resume_methods  s…  € Ý1¸EÐBÑBÔBˆØÔ Ð) EÐ)Ð  EÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð  EÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð Ñ)Ô)Õ)Ô) EÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ#Ð) rÐ)Ð# rÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð# rÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð#Ñ)Ô)Õ)Ô) rÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)à�ŠÐ6Ñ7Ô7Ð7ØÔ Ð( DÐ(Ð  DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð  DÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆwÑ(Ô(Ð(Õ(Ô(ˆwÑ(Ô(Ð(Ð(Õ(Ô(Ð Ñ(Ô(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ#ÐGÐ'GÐGÐ#Ð'GÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ#Ð'GÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGˆwÑGÔGÐGÕGÔGˆwÑGÔGÐGÐGÕGÔGÐ#ÑGÔGÕGÔGÐ'GÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGà�ŠÑÔÐØÔ Ð) EÐ)Ð  EÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð  EÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð Ñ)Ô)Õ)Ô) EÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ#Ð) rÐ)Ð# rÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð# rÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð#Ñ)Ô)Õ)Ô) rÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)r   c                 ó  — t          ¦   «         }i |_        t          |¦  «        }|                     d|¬¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        dœz  }dd	|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «         }
|
d
         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|
d         }|d         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d}||v }|s—t          j        d|fd||f¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}|                     dddi|¬ ¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        d!t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd!t          j
        |¦  «        t          j
        |¦  «        dœz  }dd	|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «         }|d
         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d"}||u }|slt          j        d#|fd$||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d%}|d         d&         }||v }|slt          j        d|fd'||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                     d(|¬¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        d)t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd)t          j
        |¦  «        t          j
        |¦  «        dœz  }dd	|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «         }|d
         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d*}||u }|slt          j        d#|fd$||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}t          j        t"          d+t$          ¬,¦  «        5 }dd-d.d/d*d0œ|_        |                     d1|¬¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        d2t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd2t          j
        |¦  «        t          j
        |¦  «        dœz  }dd	|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «         }|d
         }d}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d3         d4         }d.}||k    }|slt          j        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )5Nz&/v1/erp/invoices/sync/scheduler-status)ÚheaderséÈ   r    )z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sÚrespr#   r'   r(   r£   r    r´   rµ   r¶   r3   Ú	schedulerrD   r   r   rá   rª   ræ   rÎ   rã   Úschedrä   r=   r&   z%/v1/erp/invoices/sync/scheduler/pauseÚreasonu*   Cá»¥c thuáº¿ khÃ³a tÃ i khoáº£n kiá»ƒm tra)Újsonrý   Ú
pause_respTr*   r¸   u   Cá»¥c thuáº¿ khÃ³arç   rÐ   z&/v1/erp/invoices/sync/scheduler/resumeÚresume_respFr»   r¯   rò   é   r•   )r£   r³   r¥   r¦   r·   z,/v1/erp/invoices/sync/trigger-scheduled-syncÚ	post_respÚresultr¥   )r   Údependency_overridesr   ÚgetÚstatus_coderE   rF   rG   rH   rI   rJ   rK   rL   r  Úpostr   Úobjectr
   r   rº   )rQ   r   ÚappÚclientrÿ   rR   rS   rT   rU   rV   ÚdatarÁ   r`   rÂ   rÃ   r  ra   r  Ú
pause_datar  Úresume_dataÚ	mock_execr  Ú	post_datas                           r   Útest_api_scheduler_routesz6TestInvoiceAutoSyncScheduler.test_api_scheduler_routes  s”  € Ý‰lŒlˆØ#%ˆÔ Ý˜C‘”ˆð �zŠzØ4¸lð ñ 
ô 
ˆð ÔÐ& 3Ð&Ð 3Ò&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð 3Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Ð&Õ&Ô&ÐÑ&Ô&Õ&Ô& 3Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø�yŠy‰{Œ{ˆØ�HŒ~Ð* Ð*ˆ~ Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*ˆ~ Ð*Ñ*Ô*Õ*Ô*ˆ~Ñ*Ô*Õ*Ô* Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø�[Ô!ˆØÐ&Ô'Ð2¨A¨r¨7Ð2Ð'¨7Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð'¨7Ð2Ñ2Ô2Õ2Ô2Ð'Ñ2Ô2Õ2Ô2¨7Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØÐ,Ô-ÐRÐ1RÐRÐ-Ð1RÒRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ-Ð1RÐRÑRÔRÕRÔRÐ-ÑRÔRÕRÔRÐ1RÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRØÐ#ˆ{˜eÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆ{˜eÐ#Ñ#Ô#Õ#Ô#ˆ{Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#˜eÑ#Ô#Ð#Õ#Ô#˜eÑ#Ô#Ð#Ð#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#ð —[’[Ø3ØÐHÐIØ ð !ñ 
ô 
ˆ
ð
 Ô%Ð,¨Ð,Ð%¨Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð%¨Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆzÑ,Ô,Ð,Õ,Ô,ˆzÑ,Ô,Ð,Ð,Õ,Ô,Ð%Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø—_’_Ñ&Ô&ˆ
Ø˜(Ô#Ð0 yÐ0Ð# yÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð# yÐ0Ñ0Ô0Õ0Ô0Ð#Ñ0Ô0Õ0Ô0 yÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø˜+Ô& {Ô3Ð;°tÐ;Ð3°tÐ;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð3°tÐ;Ñ;Ô;Õ;Ô;Ð3Ñ;Ô;Õ;Ô;°tÑ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø#ÐN z°+Ô'>¸~Ô'NÐNÐ#Ð'NÐNÐNÐNÐNÕNÔNÐNÐNÐNÐNÐ#Ð'NÐNÑNÔNÕNÔNÐ#ÑNÔNÕNÔNÐ'NÑNÔNÐNÐNÑNÐNÐNÐNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNð —k’kØ4Ø ð "ñ 
ô 
ˆð Ô&Ð-¨#Ð-Ð&¨#Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð&¨#Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆ{Ñ-Ô-Ð-Õ-Ô-ˆ{Ñ-Ô-Ð-Ð-Õ-Ô-Ð&Ñ-Ô-Õ-Ô-¨#Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø!×&Ò&Ñ(Ô(ˆØ˜8Ô$Ð1¨	Ð1Ð$¨	Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð$¨	Ð1Ñ1Ô1Õ1Ô1Ð$Ñ1Ô1Õ1Ô1¨	Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ø˜;Ô'¨Ô4Ð=¸Ð=Ð4¸Ð=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð4¸Ð=Ñ=Ô=Õ=Ô=Ð4Ñ=Ô=Õ=Ô=¸Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=õ Œ\Ý+Ø$Ý"ð
ñ 
ô 
ð 	<ð à#Ø 0Ø !Ø Ø#ð&ð &ˆIÔ"ð ŸšØ>Èð $ñ ô ˆIð Ô(Ð/¨CÐ/Ð(¨CÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð(¨CÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�9Ñ/Ô/Ð/Õ/Ô/�9Ñ/Ô/Ð/Ð/Õ/Ô/Ð(Ñ/Ô/Õ/Ô/¨CÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø!ŸšÑ(Ô(ˆIØ˜XÔ&Ð3¨)Ð3Ð&¨)Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð&¨)Ð3Ñ3Ô3Õ3Ô3Ð&Ñ3Ô3Õ3Ô3¨)Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ø˜XÔ& ~Ô6Ð;¸!Ð;Ð6¸!Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð6¸!Ð;Ñ;Ô;Õ;Ô;Ð6Ñ;Ô;Õ;Ô;¸!Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ð%	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   ß&Hg;ç;g?èg?c           	   ƒ   óR  K  — t          ¦   «         }dddddddœgdœ|j        _        d|j        _        t	          |d	d
¬¦  «        }t          dt          ¬¦  «        5 }dddœ|_        |                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|j        }
d}|
|u }|sªt          j	        d|fd|
|f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j
        |¦  «        ndt          j
        |
¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}
x}}|j        }
d } |
|¦  «        }d}||u}|sÐt          j	        d!|fd"||f¦  «        d#t          j        ¦   «         v st          j        |¦  «        rt          j
        |¦  «        nd#t          j
        |
¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        d$œz  }d%d&|iz  }t          t          j        |¦  «        ¦  «        ‚d x}
x}x}x}}|j                             dd¦  «         |j                             ¦   «          |                     ¦   «          d}|j        j        d'         }||v }|slt          j	        d(|fd)||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )*NrÆ   õ^   Cá»•ng Tá»•ng Cá»¥c Thuáº¿ pháº£n há»“i: TÃªn Ä‘Äƒng nháº­p hoáº·c máº­t kháº©u khÃ´ng Ä‘Ãºng.r¡   r   õ5   TÃªn Ä‘Äƒng nháº­p hoáº·c máº­t kháº©u khÃ´ng Ä‘Ãºng.©r"   Útax_coder£   r¤   rÇ   r   rª   rð   ©r¬   r­   Úmax_consecutive_auth_failuresr®   r¯   Tz<alert-1@brevo.com>rÈ   rà   r²   r£   r    r´   rµ   r¶   r3   Fr*   rö   r"   r#   r'   r(   Úcircuit_breaker_tripped)úis not)zM%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} is not %(py9)srÀ   )r$   r%   r2   r3   Úpy9úassert %(py11)sÚpy11rÍ   rÎ   rÐ   )r   r¹   rº   Úincrement_auth_failuresr
   r   r   r»   rE   rF   rJ   rK   rL   ræ   rG   rH   rI   r
  Úassert_called_once_withÚdeactivate_sync_configr¼   rÒ   rÓ   rÔ   )rQ   r¾   r"   r¿   rÀ   rÁ   rT   r`   rÂ   rÃ   rR   rS   rU   rV   rX   Ú@py_assert8rY   Ú@py_format10Ú@py_format12s                      r   Ú6test_circuit_breaker_first_auth_failure_does_not_pausezSTestInvoiceAutoSyncScheduler.test_circuit_breaker_first_auth_failure_does_not_pauseX  sÝ  è è € å$™;œ;Ðà"Øwð  ,Ø ,Ø*ØVð	ð ðð:
ð :
ÐÔ)Ô6ð ABÐÔ0Ô=å1Ø,Ø9Ø*+ð
ñ 
ô 
ˆõ ØUÝ"ð
ñ 
ô 
ð 	Dð Ø15ÐEZÐ%[Ð%[ˆIÔ"à×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCØ�x”=Ð0 LÐ0�= LÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0�= LÐ0Ñ0Ô0Õ0Ô0�=Ñ0Ô0Õ0Ô0 LÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔ$Ð-¨Ð-Ð$¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð$¨Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�7Ñ-Ô-Ð-Õ-Ô-�7Ñ-Ô-Ð-Ð-Õ-Ô-Ð$Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø”7ÐAÐ4ÐA�7�7Ð4Ñ5Ô5ÐA¸TÐAÐ5¸TÐAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ5¸TÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA�3ÑAÔAÐAÕAÔA�3ÑAÔAÐAÐAÕAÔA�7ÑAÔAÕAÔAÐ4ÑAÔAÕAÔAÐ5ÑAÔAÕAÔA¸TÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAàÔ4×LÒLØ˜lñô ð ð Ô3×EÒEÑGÔGÐGØ×(Ò(Ñ*Ô*Ð*ØÐC˜iÔ1Ô8¸ÔCÐC�7ÐCÐCÐCÐCÐCÕCÔCÐCÐCÐCÐC�7ÐCÐCÑCÔCÕCÔC�7ÑCÔCÕCÔCÐCÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCð!	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds   ÁL4NÎN Î#N c           	   ƒ   ó¤  K  — t          ¦   «         }dddddddœgdœ|j        _        d|j        _        t	          |d	d¬
¦  «        }t          dt          ¬¦  «        5 }dddœ|_        |                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|j        }
d}|
|u }|sªt          j	        d|fd|
|f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j
        |¦  «        ndt          j
        |
¦  «        t          j
        |¦  «        dœz  }dd |iz  }t          t          j        |¦  «        ¦  «        ‚d x}
x}}d!}|j        }|j        } |¦   «         }||v }|sÐt          j	        d"|fd#||f¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        d$œz  }d%d&|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}|j                             dd¦  «         |j                             ¦   «          |j        j        j        }|d'         }d}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d(         }d}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d)}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j        j        }d*}|d+         }||v }|slt          j	        d"|fd,||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d-}|d+         }||v }|slt          j	        d"|fd,||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|d.         }||v }|slt          j	        d"|fd,||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )/NrÆ   r  r¡   r   r  r  rÇ   rð   rª   r  r®   r¯   Tz<cb-alert@brevo.com>rÈ   rÊ   r²   r£   Úcircuit_breaker_suspendedr    r´   rµ   r¶   r3   r  r*   r¸   rö   r"   r#   r'   r(   u   ngáº¯t máº¡chrÎ   )zf%(py1)s in %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.pause_reason
}.lower
}()
})r|   r<   r&   r(   r  r   r!  Úservice_typer  ÚCIRCUIT_BREAKER_SUSPENDEDu   KHáº¨N Cáº¤PrÍ   rÐ   u   Ngáº¯t Máº¡ch Ä�á»“ng Bá»™rÑ   )r   r¹   rº   r"  r
   r   r   r»   rE   rF   rJ   rK   rL   ræ   rG   rH   rI   rç   Úlowerr#  r$  rÒ   rÓ   rÔ   )rQ   r¾   r"   r¿   rÀ   rÁ   rT   r`   rÂ   rÃ   rR   rS   rU   rV   Ú@py_assert6r%  r&  r'  Údeact_kwargsÚsend_kwargss                       r   Ú9test_circuit_breaker_second_auth_failure_trips_and_pauseszVTestInvoiceAutoSyncScheduler.test_circuit_breaker_second_auth_failure_trips_and_pauses�  så  è è € å$™;œ;Ðà"Øwð  ,Ø ,Ø*ØVð	ð ðð:
ð :
ÐÔ)Ô6ð ABÐÔ0Ô=å1Ø,Ø9Ø*+ð
ñ 
ô 
ˆõ ØUÝ"ð
ñ 
ô 
ð 	?ð Ø15ÐE[Ð%\Ð%\ˆIÔ"à×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCØ�x”=Ð?Ð$?Ð?�=Ð$?Ò?Ð?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?�=Ð$?Ð?Ñ?Ô?Õ?Ô?�=Ñ?Ô?Õ?Ô?Ð$?Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ØÐ0Ô1Ð9°TÐ9Ð1°TÐ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð1°TÐ9Ñ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9°TÑ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÔ$Ð,¨Ð,Ð$¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�7Ñ,Ô,Ð,Õ,Ô,�7Ñ,Ô,Ð,Ð,Õ,Ô,Ð$Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø"ÐB gÔ&:ÐBÐ&:Ô&@ÐBÐ&@Ð&@Ñ&BÔ&BÐB�?Ð&BÐBÐBÐBÐBÕBÔBÐBÐBÐBÐB�?Ð&BÐBÑBÔBÕBÔB�?ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB gÑBÔBÐBÕBÔB gÑBÔBÐBÐBÕBÔBÐ&:ÑBÔBÕBÔBÐ&@ÑBÔBÕBÔBÐ&BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBàÔ4×LÒLØ˜lñô ð ð Ô3×FÒFÑHÔHÐHØ+ÔBÔLÔSˆLØ Ô/Ð?°<Ð?Ð/°<Ò?Ð?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?Ð/°<Ð?Ñ?Ô?Õ?Ô?Ð/Ñ?Ô?Õ?Ô?°<Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø 
Ô+Ð;¨|Ð;Ð+¨|Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð+¨|Ð;Ñ;Ô;Õ;Ô;Ð+Ñ;Ô;Õ;Ô;¨|Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø Ô)ÐHÐ-HÐHÐ)Ð-HÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ)Ð-HÐHÑHÔHÕHÔHÐ)ÑHÔHÕHÔHÐ-HÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHð ×(Ò(Ñ*Ô*Ð*Ø#Ô-Ô4ˆKØ!Ð; [°Ô%;Ð;�>Ð%;Ð;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;�>Ð%;Ð;Ñ;Ô;Õ;Ô;�>Ñ;Ô;Õ;Ô;Ð%;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø/ÐI°;¸yÔ3IÐIÐ/Ð3IÐIÐIÐIÐIÕIÔIÐIÐIÐIÐIÐ/Ð3IÐIÑIÔIÕIÔIÐ/ÑIÔIÕIÔIÐ3IÑIÔIÐIÐIÑIÐIÐIÐIÐIÐIÑIÐIÕIÕIÔIÐIÑIÔIÑIÔIÐIÐIÐIÐIÐIÐIÐIØÐ> ;¨~Ô#>Ð>�<Ð#>Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>�<Ð#>Ð>Ñ>Ô>Õ>Ô>�<Ñ>Ô>Õ>Ô>Ð#>Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð5	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   ÁY[Û[	Û[	c           
   ƒ   óð  K  — t          ¦   «         }ddddddddddœgdœ|j        _        t          |d	¬
¦  «        }|                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
                             dd¦  «         d S )Nr    é   r•   r¡   r   r¢   )r"   r  r£   r¤   r¥   r¦   rñ   rª   r«   r±   r²   r£   r    r´   rµ   r¶   r3   )r   r¹   rº   r
   r»   rE   rF   rJ   rK   rL   Úreset_auth_failuresÚassert_any_callró   s	            r   Ú&test_sync_success_resets_auth_failureszCTestInvoiceAutoSyncScheduler.test_sync_success_resets_auth_failuresµ  sY  è è € å$™;œ;ÐàØØ "ð  ,Ø ,Ø'Ø#Ø$%Ø"$ðð ð	ð	:
ð :
ÐÔ)Ô6õ  2Ø,Ø9ð
ñ 
ô 
ˆð
 ×2Ò2ÀÐ2ÑHÔHÐHÐHÐHÐHÐHÐHˆØ�8Œ}Ð) 	Ð)ˆ} 	Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ} 	Ð)Ñ)Ô)Õ)Ô)ˆ}Ñ)Ô)Õ)Ô) 	Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ,×<Ò<¸\È<ÑXÔXÐXÐXÐXr   c              ƒ   óþ  K  — t          ¦   «         }dddddddœgdœ|j        _        t          |d¬	¦  «        }t	          d
t
          ¬¦  «        5 }|                     d¬¦  «        ƒ d {V —†}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}d}|d         }||v }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j                             ¦   «          |j        }
d}|
|u }|sªt          j        d|fd|
|f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |
¦  «        t          j	        |¦  «        dœz  }d d!|iz  }t          t          j        |¦  «        ¦  «        ‚d x}
x}}d d d ¦  «         d S # 1 swxY w Y   d S )"NÚcooldown_activeuc   TÃ i khoáº£n Cá»•ng Thuáº¿ Ä‘ang trong thá»�i gian giÃ£n cÃ¡ch 3 giá»� Ä‘áº¿n 2026-09-22T10:00:00Z.r¡   r   zCooldown 3hr  rÇ   rª   r«   r®   r¯   r±   r²   r£   r    r´   rµ   r¶   r3   r¥   r   r¦   u   giÃ£n cÃ¡chrË   rÎ   rÐ   Fr*   rö   r"   r#   r'   r(   )r   r¹   rº   r
   r   r   r»   rE   rF   rJ   rK   rL   r¼   r"  ræ   rG   rH   rI   )rQ   r¾   r"   r¿   rÀ   rÁ   rT   r`   rÂ   rÃ   rR   rS   rU   rV   s                 r   Ú4test_execute_scheduled_sync_cooldown_active_no_alertzQTestInvoiceAutoSyncScheduler.test_execute_scheduled_sync_cooldown_active_no_alertÑ  s¹  è è € å$™;œ;Ðà'Ø|ð  ,Ø ,Ø/Ø,ð	ð ðð:
ð :
ÐÔ)Ô6õ 2Ø,Ø9ð
ñ 
ô 
ˆõ
 ØUÝ"ð
ñ 
ô 
ð 	.ð Ø×6Ò6ÀGÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆCà�x”=Ð5Ð$5Ð5�=Ð$5Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5�=Ð$5Ð5Ñ5Ô5Õ5Ô5�=Ñ5Ô5Õ5Ô5Ð$5Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø�~Ô&Ð+¨!Ð+Ð&¨!Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð&¨!Ð+Ñ+Ô+Õ+Ô+Ð&Ñ+Ô+Õ+Ô+¨!Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�|Ô$Ð)¨Ð)Ð$¨Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð$¨Ð)Ñ)Ô)Õ)Ô)Ð$Ñ)Ô)Õ)Ô)¨Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø Ð8 C¨Ô$8Ð8�=Ð$8Ð8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8�=Ð$8Ð8Ñ8Ô8Õ8Ô8�=Ñ8Ô8Õ8Ô8Ð$8Ñ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð ×'Ò'Ñ)Ô)Ð)àÔ4×FÒFÑHÔHÐHØÔ$Ð-¨Ð-Ð$¨Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð$¨Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�7Ñ-Ô-Ð-Õ-Ô-�7Ñ-Ô-Ð-Ð-Õ-Ô-Ð$Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   ÁLM2Í2M6Í9M6c                 óX  — t          ¦   «         }t          |dd¬¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}|                     ¦   «          |j        }d
}||u }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}|j                             dd¦  «         |j                             dd¦  «         d S )NTz
Test pause)r¬   ræ   rç   r*   rö   r"   r#   r'   r(   Fr÷   r    rø   r¡   r   )r   r
   ræ   rE   rF   rG   rH   rI   rJ   rK   rL   rú   rç   r4  r#  Úclear_auth_cooldown)rQ   r¾   r"   rR   rS   rT   rU   rV   s           r   Ú4test_resume_resets_auth_failures_and_clears_cooldownzQTestInvoiceAutoSyncScheduler.test_resume_resets_auth_failures_and_clears_cooldown÷  s*  € Ý$™;œ;ÐÝ1Ø,ØØ%ð
ñ 
ô 
ˆð
 Ô Ð( DÐ(Ð  DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð  DÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆwÑ(Ô(Ð(Õ(Ô(ˆwÑ(Ô(Ð(Ð(Õ(Ô(Ð Ñ(Ô(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(à�ŠÑÔÐØÔ Ð) EÐ)Ð  EÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð  EÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð Ñ)Ô)Õ)Ô) EÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ#Ð) rÐ)Ð# rÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð# rÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð#Ñ)Ô)Õ)Ô) rÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ,×DÒDØ˜,ñ	
ô 	
ð 	
ð 	Ô,×DÒDØ˜,ñ	
ô 	
ð 	
ð 	
ð 	
r   N)Ú__name__Ú
__module__Ú__qualname__rg   rŠ   r‘   rž   ÚpytestÚmarkÚanyiorÄ   r×   rÝ   ré   rî   rô   rû   r  r(  r1  r6  r9  r<  © r   r   r   r      sÍ  € € € € € ðNð Nð Nð2%ð %ð %ðð ð ð]ð ]ð ]ð" „[Ôð!*ð !*ñ Ôð!*ðF „[Ôð+Oð +Oñ Ôð+OðZ „[ÔðIð Iñ ÔðIð>(ð (ð (ð& „[Ôð*ð *ñ Ôð*ð( „[Ôð?ð ?ñ Ôð?ð&*ð *ð *ð:<ð :<ð :<ðx „[Ôð&Dð &Dñ Ôð&DðP „[Ôð1?ð 1?ñ Ôð1?ðf „[ÔðYð Yñ ÔðYð6 „[Ôð#.ð #.ñ Ôð#.ðJ
ð 
ð 
ð 
ð 
r   r   )ÚbuiltinsrG   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterE   r   Úunittest.mockr   r   r   r@  Úfastapi.testclientr   Úapp.mainr   Ú)app.modules.auth.application.auth_servicer	   ÚGapp.modules.invoices.application.invoice_processing.auto_sync_schedulerr
   Úfixturer   r   rC  r   r   ú<module>rN     s  ðØ  € € € € € € € € € € € € Ð Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à €€€Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð
 „ð0ð 0ñ „ð0ðj
ð j
ð j
ð j
ð j
ñ j
ô j
ð j
ð j
ð j
r   