xref: /plugin/bpmnio/test/run-tests.sh (revision 43854469855b0d3261173416b47cbad6e62bc444)
1*43854469SJaap de Haan#!/bin/bash
2*43854469SJaap de Haan# Run basic tests against the DokuWiki test environment
3*43854469SJaap de Haanset -e
4*43854469SJaap de Haan
5*43854469SJaap de HaanCONTAINER="dokuwiki-bpmnio-test"
6*43854469SJaap de HaanPORT=8080
7*43854469SJaap de HaanPLUGIN_DIR="/config/dokuwiki/lib/plugins/bpmnio"
8*43854469SJaap de Haan
9*43854469SJaap de Haanif ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then
10*43854469SJaap de Haan    echo "ERROR: Container $CONTAINER is not running. Run './start-test-env.sh' first."
11*43854469SJaap de Haan    exit 1
12*43854469SJaap de Haanfi
13*43854469SJaap de Haan
14*43854469SJaap de Haanecho "Waiting for DokuWiki to respond..."
15*43854469SJaap de Haanfor i in {1..30}; do
16*43854469SJaap de Haan    curl -sf "http://localhost:$PORT/" > /dev/null && break
17*43854469SJaap de Haan    [ "$i" -eq 30 ] && { echo "ERROR: Timeout"; exit 1; }
18*43854469SJaap de Haan    sleep 2
19*43854469SJaap de Haandone
20*43854469SJaap de Haan
21*43854469SJaap de Haanecho "Checking plugin files..."
22*43854469SJaap de Haanfor file in plugin.info.txt syntax/bpmnio.php script/bpmnio_render.js vendor/bpmn-js/package.json vendor/dmn-js/package.json; do
23*43854469SJaap de Haan    docker exec "$CONTAINER" test -f "$PLUGIN_DIR/$file" || { echo "MISSING: $file"; exit 1; }
24*43854469SJaap de Haandone
25*43854469SJaap de Haanecho "  All plugin files present"
26*43854469SJaap de Haan
27*43854469SJaap de Haanecho "Checking test pages..."
28*43854469SJaap de Haanfor page in test:bpmn-test test:dmn-test; do
29*43854469SJaap de Haan    curl -sf "http://localhost:$PORT/doku.php?id=$page" | grep -q "bpmn\|dmn" \
30*43854469SJaap de Haan        && echo "  $page OK" \
31*43854469SJaap de Haan        || echo "  $page WARNING: may have issues"
32*43854469SJaap de Haandone
33*43854469SJaap de Haan
34*43854469SJaap de Haanecho "Tests passed."
35