Added Dbus method 'IsEapolEnabled'.
[platform/upstream/connman.git] / test / test-connman
index c0a462d..45a18d9 100755 (executable)
@@ -9,122 +9,64 @@ manager = dbus.Interface(bus.get_object("net.connman", "/"),
                                        "net.connman.Manager")
 
 if len(sys.argv) < 2:
-       print "Usage: %s <command>" % (sys.argv[0])
-       print ""
-       print "  state"
-       print "  services"
-       print "  apn <service> [apn]"
-       print "  passphrase <service> [passphrase]"
-       print "  autoconnect <service> [autoconnect]"
-       print "  connect <service>"
-       print "  disconnect <service>"
-       print "  remove <service>"
-       print ""
-       print "  scan [type]"
-       print "  enable <type>"
-       print "  disable <type>"
-       print "  offlinemode [on|off]"
+       print("Usage: %s <command>" % (sys.argv[0]))
+       print("")
+       print("  state")
+       print("  services")
+       print("  autoconnect <service> [autoconnect]")
+       print("  connect <service>")
+       print("  disconnect <service>")
+       print("  remove <service>")
+       print("")
+       print("  scan <type>")
+       print("  enable <type>")
+       print("  disable <type>")
+       print("  offlinemode [on|off]")
        sys.exit(1)
 
 def print_services(services):
-       for path in services:
-               service = dbus.Interface(bus.get_object("net.connman", path),
-                                               "net.connman.Service")
-
-               properties = service.GetProperties()
-
+       for path, properties in services:
                identifier = path[path.rfind("/") + 1:]
+               state = " "
+               autoconnect = "  "
 
                if properties["Favorite"] == dbus.Boolean(1):
                        favorite = "*"
+
+                       if properties["AutoConnect"] == dbus.Boolean(1):
+                               autoconnect = " A"
+                       else:
+                               autoconnect = "  "
+
+                       if properties["State"] == "ready":
+                               state = "R"
+                       elif properties["State"] == "online":
+                               state = "O"
                else:
                        favorite = " "
 
-               if "Name" in properties.keys():
+               if "Name" in list(properties.keys()):
                        name = properties["Name"]
                else:
                        name = "{" + properties["Type"] + "}"
 
-               print "%s %-26s { %s }" % (favorite, name, identifier)
+               print("%s%s%s %-26s { %s }" % (favorite, autoconnect, state,
+                                              name, identifier))
 
 if sys.argv[1] == "state":
        properties = manager.GetProperties()
 
-       print "System is %s" % (properties["State"])
+       print("System is %s" % (properties["State"]))
 
 elif sys.argv[1] in ["services", "list", "show"]:
-       properties = manager.GetProperties()
-
-       print_services(properties["Services"])
-
-elif sys.argv[1] in ["apn"]:
-       if (len(sys.argv) < 3):
-               print "Need at least service parameter"
-               sys.exit(1)
-
-       path = "/profile/default/" + sys.argv[2]
-
-       service = dbus.Interface(bus.get_object("net.connman", path),
-                                               "net.connman.Service")
-
-       if (len(sys.argv) > 3):
-               apn = sys.argv[3]
-
-               service.SetProperty("APN", apn);
-
-               print "APN %s set for %s" % (apn, sys.argv[2])
-       else:
-               properties = service.GetProperties()
-
-               if "Name" in properties.keys():
-                       name = properties["Name"]
-               else:
-                       name = "{" + properties["Type"] + "}"
-
-               if "APN" in properties.keys():
-                       apn = properties["APN"]
-               else:
-                       apn = "not set"
-
-               print "APN for %s is %s" % (name, apn)
-
-elif sys.argv[1] in ["passphrase", "pass"]:
-       if (len(sys.argv) < 3):
-               print "Need at least service parameter"
-               sys.exit(1)
-
-       path = "/profile/default/" + sys.argv[2]
-
-       service = dbus.Interface(bus.get_object("net.connman", path),
-                                               "net.connman.Service")
-
-       if (len(sys.argv) > 3):
-               passphrase = sys.argv[3]
-
-               service.SetProperty("Passphrase", passphrase);
-
-               print "Passphrase %s set for %s" % (passphrase, sys.argv[2])
-       else:
-               properties = service.GetProperties()
-
-               if "Name" in properties.keys():
-                       name = properties["Name"]
-               else:
-                       name = "{" + properties["Type"] + "}"
-
-               if "Passphrase" in properties.keys():
-                       passphrase = properties["Passphrase"]
-               else:
-                       passphrase = "not set"
-
-               print "Passphrase for %s is %s" % (name, passphrase)
+       print_services(manager.GetServices())
 
 elif sys.argv[1] in ["autoconnect", "autoconn"]:
        if (len(sys.argv) < 3):
-               print "Need at least service parameter"
+               print("Need at least service parameter")
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
        service = dbus.Interface(bus.get_object("net.connman", path),
                                                "net.connman.Service")
@@ -135,58 +77,58 @@ elif sys.argv[1] in ["autoconnect", "autoconn"]:
 
                service.SetProperty("AutoConnect", autoconnect);
 
-               print "Auto connect %s for %s" % (autoconnect, sys.argv[2])
+               print("Auto connect %s for %s" % (autoconnect, sys.argv[2]))
        else:
                properties = service.GetProperties()
 
-               if "Name" in properties.keys():
+               if "Name" in list(properties.keys()):
                        name = properties["Name"]
                else:
                        name = "{" + properties["Type"] + "}"
 
-               if "AutoConnect" in properties.keys():
+               if "AutoConnect" in list(properties.keys()):
                        autoconnect = properties["AutoConnect"]
                else:
                        autoconnect = dbus.Boolean(0)
 
-               print "Auto connect %s for %s" % (autoconnect, name)
+               print("Auto connect %s for %s" % (autoconnect, name))
 
 elif sys.argv[1] in ["connect", "conn"]:
        if (len(sys.argv) < 3):
-               print "Need at least service parameter"
+               print("Need at least service parameter")
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
        service = dbus.Interface(bus.get_object("net.connman", path),
                                                "net.connman.Service")
 
        try:
                service.Connect(timeout=60000)
-       except dbus.DBusException, error:
-               print "%s: %s" % (error._dbus_error_name, error.message)
+       except dbus.DBusException as error:
+               print("%s: %s" % (error._dbus_error_name, error.message))
 
 elif sys.argv[1] in ["disconnect", "disc"]:
        if (len(sys.argv) < 3):
-               print "Need at least service parameter"
+               print("Need at least service parameter")
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
        service = dbus.Interface(bus.get_object("net.connman", path),
                                                "net.connman.Service")
 
        try:
                service.Disconnect()
-       except dbus.DBusException, error:
-               print "%s: %s" % (error._dbus_error_name, error.message)
+       except dbus.DBusException as error:
+               print("%s: %s" % (error._dbus_error_name, error.message))
 
 elif sys.argv[1] in ["remove"]:
        if (len(sys.argv) < 3):
-               print "Need at least service parameter"
+               print("Need at least service parameter")
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
        service = dbus.Interface(bus.get_object("net.connman", path),
                                                "net.connman.Service")
@@ -194,44 +136,58 @@ elif sys.argv[1] in ["remove"]:
        properties = service.GetProperties()
 
        if properties["Favorite"] == dbus.Boolean(0):
-               print "Only favorite services can be removed"
+               print("Only favorite services can be removed")
                sys.exit(1)
 
        try:
                service.Remove()
-       except dbus.DBusException, error:
-               print "%s: %s" % (error._dbus_error_name, error.message)
+       except dbus.DBusException as error:
+               print("%s: %s" % (error._dbus_error_name, error.message))
 
 elif sys.argv[1] == "scan":
-       if len(sys.argv) > 2:
-               manager.RequestScan(sys.argv[2])
+       if len(sys.argv) == 3:
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Technology")
+               technology.Scan()
        else:
-               manager.RequestScan("")
+               print("'%s' takes two arguments" % sys.argv[1])
 
 elif sys.argv[1] == "enable":
-       if len(sys.argv) > 2:
-               manager.EnableTechnology(sys.argv[2])
+       if len(sys.argv) == 3:
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                           "net.connman.Technology")
+               technology.SetProperty("Powered", True)
        else:
-               manager.EnableTechnology("")
+               print("'%s' takes two arguments" % sys.argv[1])
 
 elif sys.argv[1] == "disable":
-       if len(sys.argv) > 2:
-               manager.DisableTechnology(sys.argv[2])
+       if len(sys.argv) == 3:
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                           "net.connman.Technology")
+               technology.SetProperty("Powered", False)
        else:
-               manager.DisableTechnology("")
+               print("'%s' takes two arguments" % sys.argv[1])
+
 
 elif sys.argv[1] in ["offlinemode", "flightmode"]:
-       if len(sys.argv) > 2:
-               if sys.argv[2] == "on":
+       if len(sys.argv) == 3:
+               if sys.argv[2] == "on" or sys.argv[2] == "1" or sys.argv[2] == "yes":
                        active = dbus.Boolean(1)
-               elif sys.argv[2] == "off":
+               elif sys.argv[2] == "off" or sys.argv[2] == "0" or sys.argv[2] == "no":
                        active = dbus.Boolean(0)
                else:
-                       active = dbus.Boolean(sys.argv[2])
+                       print("Use either 'on', '1', 'yes', 'off', '0' or 'no'")
+                       exit()
+
                manager.SetProperty("OfflineMode", active)
-       else:
+       elif len(sys.argv) == 2:
                properties = manager.GetProperties()
-               print "Offline mode is %s" % (properties["OfflineMode"])
+               print("Offline mode is %s" % (properties["OfflineMode"]))
+       else:
+               print("'%s' takes max. two arguments" % sys.argv[1])
 
 else:
-       print "Unknown command"
+       print("Unknown command")