diff --git a/tests/test_helpers.bash b/tests/test_helpers.bash
new file mode 100644
index 0000000..791710e
--- /dev/null
+++ b/tests/test_helpers.bash
@@ -0,0 +1,52 @@
+
+# check dependencies
+(
+    type docker &>/dev/null || ( echo "docker is not available"; exit 1 )
+    type curl &>/dev/null || ( echo "curl is not available"; exit 1 )
+)>&2
+
+# Assert that $1 is the outputof a command $2
+function assert {
+    local expected_output=$1
+    shift
+    actual_output=$("$@")
+    if ! [ "$actual_output" = "$expected_output" ]; then
+        echo "expected: \"$expected_output\", actual: \"$actual_output\""
+        false
+    fi
+}
+
+# Retry a command $1 times until it succeeds. Wait $2 seconds between retries.
+function retry {
+    local attempts=$1
+    shift
+    local delay=$1
+    shift
+    local i
+
+    for ((i=0; i < attempts; i++)); do
+        run "$@"
+        if [ "$status" -eq 0 ]; then
+            return 0
+        fi
+        sleep $delay
+    done
+
+    echo "Command \"$@\" failed $attempts times. Status: $status. Output: $output" >&2
+    false
+}
+
+function get_jenkins_url {
+    echo "http://localhost:$(docker port $SUT_CONTAINER 8080 | cut -d: -f2)"
+}
+
+function test_url {
+    run curl --output /dev/null --silent --head --fail --connect-timeout 30 --max-time 60 $(get_jenkins_url)$1
+    if [ "$status" -eq 0 ]; then
+        true
+    else
+        echo "URL $(get_jenkins_url)$1 failed" >&2
+        echo "output: $output" >&2
+        false
+    fi
+}
