Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GRANDGERARD Gilles
keycloak-protocol-cas
Commits
33112b94
Commit
33112b94
authored
Jul 26, 2017
by
Matthias Piepkorn
Browse files
extend integration tests (fixes #5)
parent
a3c58cbb
Changes
2
Hide whitespace changes
Inline
Side-by-side
.travis.yml
View file @
33112b94
...
...
@@ -33,7 +33,7 @@ script:
docker exec -t keycloak /opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin &&
docker exec -t keycloak /opt/jboss/keycloak/bin/kcadm.sh create clients -r master -s clientId=test -s protocol=cas -s enabled=true -s publicClient=true -s 'redirectUris=["http://localhost/*"]' -s baseUrl=http://localhost -s adminUrl=http://localhost &&
docker exec -t keycloak /opt/jboss/keycloak/bin/kcadm.sh get serverinfo -r master --fields "providers(login-protocol(providers(cas)))" | grep cas &&
curl --fail http://localhost:8080/auth/realms/master/protocol/cas/login?service=http://localhost
integrationTest/suite.sh
before_deploy
:
-
"
mvn
-DskipTests
package"
...
...
integrationTest/suite.sh
0 → 100755
View file @
33112b94
#!/bin/bash
set
-e
action_pattern
=
'action="([^"]+)"'
ticket_pattern
=
'Location: .*\?ticket=(ST-[-A-Za-z0-9_.=]+)'
get_ticket
()
{
login_response
=
$(
curl
--fail
--silent
-c
/tmp/cookies http://localhost:8080/auth/realms/master/protocol/cas/login?service
=
http://localhost
)
if
[[
!(
$login_response
=
~
$action_pattern
)
]]
;
then
echo
"Could not parse login form in response"
echo
$login_response
exit
1
fi
login_url
=
${
BASH_REMATCH
[1]
}
redirect_response
=
$(
curl
--fail
--silent
-D
-
-b
/tmp/cookies
--data
'username=admin&password=admin'
"
$login_url
"
)
if
[[
!(
$redirect_response
=
~
$ticket_pattern
)
]]
;
then
echo
"No service ticket found in response"
echo
$redirect_response
exit
1
fi
ticket
=
${
BASH_REMATCH
[1]
}
echo
$ticket
}
get_ticket
curl
--fail
--silent
"http://localhost:8080/auth/realms/master/protocol/cas/validate?service=http://localhost&ticket=
$ticket
"
echo
get_ticket
curl
--fail
--silent
"http://localhost:8080/auth/realms/master/protocol/cas/serviceValidate?service=http://localhost&format=XML&ticket=
$ticket
"
echo
get_ticket
curl
--fail
--silent
"http://localhost:8080/auth/realms/master/protocol/cas/serviceValidate?service=http://localhost&format=JSON&ticket=
$ticket
"
echo
get_ticket
curl
--fail
--silent
"http://localhost:8080/auth/realms/master/protocol/cas/p3/serviceValidate?service=http://localhost&format=JSON&ticket=
$ticket
"
echo
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment