Improve test.sh

Don't move the original initializers directory, but rather use the one
with the modified initializers in it.
This commit is contained in:
Christian Mäder 2020-01-17 17:21:47 +01:00
parent 870b44fdbc
commit 3b56c827f9
3 changed files with 25 additions and 17 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.sql.gz
.netbox
.initializers
docker-compose.override.yml

View File

@ -9,7 +9,7 @@ services:
user: '101'
volumes:
- ./startup_scripts:/opt/netbox/startup_scripts:z,ro
- ./initializers:/opt/netbox/initializers:z,ro
- ./${INITIALIZERS_DIR-initializers}:/opt/netbox/initializers:z,ro
- ./configuration:/etc/netbox/config:z,ro
- ./reports:/etc/netbox/reports:z,ro
- ./scripts:/etc/netbox/scripts:z,ro

39
test.sh
View File

@ -10,24 +10,31 @@ export IMAGE="${IMAGE-netboxcommunity/netbox:latest}"
# The docker compose command to use
doco="docker-compose -f docker-compose.test.yml"
INITIALIZERS_DIR=".initializers"
test_setup() {
echo "🏗 Setup up test environment"
if [ -d "${INITIALIZERS_DIR}" ]; then
rm -rf "${INITIALIZERS_DIR}"
fi
mkdir "${INITIALIZERS_DIR}"
(
cd initializers
for script in *.yml; do
sed -E 's/^# //' "${script}" > "../${INITIALIZERS_DIR}/${script}"
done
)
}
test_netbox_unit_tests() {
echo "⏱ Running Netbox Unit Tests"
$doco run --rm netbox ./manage.py test
}
test_initializers() {
echo "🏗 Testing Initializers"
mkdir initializers_test
(
cd initializers
for script in *.yml; do
sed -E 's/^# //' "${script}" > "../initializers_test/${script}"
done
)
mv initializers initializers_original
mv initializers_test initializers
echo "🏭 Testing Initializers"
export INITIALIZERS_DIR
$doco run --rm netbox ./manage.py check
}
@ -35,9 +42,8 @@ test_cleanup() {
echo "💣 Cleaning Up"
$doco down -v
if [ -d initializers_original ]; then
rm -rf initializers
mv initializers_original initializers
if [ -d "${INITIALIZERS_DIR}" ]; then
rm -rf "${INITIALIZERS_DIR}"
fi
}
@ -45,8 +51,9 @@ echo "🐳🐳🐳 Start testing '${IMAGE}'"
# Make sure the cleanup script is executed
trap test_cleanup EXIT ERR
test_setup
test_netbox_unit_tests
# test_netbox_unit_tests
test_initializers
echo "🐳🐳🐳 Done testing '${IMAGE}'"