Module: sip-router
Branch: mariuszbihlei/p_usrloc
Commit: 65a1229cb3a77eb2162bd7efddc15f92974fafd1
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=65a1229…
Author: Marius Zbihlei <marius.zbihlei(a)1and1.ro>
Committer: Marius Zbihlei <marius.zbihlei(a)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