11#! /usr/bin/env bash
22set -euo pipefail
33
4- # Helper to get millisecond timestamp
5- get_ms () {
6- if [[ " $OSTYPE " == " darwin" * ]]; then
7- python3 -c ' import time; print(int(time.time() * 1000))'
8- else
9- date +%s%3N
10- fi
11- }
12-
13- echo " ### STEP 1: Initializing datasets"
144initialize_dataset " $END_USER_BASE_URL " " $TMP_END_USER_DATASET " " $END_USER_ENDPOINT_URL "
155initialize_dataset " $ADMIN_BASE_URL " " $TMP_ADMIN_DATASET " " $ADMIN_ENDPOINT_URL "
166purge_cache " $END_USER_VARNISH_SERVICE "
@@ -21,71 +11,28 @@ purge_cache "$FRONTEND_VARNISH_SERVICE"
2111package_uri=" https://packages.linkeddatahub.com/skos/#this"
2212
2313# install package via POST to packages/install endpoint
24- echo " ### STEP 2: Installing package"
25- t1=$( get_ms)
26- install_status=$( curl -k -w " %{http_code}\n" -o /dev/null -f -s \
14+ curl -k -w " %{http_code}\n" -o /dev/null -f -s \
2715 -E " $OWNER_CERT_FILE " :" $OWNER_CERT_PWD " \
2816 -X POST \
2917 -H " Content-Type: application/x-www-form-urlencoded" \
3018 --data-urlencode " package-uri=$package_uri " \
31- " ${ADMIN_BASE_URL} packages/install" )
32- t2=$( get_ms)
33- echo " Install status: $install_status (expected: $STATUS_SEE_OTHER ) [took $(( t2 - t1 )) ms]"
34- echo " $install_status " | grep -q " $STATUS_SEE_OTHER "
19+ " ${ADMIN_BASE_URL} packages/install" \
20+ | grep -q " $STATUS_SEE_OTHER "
3521
3622# Wait for package installation to complete (poll for stylesheet availability)
37- echo " ### Waiting for package installation to complete"
38- max_wait=30 # maximum seconds to wait
39- wait_interval=0.5 # check every 0.5 seconds
40- elapsed=0
41- stylesheet_status=" "
42-
43- while [ $( echo " $elapsed < $max_wait " | bc) -eq 1 ]; do
23+ while true ; do
4424 stylesheet_status=$( curl -k -w " %{http_code}\n" -o /dev/null -s \
4525 " ${END_USER_BASE_URL} static/com/linkeddatahub/packages/skos/layout.xsl" )
4626 if [ " $stylesheet_status " = " 200" ]; then
47- echo " Package stylesheet available after ${elapsed} s (status: $stylesheet_status )"
4827 break
4928 fi
50- sleep $wait_interval
51- elapsed=$( echo " $elapsed + $wait_interval " | bc)
29+ sleep 0.5
5230done
5331
54- if [ " $stylesheet_status " != " 200" ]; then
55- echo " ERROR: Package stylesheet not available after ${elapsed} s (status: $stylesheet_status )"
56- exit 1
57- fi
58-
59- # Verify stylesheet file exists in Tomcat's webapps directory
60- # docker compose exec -T linkeddatahub ls -l webapps/ROOT/static/com/linkeddatahub/packages/skos
61-
62- # Make internal request from nginx to Tomcat to warm up static file cache
63- t3=$( get_ms)
64- docker compose exec -T nginx curl -s -o /dev/null http://linkeddatahub:7070/static/com/linkeddatahub/packages/skos/layout.xsl
65- t4=$( get_ms)
66- echo " Internal request took $(( t4 - t3 )) ms"
67-
6832# verify package stylesheet was installed (should return 200)
69- echo " ### STEP 3: Verifying package stylesheet exists (delay since install: $(( t4 - t2 )) ms)"
70- t5=$( get_ms)
71- stylesheet_status=$( curl -k -w " %{http_code}\n" -o /dev/null -s \
72- " ${END_USER_BASE_URL} static/com/linkeddatahub/packages/skos/layout.xsl" )
73- t6=$( get_ms)
74- echo " Stylesheet status: $stylesheet_status (expected: 200) [took $(( t6 - t5 )) ms]"
75- if [ " $stylesheet_status " != " 200" ]; then
76- echo " ERROR: Expected 200, got $stylesheet_status "
77- exit 1
78- fi
33+ curl -k -f -s -o /dev/null \
34+ " ${END_USER_BASE_URL} static/com/linkeddatahub/packages/skos/layout.xsl"
7935
8036# verify master stylesheet was regenerated and includes package import
81- echo " ### STEP 4: Verifying master stylesheet includes package"
82- master_xsl=$( curl -k -s " ${END_USER_BASE_URL} static/xsl/layout.xsl" )
83- if echo " $master_xsl " | grep -q " com/linkeddatahub/packages/skos/layout.xsl" ; then
84- echo " OK: Master stylesheet contains SKOS import"
85- else
86- echo " ERROR: Master stylesheet does not contain SKOS import"
87- echo " Master stylesheet content:"
88- echo " $master_xsl "
89- exit 1
90- fi
91- echo " All checks passed"
37+ curl -k -s " ${END_USER_BASE_URL} static/xsl/layout.xsl" \
38+ | grep -q " com/linkeddatahub/packages/skos/layout.xsl"
0 commit comments