Skip to content

Commit e16b009

Browse files
authored
Merge pull request #221 from netbox-community/improve-test.sh
Improve test.sh
2 parents 870b44f + 25671d4 commit e16b009

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.sql.gz
22
.netbox
3+
.initializers
34
docker-compose.override.yml

docker-compose.test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
user: '101'
1010
volumes:
1111
- ./startup_scripts:/opt/netbox/startup_scripts:z,ro
12-
- ./initializers:/opt/netbox/initializers:z,ro
12+
- ./${INITIALIZERS_DIR-initializers}:/opt/netbox/initializers:z,ro
1313
- ./configuration:/etc/netbox/config:z,ro
1414
- ./reports:/etc/netbox/reports:z,ro
1515
- ./scripts:/etc/netbox/scripts:z,ro

test.sh

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,48 @@ export IMAGE="${IMAGE-netboxcommunity/netbox:latest}"
1010
# The docker compose command to use
1111
doco="docker-compose -f docker-compose.test.yml"
1212

13-
test_netbox_unit_tests() {
14-
echo "⏱ Running Netbox Unit Tests"
15-
$doco run --rm netbox ./manage.py test
16-
}
13+
INITIALIZERS_DIR=".initializers"
1714

18-
test_initializers() {
19-
echo "🏗 Testing Initializers"
15+
test_setup() {
16+
echo "🏗 Setup up test environment"
17+
if [ -d "${INITIALIZERS_DIR}" ]; then
18+
rm -rf "${INITIALIZERS_DIR}"
19+
fi
2020

21-
mkdir initializers_test
21+
mkdir "${INITIALIZERS_DIR}"
2222
(
2323
cd initializers
2424
for script in *.yml; do
25-
sed -E 's/^# //' "${script}" > "../initializers_test/${script}"
25+
sed -E 's/^# //' "${script}" > "../${INITIALIZERS_DIR}/${script}"
2626
done
2727
)
28-
mv initializers initializers_original
29-
mv initializers_test initializers
28+
}
3029

30+
test_netbox_unit_tests() {
31+
echo "⏱ Running Netbox Unit Tests"
32+
$doco run --rm netbox ./manage.py test
33+
}
34+
35+
test_initializers() {
36+
echo "🏭 Testing Initializers"
37+
export INITIALIZERS_DIR
3138
$doco run --rm netbox ./manage.py check
3239
}
3340

3441
test_cleanup() {
3542
echo "💣 Cleaning Up"
3643
$doco down -v
3744

38-
if [ -d initializers_original ]; then
39-
rm -rf initializers
40-
mv initializers_original initializers
45+
if [ -d "${INITIALIZERS_DIR}" ]; then
46+
rm -rf "${INITIALIZERS_DIR}"
4147
fi
4248
}
4349

4450
echo "🐳🐳🐳 Start testing '${IMAGE}'"
4551

4652
# Make sure the cleanup script is executed
4753
trap test_cleanup EXIT ERR
54+
test_setup
4855

4956
test_netbox_unit_tests
5057
test_initializers

0 commit comments

Comments
 (0)