ci(travis): Add e2e smoke testing with Travis CI
This commit is contained in:
parent
c42fc264df
commit
f015462a51
9
.travis.yml
Normal file
9
.travis.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
language: bash
|
||||||
|
services: docker
|
||||||
|
|
||||||
|
script:
|
||||||
|
- ./install.sh
|
||||||
|
- docker-compose run --rm web createuser --superuser --email test@sentry.io --password test123TEST
|
||||||
|
- docker-compose up -d
|
||||||
|
- timeout 60 bash -c 'until $(curl -Isf -o /dev/null http://localhost:9000); do printf '.'; sleep 0.5; done'
|
||||||
|
- ./test.sh
|
33
test.sh
Executable file
33
test.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
TEST_USER='test@sentry.io'
|
||||||
|
TEST_PASS='test123TEST'
|
||||||
|
COOKIE_FILE=$(mktemp)
|
||||||
|
declare -a TEST_STRINGS=(
|
||||||
|
'"isAuthenticated":true,'
|
||||||
|
'"username":"test@sentry.io",'
|
||||||
|
'"isSuperuser":true,'
|
||||||
|
)
|
||||||
|
|
||||||
|
INITIAL_AUTH_REDIRECT=$(curl -sL -o /dev/null http://localhost:9000 -w %{url_effective})
|
||||||
|
if [ "$INITIAL_AUTH_REDIRECT" != "http://localhost:9000/auth/login/sentry/" ]; then
|
||||||
|
echo "Initial /auth/login/ redirect failed, exiting..."
|
||||||
|
echo "$INITIAL_AUTH_REDIRECT"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CSRF_TOKEN=$(curl http://localhost:9000 -sL -c "$COOKIE_FILE" | awk -F "'" '
|
||||||
|
/csrfmiddlewaretoken/ {
|
||||||
|
print $4 "=" $6;
|
||||||
|
exit;
|
||||||
|
}')
|
||||||
|
LOGIN_RESPONSE=$(curl -sL -F 'op=login' -F "username=$TEST_USER" -F "password=$TEST_PASS" -F "$CSRF_TOKEN" http://localhost:9000/auth/login/ -H 'Referer: http://localhost/auth/login/' -b "$COOKIE_FILE" -c "$COOKIE_FILE")
|
||||||
|
|
||||||
|
TEST_RESULT=0
|
||||||
|
for i in "${TEST_STRINGS[@]}"
|
||||||
|
do
|
||||||
|
echo "Testing '$i'..."
|
||||||
|
echo "$LOGIN_RESPONSE" | grep "$i" >& /dev/null
|
||||||
|
echo "Pass."
|
||||||
|
done
|
Reference in New Issue
Block a user