source/projects/kook/test.sh

109 lines
2.7 KiB
Bash

#!/bin/bash
TEST_HOST=sabod-rital.test.arrdem.com
function kook_setup {
kook -g geo_test group delete
kook -g rack_test_test group delete
kook -H $TEST_HOST host delete
}
function kook_test {
##################################################
# Group CRU
if kook group create geo_test; then
echo "[OK] Geo group created"
else
echo "[FAIL] Geo group not created"
fi
if kook -g geo_test var create geo test; then
echo "[OK] Var created"
else
echo "[FAIL] Var create failed"
fi
if [ $(kook -g geo_test group details | jq '.geo_test.geo == "test"') == "true" ]; then
echo "[OK] Var read after write"
else
echo "[FAIL] Var not read back"
fi
# These two paths have already been tested
kook group create rack_test_test
kook -g rack_test_test var create rack test
# Testing vars on parent groups
if kook -g rack_test_test group add geo_test; then
echo "[OK] Group-group added"
else
echo "[FAIL] Group-group not added"
fi
if [ $(kook -g rack_test_test group details | jq '.rack_test_test.geo == "test"') == "true" ]; then
echo "[OK] 'geo' var inherited from supergroup"
else
echo "[FAIL] Var not inherited!"
fi
if [ $(kook -g rack_test_test group details | jq '.rack_test_test.rack == "test"') == "true" ]; then
echo "[OK] 'rack' var set"
else
echo "[FAIL] Var not set!"
fi
##################################################
# Host CRU
if kook host create $TEST_HOST; then
echo "[OK] Host created"
else
echo "[FAIL] Host not created"
fi
if kook host list | grep -q $TEST_HOST > /dev/null; then
echo "[OK] Host read after write"
else
echo "[FAIL] Host not read"
fi
if kook -H $TEST_HOST var create foo bar; then
echo "[OK] Var created"
else
echo "[FAIL] Unable to create host var"
fi
if [ $(kook -H $TEST_HOST host details | jq ".[\"${TEST_HOST}\"].foo == \"bar\"") == "true" ]; then
echo "[OK] Able to read var back"
else
echo "[FAIL] Unable to read host var back!"
fi
# And for a host...
if kook -H $TEST_HOST group add rack_test_test; then
echo "[OK] Added host to rack group"
else
echo "[FAIL] Unable to add host to rack group"
fi
# Checking that the host is in both group's list.
if kook -g rack_test_test host list | grep -q $TEST_HOST; then
echo "[OK] Host is in the rack group"
else
echo "[FAIL] Host is not in the rack group!"
fi
# And in the geo's list.
if kook -g geo_test host list | grep -q $TEST_HOST; then
echo "[OK] Host is in the geo group"
else
echo "[FAIL] Host is not in the geo group!"
fi
}
function kook_teardown {
kook_setup
}
kook_setup 1>/dev/null 2>/dev/null
kook_test
kook_teardown 1>/dev/null 2>/dev/null