summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am3
-rwxr-xr-xtest/disable-call-forwarding53
2 files changed, 55 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 7dcf7a9d..ce4799e4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -464,7 +464,8 @@ test_scripts = test/backtrace \
test/set-call-forwarding \
test/cdma-list-call \
test/cdma-dial-number \
- test/cdma-hangup
+ test/cdma-hangup \
+ test/disable-call-forwarding
if TEST
testdir = $(pkglibdir)/test
diff --git a/test/disable-call-forwarding b/test/disable-call-forwarding
new file mode 100755
index 00000000..ca0ba903
--- /dev/null
+++ b/test/disable-call-forwarding
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+import sys
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+
+def property_changed(property, value):
+ if len(value.__str__()) > 0:
+ print "CF property %s changed to %s" % (property, value)
+ else:
+ print "CF property %s changed to disabled" % (property)
+
+ if canexit:
+ mainloop.quit();
+
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ print "Usage: %s <type>" % (sys.argv[0])
+ print "Type can be: all, conditional"
+ sys.exit(1)
+
+ canexit = False
+
+ type = sys.argv[1]
+
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+
+ modems = manager.GetModems()
+
+ cf = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
+ 'org.ofono.CallForwarding')
+
+ cf.connect_to_signal("PropertyChanged", property_changed)
+
+ try:
+ cf.DisableAll(type, timeout = 100)
+ except dbus.DBusException, e:
+ print "Unable to DisableAll", e
+ sys.exit(1);
+
+ print "DisableAll successful"
+
+ canexit = True
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()