
    pjN                       d dl mZ d dlmZ  ee                                          j        d         Zedz  dz  Zedz  dz  Z	edz  dz  Z
edz  dz  Zed	z  d
z  dz  dz  ZddZddZddZddZddZddZddZdS )    )annotations)Path   scriptsstart_vue_dashboard.shstop_vue_dashboard.shrestart_vue_dashboard.shzrestart_dashboard.shsrcjarvis_financeserviceszsystem_ops.pyreturnNonec                 $   t                                           } |                     d          }|                     d          }|                     d          }|                     d          }||cxk     r|k     sn J ||cxk     r|k     sn J d S )Nz'source "$RUNTIME_DIR/venv/bin/activate"z0export JARVIS_FINANCE_RUNTIME_DIR="$RUNTIME_DIR"zunset JARVIS_FINANCE_DB_PATHz#uvicorn jarvis_finance.api.main:app)START_SCRIPT	read_textindex)scriptactivate_indexexport_indexdb_unset_indexbackend_indexs        0tests/unit/test_vue_dashboard_runtime_scripts.py>test_start_script_reasserts_real_runtime_after_venv_activationr      s    ##%%F\\"KLLN<< RSSL\\"@AANLL!FGGML8888=888888N::::]::::::::    c                 P    t                                           } d| v sJ d| v sJ d S )NzPRUNTIME_DIR="${JARVIS_FINANCE_RUNTIME_DIR:-$HOME/jarvis_runtime/finance-system}"zLOG_DIR="$RUNTIME_DIR/logs"STOP_SCRIPTr   r   s    r   Ctest_stop_script_uses_canonical_runtime_dir_not_activation_overrider      s<    ""$$F]aggggg(F222222r   c                 \    t                                           } d| v sJ d| v sJ d| v sJ d S )Nznode_modules/.bin/vitezMissing Vite dependencyznpm installr   r   r   s    r   Dtest_start_script_checks_vite_binary_not_only_node_modules_directoryr"   !   sL    ##%%F#v----$....F""""""r   c                 h    t                                           } d| v sJ d| v sJ d| v sJ d| v sJ d S )Nz?wait_http "http://127.0.0.1:$BACKEND_PORT/api/health" "Backend"z7wait_http "http://127.0.0.1:$FRONTEND_PORT/" "Frontend"zEwait_http "http://$TAILSCALE_IP:$FRONTEND_PORT/" "Tailscale frontend"z5npm run dev -- --host 0.0.0.0 --port "$FRONTEND_PORT"r!   r   s    r   @test_start_script_verifies_backend_frontend_and_tailscale_healthr$   )   s_    ##%%FLPVVVVVDNNNNRV\\\\\BfLLLLLLr   c                 h    t                                           } d| v sJ d| v sJ d| v sJ d| v sJ d S )Nz3stop_pid_file "FastAPI backend" "$BACKEND_PID_FILE"z1stop_pid_file "Vue frontend" "$FRONTEND_PID_FILE"z+stop_port "FastAPI backend" "$BACKEND_PORT"z)stop_port "Vue frontend" "$FRONTEND_PORT"r   r   s    r   ;test_stop_script_kills_stale_port_listeners_after_pid_filesr&   2   s]    ""$$F@FJJJJ>&HHHH8FBBBB6&@@@@@@r   c                     t                                           } t                                          }d| v sJ d| v sJ |                     d          |                     d          k     sJ d|v sJ d S )Nr   r   r	   )RESTART_SCRIPTr   LEGACY_RESTART_SCRIPTr   )r   legacy_scripts     r   Btest_restart_script_orchestrates_stop_then_start_with_healthchecksr+   ;   s    %%''F)3355M"f,,,,#v----<</006<<@X3Y3YYYYY%666666r   c                 t    t                                           } d| v sJ d| v sJ d| v sJ d| v sJ d| v sJ d S )Nz*Restart requests are served by the backendzsubprocess.Popenzsleep 1; execzstart_new_session=Truezstatus": "scheduled")
SYSTEM_OPSr   )sources    r   Htest_backend_dashboard_button_dispatches_combined_restart_asynchronouslyr/   E   sn    !!##F76AAAA''''f$$$$#v----!V++++++r   N)r   r   )
__future__r   pathlibr   __file__resolveparents	REPO_ROOTr   r   r(   r)   r-   r   r   r"   r$   r&   r+   r/    r   r   <module>r7      sE   " " " " " "       DNN""$$,Q/	9$'??)#&==Y&)CC!I-0FF !11J>P
	; 	; 	; 	;3 3 3 3# # # #M M M MA A A A7 7 7 7, , , , , ,r   