 sed -n '/^function cmd::test::section_peer_cmd/,/^}/p' \
  /etc/wireguard/wgctl/commands/test/integration.sh
function cmd::test::section_peer_cmd() {
  test::section "Peer command"

  "$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
  "$WGCTL_BINARY" add --name testunit --type phone > /dev/null 2>&1

  # update-dns
  cmd::test::run_cmd "peer update-dns --name"       "Updated DNS"  peer update-dns --name phone-testunit
  cmd::test::run_cmd "peer update-dns applies"      "10.0.0.103"   config --name phone-testunit
  cmd::test::run_cmd "peer update-dns --all"        "peer(s)"      peer update-dns --all

  # update-tunnel
  cmd::test::run_cmd "peer update-tunnel split"     "split"        peer update-tunnel --name phone-testunit --mode split
  cmd::test::run_cmd "peer update-tunnel full"      "Updated"      peer update-tunnel --name phone-testunit --mode full
  cmd::test::run_cmd_fails "peer update-tunnel bad mode"           peer update-tunnel --name phone-testunit --mode invalid
  cmd::test::run_cmd_fails "peer update-tunnel missing --mode"     peer update-tunnel --name phone-testunit
  cmd::test::run_cmd_fails "peer update-tunnel missing --name"     peer update-tunnel --mode split

  # Restore split tunnel
  "$WGCTL_BINARY" peer update-tunnel --name phone-testunit --mode split > /dev/null 2>&1 || true
  "$WGCTL_BINARY" remove --name phone-testunit --force > /dev/null 2>&1 || true
}

function cmd::test::section_logs() {
  test::section "Logs"
  cmd::test::run_cmd "logs"                   "Activity" logs
  cmd::test::run_cmd "logs --name phone-nuno" "Activity" logs --name phone-nuno
  cmd::test::run_cmd "logs --fw"              "Firewall Drops" logs --fw
  cmd::test::run_cmd "logs --wg"              "WireGuard Events" logs --wg
  cmd::test::run_cmd "logs --since 2099-01-01"      "No logs" logs --since "2099-01-01"
  cmd::test::run_cmd "logs --wg --since 2099-01-01" "No logs" logs --wg --since "2099-01-01"
  cmd::test::run_cmd "logs --fw --since 2099-01-01" "No logs" logs --fw --since "2099-01-01"
  cmd::test::run_cmd "logs --wg --event attempt"    ""   logs --wg --event attempt
  cmd::test::run_cmd "logs --detailed"              ""   logs --detailed
  cmd::test::run_cmd "logs --resolved"              ""   logs --resolved
  cmd::test::run_cmd "logs --ascending"             ""   logs --ascending
  cmd::test::run_cmd "logs --descending"            ""   logs --descending
  cmd::test::run_cmd "logs --wg --ascending"        ""   logs --wg --ascending
}
