From d64c9b80a7f716ade2316bfb31d9be265f0b057d Mon Sep 17 00:00:00 2001 From: Christoph Galuschka Date: Nov 19 2011 10:02:34 +0000 Subject: Changed freeradius tests to work multiple times --- diff --git a/tests/p_freeradius/0-install_freeradius.sh b/tests/p_freeradius/0-install_freeradius.sh index d0f9ba7..e0f82f2 100755 --- a/tests/p_freeradius/0-install_freeradius.sh +++ b/tests/p_freeradius/0-install_freeradius.sh @@ -4,6 +4,7 @@ # Install freeradius # On C5 both freeradius and freeradius2 are provided, however only freeradius2-utils are provided as well # so we will install freeradius2 on C5 and freeradius (being freeradius2) on C6 + if (t_GetPkgRel basesystem | grep -q el6) then #Install Freeradius (V2) @@ -21,15 +22,30 @@ then t_ServiceControl radiusd start else # C5 has an eap-setting in radiusd.conf and 3 "sites-available" which prevent successfull start (probably missing some dep) - # as the basic test works without these, the eap setting 2 sites-available will be removed for the test and later restored - sed -i 's/.*INCLUDE\ eap\.conf/# INCLUDE eap.conf/g' /etc/raddb/radiusd.conf + # as the basic test works without these, the eap settings and 2 sites-available will be removed for the test and later restored + # Check if we allready did this + if [ ! -e /etc/raddb/radiusd.conf.orig ] + then + # File not yet copied + /bin/cp -a /etc/raddb/radiusd.conf /etc/raddb/radiusd.conf.orig + grep -iv eap /etc/raddb/radiusd.conf.orig > /etc/raddb/radiusd.conf + fi rm -rf /etc/raddb/sites-enabled/control-socket rm -rf /etc/raddb/sites-enabled/inner-tunnel - # /etc/raddb/sites-configured will be changed to remove all traces of eap - /bin/cp -a /etc/raddb/sites-available/default /etc/raddb/sites-available/default.orig - head -n 138 /etc/raddb/sites-available/default.orig | grep -v eap > /etc/raddb/sites-available/default - tail -n 416 /etc/raddb/sites-available/default.orig | grep -v eap >> /etc/raddb/sites-available/default - sed -i 's/.*ok\ \=\ return/# ok = return/g' /etc/raddb/sites-available/default - t_ServiceControl radiusd start + # /etc/raddb/sites-configured will be changed to include only basic files-authentication + # Check if we allready did this + if [ ! -e /etc/raddb/sites-available/default.orig ] + then + # File not yet copied + /bin/cp -a /etc/raddb/sites-available/default /etc/raddb/sites-available/default.orig + fi +cat > /etc/raddb/sites-available/default <> /etc/raddb/users - echo ' Service-Type = Framed-User,' >> /etc/raddb/users +# Make Backup of /etc/raddb/users and add testuser steve +/bin/cp /etc/raddb/users /etc/raddb/users.orig +echo 'steve Cleartext-Password := "centos"' >> /etc/raddb/users +echo ' Service-Type = Framed-User,' >> /etc/raddb/users - # Restart Service - service radiusd restart +# Restart Service +service radiusd restart - #Run test, treat C6 and C5 differently +#Run test, treat C6 and C5 differently if (t_GetPkgRel basesystem | grep -q el6) then @@ -31,18 +31,21 @@ else WORKING=$(radtest steve centos 127.0.0.1:1812 1 testing123 |grep -c 'Access-Accept') if [ $WORKING == 1 ]; then ret_val=0 ; fi fi - # Restore settings - /bin/cp /etc/raddb/users.orig /etc/raddb/users - rm -rf /etc/raddb/users.orig - service radiusd restart -if (t_GetPkgRel basesystem | grep -q el5) - then - sed -i 's/#\ INCLUDE\ eap\.conf/\ \ INCLUDE eap.conf/g' /etc/raddb/radiusd.conf - ln -s /etc/raddb/sites-available/control-socket /etc/raddb/sites-enabled/ - ln -s /etc/raddb/sites-available/inner-tunnel /etc/raddb/sites-enabled/ - /bin/cp -a /etc/raddb/sites-available/default.orig /etc/raddb/sites-available/default - rm -rf /etc/raddb/sites-available/default.orig - service radiusd stop -fi + +# Restore settings +/bin/cp /etc/raddb/users.orig /etc/raddb/users +rm -rf /etc/raddb/users.orig +service radiusd restart + +#if (t_GetPkgRel basesystem | grep -q el5) +# then +# +# sed -i 's/#\ INCLUDE\ eap\.conf/\ \ INCLUDE eap.conf/g' /etc/raddb/radiusd.conf +# ln -s /etc/raddb/sites-available/control-socket /etc/raddb/sites-enabled/ +# ln -s /etc/raddb/sites-available/inner-tunnel /etc/raddb/sites-enabled/ +# /bin/cp -a /etc/raddb/sites-available/default.orig /etc/raddb/sites-available/default +# rm -rf /etc/raddb/sites-available/default.orig +# service radiusd stop +#fi t_CheckExitStatus $ret_val