+
    Ï‡¦jú  ã                   ó,  € ^ RI Ht ^ RIt^ RIHt ]P
                  P                  R
RR.4      R 4       t]P
                  P                  R. RO4      R 4       tR t	]P
                  P                  R 4       t]P
                  P                  R	 4       tR# )é    ©ÚSimpleNamespaceN)ÚHTTPExceptionÚrawc                 ó0   € ^ RI Hp V! V 4      V8X  g   Q hR# )r   )Únormalize_pon_portN)Ú app.core.cdata_fd1601s_discoveryr   )r   Úexpectedr   s   && Ú%tests\test_cdata_auto_sn_discovery.pyÚ"test_cdata_pon_input_normalizationr      s   € õ
 Dá˜cÓ" hÔ.Ð.Ò.ó    c                 óœ   € ^ RI HpHp \        P                  ! V4      ;_uu_ 4        V! V 4       RRR4       R#   + '       g   i     R# ; i)r   )ÚInvalidPonPortErrorr   N)r	   r   r   ÚpytestÚraises)r   r   r   s   &  r   Ú0test_cdata_pon_input_rejects_command_like_valuesr      s,   € çXä	�ŠÐ*×	+Õ	+Ù˜3Ô÷ 
,×	+×	+Ò	+ús	   §	:ºA	c                  ó    € ^ RI Hp Hp \        P                  ! V RR7      ;_uu_ 4        V! R4       RRR4       R#   + '       g   i     R# ; i)r   ©ÚDiscoveryGrammarUnverifiedErrorÚdiscover_unregistered_ontszNo device connection)Úmatchú1/1/1N)r	   r   r   r   r   r   s     r   Ú>test_cdata_discovery_is_fail_closed_without_a_verified_grammarr      s4   € ÷ô
 
�ŠÐ6Ð>T×	UÖ	UÙ" 7Ô+÷ 
V×	U×	UÒ	Uús	   ©	<¼A	c               ƒ   ó¬   "  € ^ RI Hp   ! R R4      pV ! ^RV! 4       4      G Rj  x€L
 pVP                  R8X  g   Q hVP                  R8X  g   Q hR#  L,5i)r   ©Úauto_sn_discoveryc                   ó&   a € ] tR t^'t o R tRtV tR# )ÚTtest_auto_sn_api_validates_olt_and_returns_no_results_when_not_ready.<locals>.FakeDBc              “  ó<   "  € V^8X  g   Q h\        ^RRRRR7      # 5i)é   zOLT-TERNATE-01zC-DATAz
FD1601S-B1T)ÚidÚnameÚvendorÚmodelÚ	is_activer   ©Úselfr$   Ú	device_ids   &&&r   ÚgetÚXtest_auto_sn_api_validates_olt_and_returns_no_results_when_not_ready.<locals>.FakeDB.get(   s-   é € Ø ”>Ð!�>Ü"ØØ%ØØ"Øôð ùs   ‚© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚFakeDBr   '   s   ø‡ € ÷	ð 	r   r5   z
GPON 1/1/1Ni÷  sÆ   {"available":false,"results":[],"olt_device_id":7,"pon_port":"1/1/1","reason":"Auto SN discovery is disabled until the C-DATA FD1601S-B1 read-only command grammar and parser fixtures are verified."})Úapp.routes.customersr   Ústatus_codeÚbody)r   r5   Úresponses      r   ÚDtest_auto_sn_api_validates_olt_and_returns_no_results_when_not_readyr:   #   s]   é € å6÷	ñ 	ñ ' q¨,¹»ÓA×A€Hà×Ñ 3Ô&Ð&Ð&Ø�=‰=ð	Môð ò ñ Bùs   ‚#A¥A¦-Ac               ƒ   ó  "  € ^ RI Hp   ! R R4      p\        P                  ! \        4      ;_uu_ 4       pV ! ^RV! 4       4      G Rj  x€L
  RRR4       XP
                  P                  R8X  g   Q hR#  L+  + '       g   i     L1; i5i)r   r   c                   ó&   a € ] tR t^?t o R tRtV tR# )Ú@test_auto_sn_api_rejects_a_non_cdata_fd1601s_olt.<locals>.FakeDBc              “  ó(   "  € \        VR RRR7      # 5i)ÚZTEÚC320T)r!   r#   r$   r%   r   r&   s   &&&r   r)   ÚDtest_auto_sn_api_rejects_a_non_cdata_fd1601s_olt.<locals>.FakeDB.get@   s   é € Ü" i¸ÀVÐW[Ô\Ð\ùs   ‚r+   Nr,   r3   s   @r   r5   r=   ?   s   ø‡ € ÷	]ð 	]r   r5   r   Ni™  )r6   r   r   r   r   Úvaluer7   )r   r5   Úexcs      r   Ú0test_auto_sn_api_rejects_a_non_cdata_fd1601s_oltrD   ;   sg   é € å6÷]ñ ]ô 
�Š”}×	%Ô	%¨Ù  7©F«HÓ5×5Ð5÷ 
&ð �9‰9× Ñ  CÔ'Ð'Ò'ñ 	6÷ 
&×	%üs.   ‚3B	µA6ÁA4Á	A6Á'B	Á4A6Á6B	ÂB	)r   r
   )r   r   )z GPON 1/1/1 r   )Ú z1;show running-configz	1/1/1
fooz1/1/1 --all)Útypesr   r   Úfastapir   ÚmarkÚparametrizer   r   r   Úasyncior:   rD   r+   r   r   Ú<module>rK      s¥   ðÝ !ã Ý !ð ‡�×ÑØØÐ2Ð3óñ/ó	ð/ð ‡�×Ñ˜Ò ZÓ[ñ ó \ð ò,ð ‡�×Ññó ðð. ‡�×Ññ
(ó ò
(r   