#!/bin/bash source testlib || exit 1 DESCRIPTION1="Zorg dat server niet geregistreerd en gewizarded is" CMD="rm /etc/webint/REG /etc/webint/WIZARD_COMPLETED" sshtest || exit 1 DESCRIPTION1="Heef de server een UUID gekregen?" CMD="test -e /etc/webint/UUID" VERIFYEXIT=0 sshtest || exit 1 DESCRIPTION1="Geeft server een standaard UUID, zodat de shop niet klaagt over keys die in gebruik zijn" CMD="echo $UUID > /etc/webint/UUID" sshtest || exit 1 DESCRIPTION1="Inloggen op $SCC met password $SCCPASSWD, verwacht wizard redirect naar backup chooser" VERIFYPOSITIVE="backup/wizardchoose.php" METHOD="post" PAGE="login/login.php"; POSTBODY="new_name=root&new_passwd=$SCCPASSWD" scc_add DESCRIPTION1="Skip backup, verwacht password" VERIFYPOSITIVE="settings/passwd.php" METHOD="post" PAGE="backup/wizardchoose.php?wizardskip=1"; scc_add DESCRIPTION1="Doe password en verwacht wizard redirect naar hostname" PAGE="settings/passwd.php" METHOD="post" VERIFYPOSITIVE="network/hostname.php" POSTBODY="passwd1=$SCCPASSWD&passwd2=$SCCPASSWD&save=1" scc_add # weg in 4.4.1, overbodige vragen: # DESCRIPTION1="Skip dhcpcd en verwacht redirect naar network/adreslist.php" # PAGE="network/dhcpcdview.php?wizardskip=1" # VERIFYPOSITIVE="network/adreslist.php" # scc_add # # DESCRIPTION1="Skip adresllist en verwacht redirect naar network/route.php" # PAGE="network/adreslist.php?wizardskip=1" # VERIFYPOSITIVE="network/route.php" # scc_add # # DESCRIPTION1="Doe network/route.php en verwacht wizard redirect naar network/dns.php. (network route redirect gelijk omdat er al een default gw is opgegeven)" # PAGE="network/route.php" # VERIFYPOSITIVE="network/dns.php" # scc_add # # DESCRIPTION1="Doe network/dns.php en verwacht wizard redirect naar firewall/listfirewall.php" # PAGE="network/dns.php" # METHOD="post" # POSTBODY="new_ns1=127.0.0.1&new_ns2=&new_store=1" # VERIFYPOSITIVE="firewall/listfirewall.php" # scc_add # # DESCRIPTION1="..en volgende wizard page.." # PAGE="firewall/listfirewall.php?wizardskip=1" # VERIFYPOSITIVE="network/hostname.php" # scc_add DESCRIPTION1="..en volgende wizard page.." PAGE="network/hostname.php" METHOD="post" POSTBODY="old_host_name=&new_host_name=darkstar.example.net&new_store=1" VERIFYPOSITIVE="activatie/register.php" scc_add DESCRIPTION1="..en volgende wizard page, dit is de laatste tot nu toe." PAGE="activatie/register.php" METHOD="post" POSTBODY="wizardskip=1" VERIFYPOSITIVE="wizard/wizarddone.php" scc_add scc_test || exit 1 DESCRIPTION1="Opnieuw inloggen op $SCC met password $SCCPASSWD, verwacht wizard redirect naar activatie/showlicense.php. " VERIFYPOSITIVE="activatie/showlicense.php" METHOD="post" PAGE="login/login.php"; POSTBODY="new_name=root&new_passwd=$SCCPASSWD" scc_add DESCRIPTION1="Zet taal op nl voor verdere tests" PAGE="settings/lang.php"; METHOD="post"; POSTBODY="new_lang=nl&save=1"; scc_add DESCRIPTION1="Wizard moet nu niet meer actief zijn." VERIFYPOSITIVE="Wachtwoord wijzigen" PAGE="activatie/showlicense.php"; scc_add DESCRIPTION1="Registreer met de key, zodat er nieuwe wizard pages komen bij het inloggen. Updates worden ook geinstalleerd, dus duurt lang!" METHOD=post PAGE="activatie/register.php" POSTBODY="key_string=$KEY" VERIFYPOSITIVE="redirect=.https" IGNOREERROR=1 scc_add scc_test || exit 1 #zijn de updates die we tot nu to hebben goed gegaan? #kan niet: gaan altijd wel updates mis als je alle opties hebt. dit komt doordat bijvoorbeeld de ldap wizard nog moet worden doorlopen. #check veplaatst naar kernelreboot. #DESCRIPTION1="Controle op mislukte postinstallatie pogingen" #CMD="grep 'FAILED!!!$' /var/log/postinst.log" #VERIFYEXIT=1 #sshtest || exit 1 #Loop alle optie-afhankelijke wizard pages bij langs. Kijk iedere keer naar de laatste redirect om uit te vinden wat we moeten doen. while true; do LASTREDIR=`cat webinject/http.log |grep "$SCC"|tail -1` if [ "$LASTREDIR" == "$PREVREDIR" ]; then echo "Ik kom weer op dezelfde wizard page? Er gaat wat mis!" exit 1 fi PREVREDIR=$LASTREDIR if echo "$LASTREDIR" | grep "listupdates.php"; then echo "Klaar met wizard, check op updates" #zorg dat we alle updates hebben DESCRIPTION1="Hebben we alle updates? Pas als dit zo is stoppen we de wizard en de updates." PAGE="updates/listupdates.php" VERIFYPOSITIVE="Geen nieuwe updates beschikbaar." scc_add scc_test && break #klaar #nog niet klaar PREVREDIR="" DESCRIPTION1="Installeer updates. Doorloop eventuele wizardpages hierna." PAGE="updates/listupdates.php?auto_install=1" VERIFYPOSITIVE="redirect=.https" scc_add scc_test || exit 1 #zijn de updates die we tot nu to hebben goed gegaan? DESCRIPTION1="Controle op mislukte postinstallatie pogingen" CMD="grep 'FAILED!!!$' /var/log/postinst.log" VERIFYEXIT=1 sshtest || exit 1 fi if echo "$LASTREDIR" | grep "ldap"; then DESCRIPTION1="Doe LDAP wizard page, duurt lang ivm service restarts" METHOD="post" PAGE="settings/ldap.php"; POSTBODY="new_ldap_master_passwd=syn3&save=1" scc_add fi if echo "$LASTREDIR" | grep "dhcpcdview"; then DESCRIPTION1="..en volgende wizard page.." PAGE="network/dhcpcdview.php" METHOD="post" POSTBODY="wizardskip=1" scc_add fi if echo "$LASTREDIR" | grep "adreslist"; then DESCRIPTION1="..en volgende wizard page.." PAGE="network/adreslist.php?wizardskip=1" scc_add fi if echo "$LASTREDIR" | grep "addvirtdomain"; then DESCRIPTION1="..en volgende wizard page.." PAGE="mail/addvirtdomain.php" POSTBODY="new_virt=wizardtest.`date +%s`.nl" METHOD="post" scc_add fi if echo "$LASTREDIR" | grep "sambasettings"; then DESCRIPTION1="..en volgende wizard page" PAGE="samba/sambasettings.php" METHOD="post" POSTBODY="wizardskip=1" scc_add fi scc_test || exit 1 done DESCRIPTION1="Opnieuw inloggen op $SCC met password $SCCPASSWD, verwacht redirect naar listupdates.php omdat er nu blijkbaar geen wizard pages meer ZOUDEN MOETEN ZIJN..REEDS." VERIFYPOSITIVE="listupdates.php" METHOD="post" PAGE="login/login.php"; POSTBODY="new_name=root&new_passwd=$SCCPASSWD" scc_add scc_test || exit 1