Initial pre-release
tmux-party: share a tmux session with people on the same UNIX host. Single-file POSIX shell (party) with a filesystem + tmux server-access trust model. See README.md.
This commit is contained in:
commit
6be0ac1877
20 changed files with 3869 additions and 0 deletions
73
tests/80-info.bats
Normal file
73
tests/80-info.bats
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/env bats
|
||||
|
||||
load 'helpers'
|
||||
|
||||
setup() {
|
||||
setup_party_sandbox
|
||||
require_party_group
|
||||
}
|
||||
teardown() { teardown_party_sandbox; }
|
||||
|
||||
party_rec() { printf '%s/party-%s:%s.d/roster\n' "$PARTY_SOCKET_DIR" "$USER" "$1"; }
|
||||
|
||||
@test "party who lists invited and attached users" {
|
||||
"$PARTY_BIN" host whotest
|
||||
run "$PARTY_BIN" who --party whotest
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"Party 'whotest'"* ]]
|
||||
[[ "$output" == *"Invited:"* ]]
|
||||
[[ "$output" == *"$USER"* ]]
|
||||
[[ "$output" == *"Attached:"* ]]
|
||||
}
|
||||
|
||||
@test "party who --short emits a single line for status-right" {
|
||||
"$PARTY_BIN" host shorttest
|
||||
rec=$(party_rec shorttest)
|
||||
sock=$(awk -F= '$1=="SOCKET"{print $2}' "$rec")
|
||||
out=$("$PARTY_BIN" who --short --socket "$sock")
|
||||
case "$out" in
|
||||
party:*) ;;
|
||||
*) echo "got: $out"; false ;;
|
||||
esac
|
||||
}
|
||||
|
||||
@test "party who --socket prints Party line (long form)" {
|
||||
"$PARTY_BIN" host wstest
|
||||
rec=$(party_rec wstest)
|
||||
sock=$(awk -F= '$1=="SOCKET"{print $2}' "$rec")
|
||||
run "$PARTY_BIN" who --socket "$sock"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"Party 'wstest'"* ]]
|
||||
[[ "$output" == *"host: $USER"* ]]
|
||||
}
|
||||
|
||||
@test "party who --socket survives a missing roster (set -u regression)" {
|
||||
"$PARTY_BIN" host wsroster
|
||||
rec=$(party_rec wsroster)
|
||||
sock=$(awk -F= '$1=="SOCKET"{print $2}' "$rec")
|
||||
rm -f "$rec"
|
||||
run "$PARTY_BIN" who --socket "$sock"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"Party 'wsroster'"* ]]
|
||||
[[ "$output" == *"host: $USER"* ]]
|
||||
}
|
||||
|
||||
@test "party who --socket rejects a path that is not a party socket" {
|
||||
run "$PARTY_BIN" who --socket /tmp/not-a-party-socket
|
||||
[ "$status" -eq 2 ]
|
||||
[[ "$output" == *"is not a party socket"* ]]
|
||||
}
|
||||
|
||||
@test "party status reports hosting" {
|
||||
"$PARTY_BIN" host stat
|
||||
run "$PARTY_BIN" status
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"hosting"* ]]
|
||||
[[ "$output" == *"stat"* ]]
|
||||
}
|
||||
|
||||
@test "party status reports nothing when not in or hosting any party" {
|
||||
run "$PARTY_BIN" status
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"not in any party"* ]]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue