[sr-dev] git:mariuszbihlei/p_usrloc: test/unit improved p_usrloc test

Marius Zbihlei marius.zbihlei at 1and1.ro
Tue Jan 18 11:53:07 CET 2011


Module: sip-router
Branch: mariuszbihlei/p_usrloc
Commit: 65a1229cb3a77eb2162bd7efddc15f92974fafd1
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=65a1229cb3a77eb2162bd7efddc15f92974fafd1

Author: Marius Zbihlei <marius.zbihlei at 1and1.ro>
Committer: Marius Zbihlei <marius.zbihlei at 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 at localhost -s sip:49721123456789 at localhost -H localhost &> /dev/null
 sipsak -U -C sip:foobar1 at localhost -s sip:49721123456789 at localhost -H localhost &> /dev/null
+sipsak -U -C sip:foobar2 at localhost -s sip:49721123456790 at 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 at 127.0.0.1 -H localhost -q "Contact: <sip:foobar at localhost>" &> /dev/null
+	echo "check if the contact is registered"
+	sipsak -U -C empty -s sip:49721123456789 at 127.0.0.1 -H localhost -q "Contact: <sip:foobar at 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 at localhost -s sip:49721123456789 at 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 at localhost" -s sip:49721123456789 at 127.0.0.1 -H localhost -x 0 -q "Contact: <sip:foobar at localhost>" &> /dev/null
 	ret=$?
 fi;
 
 if [ "$ret" -eq 0 ]; then
-	# unregister the contact
+	echo " unregister the contact"
 	sipsak -U -C "sip:foobar at localhost" -s sip:49721123456789 at 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 at localhost" -s sip:49721123456789 at 127.0.0.1 -H localhost -x 0 &> /dev/null
+	echo "unregister the user again should not fail"
+	sipsak -U -C "sip:foobar at localhost" -s sip:49721123456789 at 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 at 127.0.0.1 -H localhost -q "Contact: <sip:foobar1 at localhost>" &> /dev/null
 	ret=$?
 fi;
 
 if [ "$ret" -eq 0 ]; then
-	# register the other again
+	echo " register the other again"
 	sipsak -U -C sip:foobar at localhost -s sip:49721123456789 at 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 at 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 at localhost -s sip:49721123456789 at localhost -H localhost -x 2 &> /dev/null
@@ -136,48 +151,10 @@ if [ "$ret" -eq 0 ]; then
 	sipsak -U -e 9 -s sip:49721123456789 at 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 at localhost -s sip:49721123456789 at 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 at 127.0.0.1 -H localhost -q "Contact: <sip:foobar at 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
 




More information about the sr-dev mailing list