From 85c7c383f9c5fa2c3480d728117ba4f4e3662ac7 Mon Sep 17 00:00:00 2001 From: Christian Goeschel Ndjomouo Date: Sat, 11 Oct 2025 12:40:40 -0400 Subject: [PATCH] tests: (lslogins) test --json output mode Signed-off-by: Christian Goeschel Ndjomouo --- tests/expected/lslogins/json_mode | 10 ++++++++++ tests/ts/lslogins/json_mode | 32 +++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 tests/expected/lslogins/json_mode create mode 100755 tests/ts/lslogins/json_mode diff --git a/tests/expected/lslogins/json_mode b/tests/expected/lslogins/json_mode new file mode 100644 index 000000000..5476b70ab --- /dev/null +++ b/tests/expected/lslogins/json_mode @@ -0,0 +1,10 @@ +{ + "logins": [ + { + "user": "root", + "last-login": "2024-01-29T15:45:15+00:00", + "last-tty": "test-tty", + "last-hostname": "test-host" + } + ] +} diff --git a/tests/ts/lslogins/json_mode b/tests/ts/lslogins/json_mode new file mode 100755 index 000000000..95a6aff67 --- /dev/null +++ b/tests/ts/lslogins/json_mode @@ -0,0 +1,32 @@ +#!/bin/bash + +TS_TOPDIR="${0%/*}/../.." +TS_DESC="test JSON output mode" + +. "$TS_TOPDIR"/functions.sh +ts_init "$*" +ts_check_prog sqlite3 +ts_check_test_command "$TS_CMD_LSLOGINS" + +$TS_CMD_LSLOGINS --version|grep "lastlog2" >/dev/null +if [ $? -ne 0 ]; then + ts_skip "lastlog2 not supported" +fi + +DB_FILE="$TS_OUTDIR/${TS_TESTNAME}.db" + +export TZ="GMT" +sqlite3 "$DB_FILE" < $TS_SELF/create_db.sql + +# tests for lastlog2 environment +$TS_CMD_LSLOGINS --lastlog-file=/dev/null \ + --lastlog2-file="$DB_FILE" \ + --wtmp-file=/dev/null \ + --btmp-file=/dev/null \ + --output USER,LAST-LOGIN,LAST-TTY,LAST-HOSTNAME \ + --time-format iso \ + --logins=root \ + --json > "$TS_OUTPUT" + +rm $DB_FILE +ts_finalize \ No newline at end of file -- 2.47.3