summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtest/test-call-forwarding122
-rwxr-xr-xtest/test-ss-control-cf78
2 files changed, 200 insertions, 0 deletions
diff --git a/test/test-call-forwarding b/test/test-call-forwarding
new file mode 100755
index 00000000..f4f30a28
--- /dev/null
+++ b/test/test-call-forwarding
@@ -0,0 +1,122 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+
+def property_changed(property, value):
+ print "CallForwarding property %s changed to %s" % (property, value)
+
+def print_properties(cf):
+ properties = cf.GetProperties()
+
+ for p in properties:
+ if len(properties[p].__str__()) > 0:
+ print "%s call forwarding rule is: %s" % (p, properties[p])
+ else:
+ print "%s call forwarding rule disabled" % (p)
+
+if __name__ == "__main__":
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+
+ try:
+ modems = manager.GetProperties()['Modems']
+ except dbus.DBusException, e:
+ print "Unable to get the modem list %s" % e
+
+ cf = dbus.Interface(bus.get_object('org.ofono', modems[0]),
+ 'org.ofono.CallForwarding')
+
+ cf.connect_to_signal("PropertyChanged", property_changed)
+
+ print_properties(cf)
+
+ try:
+ cf.SetProperty("FoobarNoReplyTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("VoiceNotReachableTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("VoiceNoReplyTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("DataNoReplyTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("FaxNoReplyTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("SmsNoReplyTimeout", dbus.UInt16(19))
+ except dbus.DBusException, e:
+ print "Unable to set timeout - Good"
+
+ try:
+ cf.SetProperty("VoiceNoReply", "")
+ except dbus.DBusException, e:
+ print "Unable to erase voice no reply rule - Bad"
+
+ try:
+ cf.SetProperty("VoiceNoReply", "+134444")
+ except dbus.DBusException, e:
+ print "Unable to register voice no reply rule - Bad"
+
+ try:
+ cf.SetProperty("VoiceNoReplyTimeout", dbus.UInt16(30))
+ except dbus.DBusException, e:
+ print "Unable to set voice no reply timeout - Bad"
+
+ properties = cf.GetProperties()
+
+ print properties["VoiceNoReply"]
+ print properties["VoiceNoReplyTimeout"]
+
+ try:
+ cf.SetProperty("VoiceUnconditional", "+155555")
+ except dbus.DBusException, e:
+ print "Unable to set Voice Unconditional - Bad"
+
+ properties = cf.GetProperties()
+
+ print properties["VoiceUnconditional"]
+
+ try:
+ cf.DisableAll("foobar")
+ except dbus.DBusException, e:
+ print "Unable to delete invalids - Good"
+
+ try:
+ cf.DisableAll("conditional")
+ except dbus.DBusException, e:
+ print "Unable to delete all conditional - Bad"
+
+ properties = cf.GetProperties()
+
+ print properties["VoiceNoReply"]
+ print properties["VoiceNoReplyTimeout"]
+
+ try:
+ cf.DisableAll("all")
+ except dbus.DBusException, e:
+ print "Unable to delete all conditional - Bad"
+
+ print properties["VoiceUnconditional"]
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()
diff --git a/test/test-ss-control-cf b/test/test-ss-control-cf
new file mode 100755
index 00000000..72db659b
--- /dev/null
+++ b/test/test-ss-control-cf
@@ -0,0 +1,78 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+
+def property_changed(property, value):
+ print "CallForwarding property %s changed to %s" % (property, value)
+
+def print_properties(cf):
+ properties = cf.GetProperties()
+
+ for p in properties:
+ if len(properties[p].__str__()) > 0:
+ value = properties[p]
+ else:
+ value = "disabled"
+
+ print "%s call forwarding rule: %s" % (p, value)
+
+if __name__ == "__main__":
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+
+ try:
+ modems = manager.GetProperties()['Modems']
+ except dbus.DBusException, e:
+ print "Unable to get the Modems property %s" % e
+
+ cf = dbus.Interface(bus.get_object('org.ofono', modems[0]),
+ 'org.ofono.CallForwarding')
+
+ cf.connect_to_signal("PropertyChanged", property_changed)
+
+ ss = dbus.Interface(bus.get_object('org.ofono', modems[0]),
+ 'org.ofono.SupplementaryServices')
+
+ # Clear everything
+ ss.Initiate("##002#")
+ print_properties(cf)
+
+ # Busy To +155542, for Voice
+ print "Setting Busy Voice rule to +155542"
+ print ss.Initiate("*67*+155542*11#")
+ print_properties(cf)
+
+ # Not Reachable to +155543, Voice
+ print "Setting Voice Not Reachable rule to +155543"
+ print ss.Initiate("**62*+155543*11#")
+
+ # Not Reachable to +155544, Voice service
+ print "Setting Voice No Reply rule to +155544, timeout=30"
+ print ss.Initiate("**61*+155544*11*30#")
+
+ # Unconditional to +155547, Voice
+ print "Setting Unconditional for Voice to +155545"
+ print ss.Initiate("*21*+155545*10#")
+
+ print_properties(cf)
+
+ print "Query all voice forwardings"
+ print ss.Initiate("*#002**11#")
+
+ print "Query no reply voice forwardings"
+ print ss.Initiate("*#61**11#")
+
+ # Deactivate everything
+ print "Deactivating everything"
+ print ss.Initiate("##002#")
+ print_properties(cf)
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()