+
    pÌ£j©  c                   ó:  € ^ RI t^ RIHu Ht ^ RIt^ RIt^ RIH	t	H
t
 ^ RIHtHtHt ^ RIHtHtHt ]P&                  R 4       tR t]P,                  P.                  R 4       t]P,                  P.                  R 4       t]P,                  P.                  R	 4       tR# )
é    N)Úasync_sessionmakerÚcreate_async_engine)Úlowest_free_onu_idÚmap_vlanÚmap_vlan_from_db)ÚBaseÚCustomerÚVlanMappingRulec                 ó  "  € \        R 4      p V P                  4       ;_uu_4       GRj  x€L
 pVP                  \        P                  P
                  4      G Rj  x€L
  RRR4      GRj  x€L
  \        V RR7      pV! 4       ;_uu_4       GRj  x€L
 pV5x € RRR4      GRj  x€L
  V P                  4       G Rj  x€L
  R#  L™ Lj L\  + GRj  x€L 
 '       g   i     Ls; i LU LB  + GRj  x€L 
 '       g   i     LY; i LH5i)zsqlite+aiosqlite:///:memory:NF)Úexpire_on_commit)r   ÚbeginÚrun_syncr   ÚmetadataÚ
create_allr   Údispose)ÚengineÚconnÚfactoryÚdbs       Ú=C:\Users\MF Sangadji\bestweb\tests\test_networking_helpers.pyÚsessionr   	   s˜   é € ä Ð!?Ó@€FØ�|‰|�~�~Œ~ Ø�m‰mœDŸM™M×4Ñ4Ó5×5Ð5÷ �~ä  ¸%Ô@€GÙ�y�yŒy˜BØ‹÷ �yà
�.‰.Ó
×Òñ Ù5÷ �~�~Š~ú÷ �y�yŒyúáùs°   ‚(DªC«D®-C
ÁCÁC
Á DÁ+CÁ,$DÂC&ÂDÂC*ÂDÂ%C(Â&DÂ=DÂ>DÃC
ÃDÃ
C#	ÃCÃ
C#	ÃC#	Ã	DÃ(DÃ*D	Ã0C3Ã1
D	Ã<D	Ã>	Dc                  ó$  € ^¯p \        V 4      p^q!V8H  q3'       gå   \        P                  ! R
V3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p ;p;r2^¬p \        V 4      p^
q!V8H  q3'       gå   \        P                  ! R
V3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p ;p;r2R	p \        V 4      pR	q!V8H  q3'       gå   \        P                  ! R
V3RW34      RR\        P                  ! 4       9   g!   \        P
                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p ;p;r2R# )é¯   Úpy0r   Úpy2Úpy4Úpy7zassert %(py9)sÚpy9Niç  ©ú==)z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)s)	r   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10s         r   Ú%test_default_vlan_mapping_is_explicitr.      sˆ  € ØÐŒ8�C‹=Ð˜BÐ˜BÑ×××Óˆ=××××××Œ8×××ÒŒ8××Ö�C××Ôˆ=××Ô˜B×××××××ÔØÐŒ8�C‹=Ð˜BÐ˜BÑ×××Óˆ=××××××Œ8×××ÒŒ8××Ö�C××Ôˆ=××Ô˜B×××××××ÔØÐŒ8�C‹=Ð˜CÐ˜CÑ×××Óˆ=××××××Œ8×××ÒŒ8××Ö�C××Ôˆ=××Ô˜C×××××××Öó    c              ƒ   ó¼  "  € V P                  \        ^¯^RR7      4       V P                  4       G Rj  x€L
  \        V ^¯4      G Rj  x€L
 p^q!V8H  q3'       gy   \        P
                  ! RV3R	W34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;r2R#  L¤ L’5i)
r   Úservice)Úsource_vlanÚtarget_vlanÚpurposeNÚpy1r   úassert %(py6)sÚpy6r   ©z%(py1)s == %(py4)s)	Úaddr	   Úcommitr   r    r!   r%   r&   r'   ©r   Ú@py_assert0r)   Ú@py_assert2Ú@py_format5Ú@py_format7s   &     r   Ú)test_database_vlan_rule_overrides_defaultr@      sŠ   é € à‡K�K”¨C¸RÈÔSÔTØ
�.‰.Ó
×ÐÜ! '¨3Ó/×/Ð5°2Ð5°2Ñ5×5×5×5Ó5Ð/×5×5Õ5Ð/×5×5Ô5°2×5×5×5×5×5×5×5Ô5ñ Ù/ùs"   ‚1C³C´CÁCÁBCÃCc           
   ƒ   ó„  "  € V P                  \        R R^R7      \        RR^R7      \        RR^R7      .4       V P                  4       G Rj  x€L
  \        V R^R7      G Rj  x€L
 p^q!V8H  q3'       gy   \        P
                  ! RV3RW34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;r2\        V R^R7      G Rj  x€L
 p^q!V8H  q3'       gy   \        P
                  ! RV3RW34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;r2\        V R^^R7      G Rj  x€L
 pRq!VJ q3'       gy   \        P
                  ! RV3RW34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p\        \        P                  ! V4      4      hR;p;r2R#  ELç ELÔ EL7 L˜5i)Úoneú1/1/1)ÚnameÚolt_portÚonu_idÚthreeÚotherz1/1/2N)Úendr5   r   r6   r7   )ÚstartrI   r   r8   )Úis)z%(py1)s is %(py4)s)	Úadd_allr   r:   r   r    r!   r%   r&   r'   r;   s   &     r   Ú-test_lowest_free_onu_id_is_scoped_to_olt_portrM   !   sj  é € à‡O�OÜ�e g°aÔ8Ü�g¨¸Ô:Ü�g¨¸Ô:ðô ð
 �.‰.Ó
×ÐÜ# G¨W¸!Ô<×<ÐAÀÐAÀÑA×A×A×AÓAÐ<×A×AÕAÐ<×A×AÔAÀ×A×A×A×A×A×A×AÒAÜ# G¨W¸!Ô<×<ÐAÀÐAÀÑA×A×A×AÓAÐ<×A×AÕAÐ<×A×AÔAÀ×A×A×A×A×A×A×AÒAÜ# G¨W¸AÀ1ÔE×EÐMÈÐMÈÐM×M×M×MÓMÐE×M×MÕMÐE×M×MÔMÈ×M×M×M×M×M×M×MÔMò Ú<Ú<ÙEùsK   ‚AI ÁH5ÁI Á$H8Á%BI ÄH;ÄB I Æ%H>Æ&BI È8I È;I È>I c              ƒ   ó¼   "  € \         P                  ! \        4      ;_uu_ 4        \        V R ^ R7      G Rj  x€L
  RRR4       R#  L  + '       g   i     R# ; i5i)rC   )rJ   N)ÚpytestÚraisesÚ
ValueErrorr   )r   s   &r   Ú)test_lowest_free_onu_id_rejects_bad_rangerR   .   s<   é € ä	�Š”z×	"Õ	"Ü  ¨'¸Ô;×;Ð;÷ 
#Ñ	"Ù;÷ 
#×	"Ð	"üs+   ‚#A¥A·A¸A¼
AÁAÁA	Á	A)Úbuiltinsr"   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter    rO   Úpytest_asyncioÚsqlalchemy.ext.asyncior   r   Úapp.core.networkingr   r   r   Úapp.models.modelsr   r   r	   Úfixturer   r.   ÚmarkÚasyncior@   rM   rR   © r/   r   Ú<module>r_      s™   ðß  „ ƒÛ ß Jç NÑ Nß =Ñ =ð ×Ññó ðò ð ‡�×Ññ6ó ð6ð ‡�×Ññ	Nó ð	Nð ‡�×Ññ<ó ò<r/   