Added a test tool for proxy configuration (set-proxy)
authorTomasz Bursztyka <tomasz.bursztyka@nokia.com>
Mon, 11 Oct 2010 07:09:16 +0000 (10:09 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 11 Oct 2010 12:35:00 +0000 (14:35 +0200)
Makefile.am
test/set-proxy [new file with mode: 0755]

index 4e6ecf1..04189d7 100644 (file)
@@ -183,7 +183,7 @@ test_scripts = test/get-state test/list-profiles test/list-services \
                test/connect-vpn test/disconnect-vpn test/list-providers \
                test/monitor-manager test/test-counter test/set-ip-method \
                test/set-nameservers test/set-domains test/find-service \
-               test/get-services test/get-proxy-autoconfig \
+               test/get-services test/get-proxy-autoconfig test/set-proxy \
                test/enable-tethering test/disable-tethering test/backtrace
 
 if TEST
diff --git a/test/set-proxy b/test/set-proxy
new file mode 100755 (executable)
index 0000000..6b39cb4
--- /dev/null
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+
+if (len(sys.argv) < 2):
+       print "Usage:"
+       print "%s <service> direct" % (sys.argv[0])
+       print "%s <service> manual [servers=uri1,uri2,...] [excludes=host1,host2,...]" % (sys.argv[0])
+       print "%s <service> auto url=[pac-url]" % (sys.argv[0])
+       print "Example: %s service0 manual servers=proxy.example.com:8080" % sys.argv[0]
+       print "         This would set the proxy uri and the method to manual"
+       sys.exit(1)
+
+bus = dbus.SystemBus()
+path = "/profile/default/" + sys.argv[1]
+service = dbus.Interface(bus.get_object('org.moblin.connman', path),
+                                       'org.moblin.connman.Service')
+
+values = { "Method" : sys.argv[2] }
+
+properties = service.GetProperties()
+
+for arg in sys.argv[3:]:
+       if arg.startswith("url="):
+               url = arg.replace("url=", "", 1)
+               values["URL"] = url
+       if arg.startswith("servers="):
+               try:
+                       servers_uris = arg.replace("servers=","",1).split(",")
+               except:
+                       servers_uris = []
+               values["Servers"] = servers_uris
+       if arg.startswith("excludes="):
+               try:
+                       excludes_uris = arg.replace("excludes=","",1).split(",")
+               except:
+                       excludes_uris = []
+               values["Excludes"] = excludes_uris
+
+try:
+       service.SetProperty("Proxy.Configuration", dbus.Dictionary(values, signature='sv'))
+except dbus.exceptions.DBusException, e_msg:
+       print e_msg