test: Add new script for SS GCF test cases
authorGuillaume Zajac <guillaume.zajac@linux.intel.com>
Wed, 30 May 2012 08:28:16 +0000 (10:28 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Wed, 30 May 2012 13:50:21 +0000 (08:50 -0500)
This script uses dynamic SS codes in input and
displays answers to the different requests.
It handles all SS: call barring, call forwarding,
call waiting, CLIP, CLIR, ...

Makefile.am
test/test-ss [new file with mode: 0755]

index 56fa75a..f4bca7f 100644 (file)
@@ -558,6 +558,7 @@ test_scripts = test/backtrace \
                test/test-network-registration \
                test/test-phonebook \
                test/test-cbs \
+               test/test-ss \
                test/test-ss-control-cb \
                test/test-ss-control-cf \
                test/test-ss-control-cs \
diff --git a/test/test-ss b/test/test-ss
new file mode 100755 (executable)
index 0000000..d5488d7
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+
+bus = dbus.SystemBus()
+
+manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+                                               'org.ofono.Manager')
+
+modems = manager.GetModems()
+modem = modems[0][0]
+
+if (len(sys.argv) == 2):
+       ss_code = sys.argv[1]
+else:
+       modem = sys.argv[1]
+       ss_code = sys.argv[2]
+
+ss = dbus.Interface(bus.get_object('org.ofono', modem),
+                               'org.ofono.SupplementaryServices')
+
+try:
+       ss_type, properties = ss.Initiate(ss_code, timeout=100)
+except dbus.DBusException, e:
+       print "Unable to perform operation: ", e
+       sys.exit(1);
+
+if (ss_type == "CallBarring"):
+       print "%s : Operation [ %s ] Service Type [ %s ]" % (ss_type, properties[0], properties[1])
+       for key in properties[2]:
+               print "%s : %s" % (key, properties[2][key])
+elif (ss_type == "CallForwarding"):
+       print "%s : Operation [ %s ] Service Type [ %s ]" % (ss_type, properties[0], properties[1])
+       for key in properties[2]:
+               print "%s : %s" % (key, properties[2][key])
+elif (ss_type == "CallWaiting"):
+       print "%s : Operation [ %s ]" % (ss_type, properties[0])
+       for key in properties[1]:
+               print "%s : %s" % (key, properties[1][key])
+else:
+       print "%s : Operation [ %s ] Status [ %s ]" % (ss_type, properties[0], properties[1])