Files
herolib/lib/osal/tmux/tmux_session_test.v
2025-10-12 12:30:19 +03:00

40 lines
1.1 KiB
V

module tmux
import incubaid.herolib.osal.core as osal
import rand
fn testsuite_begin() {
mut tmux_instance := new()!
if tmux_instance.is_running()! {
tmux_instance.stop()!
}
}
fn test_session_create() ! {
// Create unique session names to avoid conflicts
session_name1 := 'testsession_${rand.int()}'
session_name2 := 'testsession2_${rand.int()}'
mut tmux_instance := new()!
tmux_instance.start()!
// Create sessions using the proper API
mut s := tmux_instance.session_create(name: session_name1)!
mut s2 := tmux_instance.session_create(name: session_name2)!
// Test that sessions were created successfully
mut tmux_ls := osal.execute_silent('tmux ls') or { panic("can't exec: ${err}") }
assert tmux_ls.contains(session_name1), 'Session 1 should exist'
assert tmux_ls.contains(session_name2), 'Session 2 should exist'
// Test session existence check
assert tmux_instance.session_exist(session_name1), 'Session 1 should exist via API'
assert tmux_instance.session_exist(session_name2), 'Session 2 should exist via API'
// Clean up
tmux_instance.session_delete(session_name1)!
tmux_instance.session_delete(session_name2)!
tmux_instance.stop()!
}