kanidm/rlm_python/run_test.sh

54 lines
1.6 KiB
Bash
Raw Permalink Normal View History

2023-03-07 02:50:45 +01:00
#!/bin/bash
# set -e
TEST_RADIUS_USER="test_radius_user"
RADIUS_GROUP="radius_access_allowed"
#shellcheck disable=SC2162
read -p "Enter idm_admin password: " KANIDM_PASSWORD
export KANIDM_PASSWORD
cargo run --bin kanidm login --name idm_admin
unset KANIDM_PASSWORD
GROUP_CREATE_OUTPUT="$(KANIDM_NAME=idm_admin cargo run --bin kanidm group create "${RADIUS_GROUP}" 2>&1)"
GROUP_CREATE_RESULT="$(echo "${GROUP_CREATE_OUTPUT}" | grep -c -E '(Successfully created|AttrUnique)')"
if [ "${GROUP_CREATE_RESULT}" -eq 1 ]; then
echo "Group ${RADIUS_GROUP} created"
else
echo "Something failed during group creation"
exit 1
fi
echo "Creating RADIUS test user ${TEST_RADIUS_USER}"
USER_CREATE_OUTPUT="$(KANIDM_NAME=idm_admin cargo run --bin kanidm service-account create "${TEST_RADIUS_USER}" "${TEST_RADIUS_USER}")"
USER_CREATE_RESULT="$(echo "${USER_CREATE_OUTPUT}" | grep -c -E '(Successfully created|AttrUnique)')"
if [ "${USER_CREATE_RESULT}" -eq 1 ]; then
echo "User ${TEST_RADIUS_USER} created"
else
echo "Something failed during service account creation"
exit 1
fi
echo "Creating API Token..."
TOKEN_EXPIRY="$(date -v+1H +%Y-%m-%dT%H:%M:%S+10:00)"
RADIUS_TOKEN_RESULT="$(KANIDM_NAME=idm_admin cargo run --bin kanidm service-account api-token generate \
"${TEST_RADIUS_USER}" radius "${TOKEN_EXPIRY}" \
-o json)"
RADIUS_TOKEN="$(echo "${RADIUS_TOKEN_RESULT}" | grep result | jq -r .result)"
if [ -z "${RADIUS_TOKEN}" ]; then
echo "Couldn't find RADIUS token in output"
echo "${RADIUS_TOKEN_RESULT}"
exit 1
fi
echo "Updating secret in config file"
sed -i '' -e "s/^secret.*/secret = \"${RADIUS_TOKEN}\"/" ~/.config/kanidm