diff options
author | Guillaume Lucas <guillaumex.lucas@intel.com> | 2010-12-21 14:24:56 +0000 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-12-21 14:03:57 -0600 |
commit | 06912dff3d087ac27296f39adc1be0a8f1b4873b (patch) | |
tree | b7270c9d95e9dc752169ed9d978c1eb0fb8849ac /test/test-stk-menu | |
parent | 67486801d02bae51c45bcfa1741d193fb3f9e431 (diff) | |
download | ofono-06912dff3d087ac27296f39adc1be0a8f1b4873b.tar.bz2 |
test: update STK test script for conformance
Update the STK test script to be able to use it for
conformance test. Using 'agent' as parameter the
script will now register a STK agent to be able to
handle unsolicited proactive command. Without any
parameter or with 'menu' the script will try to
display the STK main menu of the (U)SIM.
Diffstat (limited to 'test/test-stk-menu')
-rwxr-xr-x | test/test-stk-menu | 101 |
1 files changed, 76 insertions, 25 deletions
diff --git a/test/test-stk-menu b/test/test-stk-menu index 94d2d6b4..b396452d 100755 --- a/test/test-stk-menu +++ b/test/test-stk-menu @@ -13,6 +13,9 @@ class GoBack(dbus.DBusException): class EndSession(dbus.DBusException): _dbus_error_name = "org.ofono.Error.EndSession" +class Busy(dbus.DBusException): + _dbus_error_name = "org.ofono.Error.Busy" + class StkAgent(dbus.service.Object): exit_on_release = True @@ -30,9 +33,10 @@ class StkAgent(dbus.service.Object): in_signature="sya(sy)n", out_signature="y") def RequestSelection(self, title, icon, items, default): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) index = 0; for item in items: - print "%d. %s" % (index, item[0]) + print "%d. %s (icon: %d)" % (index, item[0], item[1]) index += 1 print "\nDefault: %d" % (default) @@ -48,14 +52,27 @@ class StkAgent(dbus.service.Object): @dbus.service.method("org.ofono.SimToolkitAgent", in_signature="syb", out_signature="") def DisplayText(self, title, icon, urgent): - print "DisplayText (%s, %s)" % (title, urgent) + print "DisplayText (%s)" % (title) + print "Icon: (%d)" % (icon) + print "Urgent: (%d)" % (urgent) + key = raw_input("Press return to clear ('t' terminates, " + "'b' goest back, 'n' busy):") + + if key == 'b': + raise GoBack("User wishes to go back") + elif key == 't': + raise EndSession("User wishes to terminate session") + elif key == 'n': + raise Busy("User wishes to simulate busy screen") @dbus.service.method("org.ofono.SimToolkitAgent", in_signature="sysyyb", out_signature="s") def RequestInput(self, title, icon, default, min_chars, max_chars, hide_typing): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) print "Default: (%s)" % (default) + print "Hide typing: (%s)" % (hide_typing) print "Enter characters, min: %d, max: %d:" % (min_chars, max_chars) userin = raw_input(""); @@ -67,7 +84,9 @@ class StkAgent(dbus.service.Object): def RequestDigits(self, title, icon, default, min_chars, max_chars, hide_typing): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) print "Default: (%s)" % (default) + print "Hide typing: (%s)" % (hide_typing) print "Enter digits, min: %d, max: %d:" % (min_chars, max_chars) userin = raw_input("'t' terminates, 'b' goes back:"); @@ -83,6 +102,7 @@ class StkAgent(dbus.service.Object): in_signature="sy", out_signature="s") def RequestKey(self, title, icon): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) key = raw_input("Enter Key (t, b):") if key == 'b': @@ -96,6 +116,7 @@ class StkAgent(dbus.service.Object): in_signature="sy", out_signature="s") def RequestDigit(self, title, icon): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) key = raw_input("Enter Digit (t, b):") if key == 'b': @@ -109,6 +130,7 @@ class StkAgent(dbus.service.Object): in_signature="sy", out_signature="b") def RequestConfirmation(self, title, icon): print "Title: (%s)" % (title) + print "Icon: (%d)" % (icon) key = raw_input("Enter Confirmation (t, b, y, n):") if key == 'b': @@ -124,6 +146,7 @@ class StkAgent(dbus.service.Object): in_signature="sy", out_signature="b") def ConfirmCallSetup(self, info, icon): print "Information: (%s)" % (info) + print "Icon: (%d)" % (icon) key = raw_input("Enter Confirmation (t, y, n):") if key == 't': @@ -141,14 +164,30 @@ class StkAgent(dbus.service.Object): @dbus.service.method("org.ofono.SimToolkitAgent", in_signature="ssy", out_signature="") def PlayTone(self, tone, text, icon): - print "playtone is %s" % (tone) + print "PlayTone: %s" % (tone) + print "Text: %s" % (text) + print "Icon: %d" % (icon) + + @dbus.service.method("org.ofono.SimToolkitAgent", + in_signature="ssy", out_signature="") + def LoopTone(self, tone, text, icon): + print "LoopTone: %s" % (tone) + print "Text: %s" % (text) + print "Icon: %d" % (icon) + key = raw_input("Press return to end before timeout (t):") - @dbus.service.method("org.ofono.SimToolkitAgent", - in_signature="ssy", out_signature="") - def LoopTone(self, tone, text, icon): - print "the loop tone is %s" % (tone) + if key == 't': + raise EndSession("User wishes to terminate session"); + +def property_changed(name, value): + print "SimToolKit property: %s changed to '%s'" % (name, value) if __name__ == '__main__': + if len(sys.argv) == 2: + mode = sys.argv[1] + else: + mode = 'menu' + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) bus = dbus.SystemBus() @@ -164,26 +203,38 @@ if __name__ == '__main__': stk = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.SimToolkit') - properties = stk.GetProperties() + stk.connect_to_signal("PropertyChanged", property_changed) - if "MainMenuTitle" in properties: - print "Main Menu:" - print "%s" % (properties["MainMenuTitle"]) - print "\n" - - if "MainMenu" in properties: - print "Items:" - index = 0 - for item in properties["MainMenu"]: - print "%d. %s" % (index, item[0]) - index += 1 - - path = "/test/agent" - agent = StkAgent(bus, path) + properties = stk.GetProperties() - select = int(raw_input("Enter Selection: ")) - stk.SelectItem(select, path) - print "Agent registered for session" + if mode == 'menu': + if "MainMenuTitle" in properties: + print "Main Menu:" + print "%s" % (properties["MainMenuTitle"]) + print "\n" + + if "MainMenu" in properties: + print "Items:" + index = 0 + for item in properties["MainMenu"]: + print "%d. %s" % (index, item[0]) + index += 1 + + path = "/test/agent" + agent = StkAgent(bus, path) + + select = int(raw_input("Enter Selection: ")) + stk.SelectItem(select, path) + elif mode == 'agent': + path = "/test/agent" + agent = StkAgent(bus, path) + + stk.RegisterAgent(path) + + print "Agent registered for session - Wait SIM ToolKit command..." + else: + print "%s [menu|agent]" % (sys.argv[0]) + exit(0) mainloop = gobject.MainLoop() mainloop.run() |