Ë
    Ì
âió  ã                   ó4   — d Z ddlmZ ddlmZ  G d„ d«      Zy)z:
Network checks module - verifies static IP configuration
é    )ÚLogger)ÚDockerUtilsc                   ó8   — e Zd ZdZdedefd„Zdefd„Zdefd„Z	y)	ÚNetworkChecksz4Check network configuration and static IP assignmentÚloggerÚdocker_utilsc                 ó    — || _         || _        y )N)r   r   )Úselfr   r   s      ú;/home/factor_ks/STREAMA2026/tests/modules/network_checks.pyÚ__init__zNetworkChecks.__init__   s   € ØˆŒØ(ˆÕó    Úreturnc                 óÜ   — | j                   j                  d«       d}| j                  «       sd}|r| j                   j                  dd«       |S | j                   j	                  dd«       |S )zRun all network checkszNetwork Configuration CheckTFÚNETWORKzAll network checks passedzSome network checks failed)r   Ú	subheaderÚ_check_static_ipsÚsuccessÚerror)r
   Úall_oks     r   Úrun_all_checkszNetworkChecks.run_all_checks   sh   € à�‰×ÑÐ;Ô<àˆð ×%Ñ%Ô'ØˆFáØ�K‰K×Ñ 	Ð+FÔGð ˆð �K‰K×Ñ˜iÐ)EÔFàˆr   c           	      ó  — | j                   j                  dd«       ddddddd	d
dœ}d}|j                  «       D �]I  \  }}| j                  j	                  |«      }|r#| j                   j                  d|› d|› d�«       ŒG| j                  j                  |«      }|dk(  rÁ| j                   j                  d|› d�«       | j                  j                  |d«      rc| j                  j	                  |«      }|r#| j                   j                  d|› d|› d�«       Œâ| j                   j                  d|› d�«       d}�Œ| j                   j                  d|› d�«       d}�Œ(| j                   j                  d|› d|› d�«       �ŒL |S )z8Check if containers are connected to the correct networkr   z Checking network connectivity...ÚpostgresÚredisÚbackendÚdaemonÚfrontendÚcaddyÚnginxÚbackup)zstreama2026-postgreszstreama2026-rediszstreama2026-backendzstreama2026-daemonzstreama2026-frontendzstreama2026-caddyzstreama2026-nginxzstreama2026-backupTz: connected to network (u   ) âœ“Úrunningz@: running but not connected to network - attempting to reconnectzstreama-networkz: reconnected to network (z : failed to reconnect to networkFz&: running but not connected to networkz: not running (status: ú))
r   ÚinfoÚitemsr   Úget_container_ipr   Úget_container_statusÚwarningÚconnect_to_networkr   )r
   Úexpected_containersr   Úcontainer_nameÚservice_nameÚ	actual_ipÚstatuss          r   r   zNetworkChecks._check_static_ips    s¤  € à�‰×Ñ˜Ð$FÔGð %/Ø!(Ø#,Ø"*Ø$.Ø!(Ø!(Ø"*ñ	
Ðð ˆØ,?×,EÑ,EÓ,Gó 	fÑ(ˆN˜LØ×)Ñ)×:Ñ:¸>ÓJˆIáØ—‘×#Ñ# I°,°Ð?WÐXaÐWbÐbgÐ/hÕià×*Ñ*×?Ñ?ÀÓO�Ø˜YÒ&Ø—K‘K×'Ñ'¨	°l°^ð  DDð  4Eô  Fà×(Ñ(×;Ñ;¸NÐL]Ô^à$(×$5Ñ$5×$FÑ$FÀ~Ó$V˜	Ù$Ø ŸK™K×/Ñ/°	¸l¸^ÐKeÐfoÐepÐpuÐ;vÕwà ŸK™K×-Ñ-¨i¸L¸>ÐIiÐ9jÔkØ%*šFàŸ™×)Ñ)¨)¸°~ÐEkÐ5lÔmØ!&šà—K‘K×'Ñ'¨	°l°^ÐCZÐ[aÐZbÐbcÐ3dÖeð-	fð0 ˆr   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Úboolr   r   © r   r   r   r      s0   „ Ù>ð)˜vð )°[ó )ð ó ð") 4ô )r   r   N)r0   Útests.utils.loggerr   Útests.utils.docker_utilsr   r   r2   r   r   ú<module>r5      s   ðñõ &Ý 0÷Aò Ar   