88 lines
No EOL
3.8 KiB
Bash
88 lines
No EOL
3.8 KiB
Bash
#!/usr/bin/env bash
|
|
# test/fn.sh — individual function test blocks
|
|
# Sourced by test.command.sh — do not execute directly.
|
|
# Requires run_cmd / run_cmd_fails from integration.sh to be sourced first.
|
|
|
|
function cmd::test::run_function() {
|
|
local fn="$1"
|
|
case "$fn" in
|
|
cmd::block::run) cmd::test::fn_block ;;
|
|
cmd::unblock::run) cmd::test::fn_unblock ;;
|
|
cmd::remove::run) cmd::test::fn_remove ;;
|
|
cmd::rename::run) cmd::test::fn_rename ;;
|
|
cmd::rule::assign) cmd::test::fn_rule_assign ;;
|
|
*)
|
|
log::error "No function test defined for: ${fn}"
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
function cmd::test::fn_block() {
|
|
test::section "cmd::block::run"
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1
|
|
|
|
cmd::test::run_cmd "block peer" "blocked" block --name phone-testunit
|
|
cmd::test::run_cmd "block already blocked" "already" block --name phone-testunit
|
|
"$WGCTL_BINARY" unblock --name phone-testunit > /dev/null 2>&1 || true
|
|
cmd::test::run_cmd "block with --type" "blocked" block --name testunit --type phone
|
|
cmd::test::run_cmd_fails "block nonexistent" block --name truly-nonexistent-xyz
|
|
|
|
"$WGCTL_BINARY" unblock --name phone-testunit > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
}
|
|
|
|
function cmd::test::fn_unblock() {
|
|
test::section "cmd::unblock::run"
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1
|
|
"$WGCTL_BINARY" block --name phone-testunit > /dev/null 2>&1
|
|
|
|
cmd::test::run_cmd "unblock peer" "unblocked" unblock --name phone-testunit
|
|
cmd::test::run_cmd "unblock not blocked" "not blocked" unblock --name phone-testunit
|
|
cmd::test::run_cmd_fails "unblock nonexistent" unblock --name nonexistent-peer
|
|
cmd::test::run_cmd_fails "unblock missing --name" unblock
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
}
|
|
|
|
function cmd::test::fn_remove() {
|
|
test::section "cmd::remove::run"
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1
|
|
|
|
cmd::test::run_cmd "remove with --force" "removed" remove --name phone-testunit --force
|
|
cmd::test::run_cmd_fails "remove nonexistent" remove --name nonexistent-peer --force
|
|
cmd::test::run_cmd_fails "remove missing --name" remove --force
|
|
}
|
|
|
|
function cmd::test::fn_rename() {
|
|
test::section "cmd::rename::run"
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" remove --name phone-testunit2 --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1
|
|
|
|
cmd::test::run_cmd "rename peer" "renamed" rename --name phone-testunit --new-name phone-testunit2
|
|
cmd::test::run_cmd_fails "rename to existing" rename --name phone-testunit2 --new-name phone-nuno
|
|
cmd::test::run_cmd_fails "rename nonexistent" rename --name phone-nonexistent --new-name phone-testunit
|
|
cmd::test::run_cmd_fails "rename missing --new-name" rename --name phone-testunit2
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit2 --force > /dev/null 2>&1 || true
|
|
}
|
|
|
|
function cmd::test::fn_rule_assign() {
|
|
test::section "cmd::rule::assign"
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
"$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1
|
|
|
|
cmd::test::run_cmd "rule assign" "Assigned" \
|
|
rule assign --name admin --peer phone-testunit
|
|
|
|
"$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
|
|
} |