test: skip test cases using userdbctl
userdb support is optional, hence userdbctl may not be installed.
This commit is contained in:
@@ -24,12 +24,14 @@ systemd-run --unit test-nft.service --service-type=exec -p DynamicUser=yes \
|
||||
-p 'NFTSet=cgroup:inet:sd_test:c user:inet:sd_test:u group:inet:sd_test:g' sleep 10000
|
||||
run nft list set inet sd_test c
|
||||
grep -qF "test-nft.service" "$RUN_OUT"
|
||||
uid=$(userdbctl user --json=short test-nft | jq .uid)
|
||||
run nft list set inet sd_test u
|
||||
grep -qF "$uid" "$RUN_OUT"
|
||||
gid=$(userdbctl user --json=short test-nft | jq .gid)
|
||||
run nft list set inet sd_test g
|
||||
grep -qF "$gid" "$RUN_OUT"
|
||||
if command -v userdbctl >/dev/null; then
|
||||
uid=$(userdbctl user --json=short test-nft | jq .uid)
|
||||
run nft list set inet sd_test u
|
||||
grep -qF "$uid" "$RUN_OUT"
|
||||
gid=$(userdbctl user --json=short test-nft | jq .gid)
|
||||
run nft list set inet sd_test g
|
||||
grep -qF "$gid" "$RUN_OUT"
|
||||
fi
|
||||
systemctl stop test-nft.service
|
||||
|
||||
# scope
|
||||
|
||||
@@ -11,11 +11,13 @@ u unlockedtestuser - "An unlocked system user" / /bin/bash
|
||||
u! lockedtestuser - "A locked system user" / /bin/bash
|
||||
EOF
|
||||
|
||||
userdbctl -j user unlockedtestuser
|
||||
userdbctl -j user lockedtestuser
|
||||
if command -v userdbctl >/dev/null; then
|
||||
userdbctl -j user unlockedtestuser
|
||||
userdbctl -j user lockedtestuser
|
||||
|
||||
assert_eq "$(userdbctl -j user unlockedtestuser | jq .locked)" "null"
|
||||
assert_eq "$(userdbctl -j user lockedtestuser | jq .locked)" "true"
|
||||
assert_eq "$(userdbctl -j user unlockedtestuser | jq .locked)" "null"
|
||||
assert_eq "$(userdbctl -j user lockedtestuser | jq .locked)" "true"
|
||||
fi
|
||||
|
||||
at_exit() {
|
||||
set +e
|
||||
|
||||
@@ -3,6 +3,11 @@
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
if ! command -v userdbctl >/dev/null; then
|
||||
echo "userdbctl is not installed, skipping the test."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user