
    TjN                        d dl mZ d dlmZ  ee      j                         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y)    )annotations)Path   scriptsstart_vue_dashboard.shstop_vue_dashboard.shrestart_vue_dashboard.shzrestart_dashboard.shsrcjarvis_financeserviceszsystem_ops.pyc                     t         j                         } | j                  d      }| j                  d      }| j                  d      }| j                  d      }||cxk  r|k  sJ  J ||cxk  r|k  sJ  J y )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LN<< RSL\\"@ANLL!FGML8=88888N:]:::::    c                 D    t         j                         } d| v sJ d| v sJ y )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(F222r   c                 P    t         j                         } d| v sJ d| v sJ d| v sJ y )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    !   s:    ##%F#v---$...F"""r   c                 \    t         j                         } d| v sJ d| v sJ d| v sJ d| v sJ y )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"   )   sJ    ##%FLPVVVVDNNNRV\\\\BfLLLr   c                 \    t         j                         } d| v sJ d| v sJ d| v sJ d| v sJ y )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   sH    ""$F@FJJJ>&HHH8FBBB6&@@@r   c                     t         j                         } t        j                         }d| v sJ d| v sJ | j                  d      | j                  d      k  sJ d|v sJ y )Nr   r   r	   )RESTART_SCRIPTr   LEGACY_RESTART_SCRIPTr   )r   legacy_scripts     r   Btest_restart_script_orchestrates_stop_then_start_with_healthchecksr)   ;   sj    %%'F)335M"f,,,#v---<</06<<@X3YYYY%666r   c                 h    t         j                         } d| v sJ d| v sJ d| v sJ d| v sJ d| v sJ y )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   sV    !!#F76AAA'''f$$$#v---!V+++r   N)returnNone)
__future__r   pathlibr   __file__resolveparents	REPO_ROOTr   r   r&   r'   r+   r   r   r    r"   r$   r)   r-    r   r   <module>r7      s    "  N""$,,Q/	9$'??)#&==Y&)CC!I-0FF !11J>P
	;3#MA7,r   