Module: sip-router Branch: mariuszbihlei/p_usrloc Commit: 65a1229cb3a77eb2162bd7efddc15f92974fafd1 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=65a1229c...
Author: Marius Zbihlei marius.zbihlei@1and1.ro Committer: Marius Zbihlei marius.zbihlei@1and1.ro Date: Tue Jan 18 12:24:17 2011 +0200
test/unit improved p_usrloc test
---
test/unit/50.cfg | 3 +- test/unit/50.sh | 109 +++++++++++++++++++++-------------------------------- 2 files changed, 44 insertions(+), 68 deletions(-)
diff --git a/test/unit/50.cfg b/test/unit/50.cfg index 7a414a9..5970842 100644 --- a/test/unit/50.cfg +++ b/test/unit/50.cfg @@ -21,7 +21,6 @@ modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
loadmodule "p_usrloc" modparam("p_usrloc", "db_mode", 3) -modparam("p_usrloc", "db_url", "mysql://ser:ser@localhost/ser") modparam("p_usrloc", "read_db_url", "mysql://ser:ser@localhost/ser") modparam("p_usrloc", "write_db_url", "mysql://ser:ser@localhost/ser")
@@ -71,7 +70,7 @@ route{ sl_send_reply("404", "Not Found"); exit; } - append_hf("P-hint: usrloc applied\r\n"); + append_hf("P-hint: p_usrloc applied\r\n"); }
route(1); diff --git a/test/unit/50.sh b/test/unit/50.sh index 5865794..0b9fd4d 100755 --- a/test/unit/50.sh +++ b/test/unit/50.sh @@ -29,9 +29,11 @@ if ! (check_sipsak && check_kamailio && check_module "db_mysql" && check_mysql); exit 0 fi ;
+MYSQL_LOC_A="mysql loc_a --show-warnings --batch --user=ser --password=ser -e" +MYSQL_LOC_B="mysql loc_b --show-warnings --batch --user=ser --password=ser -e" cp $CFG $CFG.bak
-#$BIN -w . -f $CFG > /dev/null +$BIN -w . -f $CFG #> /dev/null ret=$?
sleep 1 @@ -40,84 +42,97 @@ sleep 1 echo "adding new contacts" sipsak -U -C sip:foobar@localhost -s sip:49721123456789@localhost -H localhost &> /dev/null sipsak -U -C sip:foobar1@localhost -s sip:49721123456789@localhost -H localhost &> /dev/null +sipsak -U -C sip:foobar2@localhost -s sip:49721123456790@localhost -H localhost &> /dev/null ret=$?
-sleep 100 +if [ ! "$ret" -eq 0 ]; then + echo "registration failed" +fi
if [ "$ret" -eq 0 ]; then - $CTL ul show | grep "AOR:: 49721123456789" &> /dev/null - ret=$? + TMP=`$MYSQL_LOC_A "select COUNT(*) from location where username='49721123456789';" | tail -n 1` + if [ "$TMP" -eq 0 ] ; then + TMP=`$MYSQL_LOC_B "select COUNT(*) from location where username='49721123456789';" | tail -n 1` + if [ "$TMP" -eq 0 ] ; then + echo "User 49721123456789 was NOT saved to either loc_a or loc_b" + ret=1 + fi + fi; fi;
if [ "$ret" -eq 0 ]; then - TMP=`$MYSQL "select COUNT(*) from location where username='49721123456789';" | tail -n 1` + TMP=`$MYSQL_LOC_A "select COUNT(*) from location where username='49721123456790';" | tail -n 1` if [ "$TMP" -eq 0 ] ; then - ret=1 + TMP=`$MYSQL_LOC_B "select COUNT(*) from location where username='49721123456790';" | tail -n 1` + if [ "$TMP" -eq 0 ] ; then + echo "User 49721123456790 was NOT saved to either loc_a or loc_b" + ret=1 + fi fi; fi;
+ if [ "$ret" -eq 0 ]; then - # check if the contact is registered - sipsak -U -C empty -s sip:49721123456789@127.0.0.1 -H localhost -q "Contact: sip:foobar@localhost" &> /dev/null + echo "check if the contact is registered" + sipsak -U -C empty -s sip:49721123456789@127.0.0.1 -H localhost -q "Contact: sip:foobar@localhost" #&> /dev/null ret=$? + echo "sipsak exited with status $ret" fi;
if [ "$ret" -eq 0 ]; then - # update the registration + echo "update the registration" sipsak -U -C sip:foobar@localhost -s sip:49721123456789@localhost -H localhost &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # check if we get a hint when we try to unregister a non-existent conctact + echo "check if we get a hint when we try to unregister a non-existent conctact" sipsak -U -C "sip:foobar2@localhost" -s sip:49721123456789@127.0.0.1 -H localhost -x 0 -q "Contact: sip:foobar@localhost" &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # unregister the contact + echo " unregister the contact" sipsak -U -C "sip:foobar@localhost" -s sip:49721123456789@127.0.0.1 -H localhost -x 0 &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # unregister the user again should not fail - sipsak -U -C "sip:foobar@localhost" -s sip:49721123456789@127.0.0.1 -H localhost -x 0 &> /dev/null + echo "unregister the user again should not fail" + sipsak -U -C "sip:foobar@localhost" -s sip:49721123456789@127.0.0.1 -H localhost -x 0 #&> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # check if the other contact is still registered + echo "check if the other contact is still registered" sipsak -U -C empty -s sip:49721123456789@127.0.0.1 -H localhost -q "Contact: sip:foobar1@localhost" &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # register the other again + echo " register the other again" sipsak -U -C sip:foobar@localhost -s sip:49721123456789@localhost -H localhost &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - # unregister all contacts + echo " unregister all contacts" sipsak -U -C "*" -s sip:49721123456789@127.0.0.1 -H localhost -x 0 &> /dev/null ret=$? fi;
if [ "$ret" -eq 0 ]; then - $CTL ul show | grep "AOR:: 49721123456789" > /dev/null - ret=$? - if [ "$ret" -eq 0 ]; then - ret=1 - else - ret=0 + executed=1 + ret=`$MYSQL_LOC_A "select COUNT(*) from location where username='49721123456789';" | tail -n 1` + if [ "$TMP" -eq 0 ] ; then + ret=`$MYSQL_LOC_B "select COUNT(*) from location where username='49721123456789';" | tail -n 1` fi; -fi ; - -if [ "$ret" -eq 0 ]; then - ret=`$MYSQL "select COUNT(*) from location where username='49721123456789';" | tail -n 1` fi;
+if [ "x$executed" == "x1" ]; then + echo "After un-registration user has $ret contacts " +fi + if [ "$ret" -eq 0 ]; then # test min_expires functionality sipsak -U -C sip:foobar@localhost -s sip:49721123456789@localhost -H localhost -x 2 &> /dev/null @@ -136,48 +151,10 @@ if [ "$ret" -eq 0 ]; then sipsak -U -e 9 -s sip:49721123456789@localhost -H localhost &> /dev/null fi;
-if [ "$ret" -eq 0 ]; then - # let the timer cleanup the previous registrations - sleep 3 - # and check - TMP=`$MYSQL "select COUNT(*) from location where username like '49721123456789%';" | tail -n 1` - if [ "$TMP" -eq 10 ] ; then - ret=0 - else - ret=1 - fi; -fi; - -$MYSQL "delete from location where username like '49721123456789%';"
-if [ "$ret" -eq 0 ]; then - # register again - sipsak -U -C sip:foobar@localhost -s sip:49721123456789@localhost -H localhost &> /dev/null - ret=$? -fi; - -$KILL - -# restart to test preload_udomain functionality -$BIN -w . -f $CFG > /dev/null -ret=$? - -sleep 1 - -if [ "$ret" -eq 0 ]; then - # check if the contact is still registered - sipsak -U -C empty -s sip:49721123456789@127.0.0.1 -H localhost -q "Contact: sip:foobar@localhost" &> /dev/null - ret=$? -fi; - -# check if the methods value is correct -if [ "$ret" -eq 0 ]; then - $CTL ul show | grep "Methods:: 4294967295" &> /dev/null - ret=$? -fi; +$MYSQL_LOC_A "delete from location where username like '497211234567%';" +$MYSQL_LOC_B "delete from location where username like '497211234567%';"
-# cleanup -$MYSQL "delete from location where username like '49721123456789%';"
$KILL