diff --git a/.gitignore b/.gitignore index 4b029d74a..97aa1b3f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.sql.gz .netbox +.initializers docker-compose.override.yml diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 534a025ca..9420617a9 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -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 diff --git a/test.sh b/test.sh index 627eef1c3..6684f7cd8 100755 --- a/test.sh +++ b/test.sh @@ -10,24 +10,31 @@ export IMAGE="${IMAGE-netboxcommunity/netbox:latest}" # The docker compose command to use doco="docker-compose -f docker-compose.test.yml" -test_netbox_unit_tests() { - echo "⏱ Running Netbox Unit Tests" - $doco run --rm netbox ./manage.py test -} +INITIALIZERS_DIR=".initializers" -test_initializers() { - echo "🏗 Testing Initializers" +test_setup() { + echo "🏗 Setup up test environment" + if [ -d "${INITIALIZERS_DIR}" ]; then + rm -rf "${INITIALIZERS_DIR}" + fi - mkdir initializers_test + mkdir "${INITIALIZERS_DIR}" ( cd initializers for script in *.yml; do - sed -E 's/^# //' "${script}" > "../initializers_test/${script}" + sed -E 's/^# //' "${script}" > "../${INITIALIZERS_DIR}/${script}" done ) - mv initializers initializers_original - mv initializers_test initializers +} +test_netbox_unit_tests() { + echo "⏱ Running Netbox Unit Tests" + $doco run --rm netbox ./manage.py test +} + +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,6 +51,7 @@ echo "🐳🐳🐳 Start testing '${IMAGE}'" # Make sure the cleanup script is executed trap test_cleanup EXIT ERR +test_setup test_netbox_unit_tests test_initializers