#!/usr/bin/env atf-sh

# SPDX-License-Identifier: GPL-2.0-or-later
#
# SPDX-FileCopyrightText: 2024 KUNBUS GmbH

atf_test_case sysctl_values

sysctl_values_head() {
	atf_set descr \
		"Check that sysctl keys exist"
	atf_set require.user root
	atf_set require.progs sysctl
}

sysctl_values_body() {
	sysctl_keys="$(awk -F'=' '/^[^# ]/ { print $1 }' \
		"$(atf_get_srcdir)"/../sysctl/50-revpi-network-hardening.conf)"

	for key in $sysctl_keys; do
		interface_name="$(echo $sysctl_keys | grep -Eo "eth[[:digit:]]+")"
		if [ -n "$interface_name" ]; then
			# skip interface name that doesn't exist on the test machine
			ip addr show "$interface_name" || continue
		fi

		atf_check -s exit:0 \
			-o match:"^$key" \
			sysctl "$key"
	done
}

atf_init_test_cases() {
	atf_add_test_case sysctl_values
}
