summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]tests/run-tests.sh56
-rw-r--r--tests/vm.nix2
2 files changed, 54 insertions, 4 deletions
diff --git a/tests/run-tests.sh b/tests/run-tests.sh
index 52f4a1e..a1404fc 100644..100755
--- a/tests/run-tests.sh
+++ b/tests/run-tests.sh
@@ -1,13 +1,61 @@
#! /usr/bin/env nix-shell
-#! nix-shell --packages curl
+#! nix-shell -i bash -p jq curl
+
+function cleanup {
+ echo
+ echo Shutting down container ...
+ sudo nixos-container stop hermes
+}
sudo nixos-container update hermes --config-file ./vm.nix || exit 2
+echo Starting container ...
sudo nixos-container start hermes || exit 2
+trap cleanup EXIT
+sleep 0.1
IP=$(nixos-container show-ip hermes)
-for PORT in 8080 8081 8082
+
+echo
+echo Checking that all the services are running :
+declare -A PORTS
+PORTS[quentin]=8080
+PORTS[searx]=8081
+PORTS[money]=8082
+CURL_FLAGS='--location --silent'
+for SERVICE in "${!PORTS[@]}"
do
- curl http://$IP:$PORT/ -i || exit 2
+ echo Checking connection to container version of $SERVICE.aristote.fr ...
+ RESULT=$(curl "http://$IP:${PORTS[$SERVICE]}/" $CURL_FLAGS --output /dev/null --write-out '%{http_code}\n')
+ if [[ ! "$RESULT" = 200 ]]
+ then
+ echo "Connection failed."
+ exit 2
+ fi
done
+echo Done.
-sudo nixos-container stop hermes
+echo
+echo Checking custom Searx engines :
+declare -A QUERIES
+QUERIES[alternativeto]=Searx
+QUERIES[emojipedia]=',,,,,,,,,,,,' #'Thinking%20face'
+QUERIES[nlab]='Kan%20extension'
+QUERIES[wikipediafr]=Paris
+QUERIES[wikipediaen]=Paris
+for ENGINE in "${!QUERIES[@]}"
+do
+ echo Checking engine $ENGINE ...
+ JSON_RESULT=$(curl "http://$IP:${PORTS[searx]}/search?q=${QUERIES[$ENGINE]}+\!$ENGINE&format=json" $CURL_FLAGS)
+ RESULTS=$(echo $JSON_RESULT | jq '.results')
+ UNRESPONSIVE_ENGINES=$(echo $JSON_RESULT | jq '.unresponsive_engines')
+ if [[ ! "$UNRESPONSIVE_ENGINES" = '[]' ]]
+ then
+ echo "Engine not responsive."
+ exit 2
+ elif [[ "RESULTS" = [] ]]
+ then
+ echo "No results found."
+ exit 2
+ fi
+done
+echo Done.
diff --git a/tests/vm.nix b/tests/vm.nix
index 390d02b..abda6bc 100644
--- a/tests/vm.nix
+++ b/tests/vm.nix
@@ -17,6 +17,8 @@ in {
firewall = { allowedTCPPorts = nginxPorts; };
};
+ services.filtron.rules = lib.mkForce [];
+
services.nginx.virtualHosts = {
quentin = {
listen = lib.mkForce [{