summaryrefslogtreecommitdiff
path: root/src/exchange/test_taler_exchange_httpd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchange/test_taler_exchange_httpd.sh')
-rwxr-xr-xsrc/exchange/test_taler_exchange_httpd.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/exchange/test_taler_exchange_httpd.sh b/src/exchange/test_taler_exchange_httpd.sh
new file mode 100755
index 000000000..2b55ef5f4
--- /dev/null
+++ b/src/exchange/test_taler_exchange_httpd.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# This file is part of TALER
+# Copyright (C) 2015, 2016 Inria and GNUnet e.V.
+#
+# TALER is free software; you can redistribute it and/or modify it under the
+# terms of the GNU Affero General Public License as published by the Free Software
+# Foundation; either version 3, or (at your option) any later version.
+#
+# TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License along with
+# TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/>
+#
+#
+# This script uses 'curl' to POST various ill-formed requests to the
+# taler-exchange-httpd. Basically, the goal is to make sure that the
+# HTTP server survives (and produces the 'correct' error code).
+#
+#
+# Clear environment from variables that override config.
+export XDG_DATA_HOME=
+export XDG_CONFIG_HOME=
+#
+# Setup keys.
+taler-exchange-keyup -c test_taler_exchange_httpd.conf
+# Run Exchange HTTPD (in background)
+taler-exchange-httpd -c test_taler_exchange_httpd.conf &
+# Give HTTP time to start
+sleep 5
+# Finally run test...
+# We read the JSON snippets to POST from test_taler_exchange_httpd.data
+cat test_taler_exchange_httpd.data | grep -v ^\# | awk '{ print "curl -d \47" $2 "\47 http://localhost:8081" $1 }' | bash
+# Stop HTTP server
+kill -TERM %%
+# FIXME: not sure this is the 'correct' return code...
+exit $?