#!/bin/sh
set -efu

CLASSPATH=/usr/share/java/bultitude.jar:/usr/share/java/trapperkeeper-webserver-jetty9.jar:/usr/share/java/puppetlabs-http-client.jar:/usr/share/java/kitchensink-test.jar:/usr/share/java/trapperkeeper-test.jar:/usr/share/java/trapperkeeper-webserver-jetty9.jar:/usr/share/java/trapperkeeper-status.jar:test
SSLDIR="$AUTOPKGTEST_TMP/dev-resources/puppetlabs/trapperkeeper-status/status-proxy-service-test/"

cp -R test dev-resources "$AUTOPKGTEST_TMP"
cd "$AUTOPKGTEST_TMP"

# needed by puppetlabs.trapperkeeper.testutils.bootstrap
mkdir target

# regenerate TLS certs
mkdir dev-resources/ssl
chmod +x ./dev-resources/gen-pki.sh && ./dev-resources/gen-pki.sh
rm -Rf "$SSLDIR/ssl" && mv dev-resources/ssl "$SSLDIR"
cd "$SSLDIR/ssl"
mkdir certs private_keys \
		&& mv ca.pem certs/ \
		&& mv cert.pem certs/localhost.pem \
		&& mv key.pem private_keys/localhost.pem

cd "$AUTOPKGTEST_TMP"

clojure \
    -cp $CLASSPATH \
    -e "(require '[clojure.test])" \
    -e "(require '[bultitude.core :as b])" \
    -e '(def all-tests (b/namespaces-on-classpath :classpath "test"))' \
    -e "(map #(require %) all-tests)" \
    -e '(System/exit (if (clojure.test/successful? (clojure.test/run-all-tests #"puppetlabs.trapperkeeper.\S+-test")) 0 1))'
