summaryrefslogtreecommitdiffstats
path: root/test/test-stk-menu
diff options
context:
space:
mode:
authorGuillaume Lucas <guillaumex.lucas@intel.com>2010-12-21 14:24:56 +0000
committerDenis Kenzior <denkenz@gmail.com>2010-12-21 14:03:57 -0600
commit06912dff3d087ac27296f39adc1be0a8f1b4873b (patch)
treeb7270c9d95e9dc752169ed9d978c1eb0fb8849ac /test/test-stk-menu
parent67486801d02bae51c45bcfa1741d193fb3f9e431 (diff)
downloadofono-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-xtest/test-stk-menu101
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()