diff --git a/tests/p_ipa-server/0-install_freeipa.sh b/tests/p_ipa-server/0-install_freeipa.sh new file mode 100755 index 0000000..f9c7419 --- /dev/null +++ b/tests/p_ipa-server/0-install_freeipa.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Author: James Hogarth +# + +t_Log "Running $0 - Installing packages" +t_InstallPackage ipa-server bind-dyndb-ldap + + diff --git a/tests/p_ipa-server/1-configure_freeipa.sh b/tests/p_ipa-server/1-configure_freeipa.sh new file mode 100755 index 0000000..f85e161 --- /dev/null +++ b/tests/p_ipa-server/1-configure_freeipa.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Author: James Hogarth +# + +t_Log "Configuring IPA server" + + + +ipa-server-install -U --hostname=c6test.c6ipa.local --ip-address=$(ip a s dev eth0 | awk '$0 ~ /scope global eth0/ {print $2}' | cut -d'/' -f 1) -r C6IPA.LOCAL -n c6ipa.local -p p455w0rd -a p455w0rd --ssh-trust-dns --setup-dns --forwarder=$(awk '$0 ~ /nameserver/ {print $2}' /etc/resolv.conf | head -n 1) + +t_CheckExitStatus $? + diff --git a/tests/p_ipa-server/2-verify_kerberos_tickets.sh b/tests/p_ipa-server/2-verify_kerberos_tickets.sh new file mode 100755 index 0000000..fc926a2 --- /dev/null +++ b/tests/p_ipa-server/2-verify_kerberos_tickets.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Author: James Hogarth +# + +# kinit cannot take password from stdin so use expect + +t_InstallPackage expect + +t_Log "Running $0 - testing host kerberos principal +klist -k /etc/krb5.keytab | grep "host/c6test.c6ipa.local" &> /dev/null + +t_CheckExitStatus $? + +t_Log "Running $0 - testing admin user kerberos principal + +kdestroy &> /dev/null + +klist 2>&1 | grep "No credentials" &> /dev/null + +t_CheckExitStatus $? + +expect -f - &> /dev/null < /dev/null + +t_CheckExitStatus $? + + +# MORE STUFF GOES HERE diff --git a/tests/p_ipa-server/3-adduser.sh b/tests/p_ipa-server/3-adduser.sh new file mode 100755 index 0000000..34637cd --- /dev/null +++ b/tests/p_ipa-server/3-adduser.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# Author: James Hogarth +# + +# Need admin credentials +kdestroy &> /dev/null + +klist 2>&1 | grep "No credentials" &> /dev/null + +t_CheckExitStatus $? + +expect -f - &> /dev/null < /dev/null + +t_CheckExitStatus $? + + + +t_Log "Running $0 - test adding user" +userdetails="$(ipa user-add --first=test --last=user --random testuser)" +echo "$userdetails" | grep 'Added user "testuser"' &> /dev/null + +t_CheckExitStatus $? + +t_Log "Running $0 - verify details of user" + +echo "$userdetails" | grep ' First name: test' &> /dev/null + +t_CheckExitStatus $? + +echo "$userdetails" | grep 'Last name: user' &> /dev/null + +t_CheckExitStatus $? + +echo "$userdetails" | grep 'Full name: test user' &> /dev/null + +t_CheckExitStatus $? + +echo "$userdetails" | grep 'Home directory: /home/testuser' &> /dev/null + +t_CheckExitStatus $? + +t_Log "Running $0 - testing initial password change of user" +kdestroy &> /dev/null + +expect -f - &> /dev/null < /dev/null + +t_CheckExitStatus $? + +kdestroy &> /dev/null + + +