summaryrefslogtreecommitdiff
path: root/test/test-oob
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2011-04-08 11:37:54 +0200
committerJohan Hedberg <johan.hedberg@nokia.com>2011-04-14 20:02:29 +0300
commitf6a34aa79b36995707f4f6cf29393cbbe602ac47 (patch)
treeba6b9f2b72e4ead19d2973f0df221b94837ad7ee /test/test-oob
parent4e02012afe3f5aff73732a9ec6d1275543414c7e (diff)
downloadbluez-f6a34aa79b36995707f4f6cf29393cbbe602ac47.tar.gz
Add test/test-oob for testing Out Of Band pairing
This test utilizes D-Bus Out Of Band API so bluetoothd must be compiled with dbusoob plugin.
Diffstat (limited to 'test/test-oob')
-rwxr-xr-xtest/test-oob80
1 files changed, 80 insertions, 0 deletions
diff --git a/test/test-oob b/test/test-oob
new file mode 100755
index 000000000..3340c00c7
--- /dev/null
+++ b/test/test-oob
@@ -0,0 +1,80 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus.mainloop.glib
+
+def create_device_reply(device):
+ print "Pairing succeed!"
+ mainloop.quit()
+
+def create_device_error(error):
+ print "Pairing failed."
+ mainloop.quit()
+
+if __name__ == '__main__':
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ mainloop = gobject.MainLoop()
+
+ bus = dbus.SystemBus()
+ manager = dbus.Interface(bus.get_object("org.bluez", "/"),
+ "org.bluez.Manager")
+
+ adapter0_path = manager.FindAdapter("hci0")
+ adapter1_path = manager.FindAdapter("hci1")
+
+ adapter0 = dbus.Interface(bus.get_object("org.bluez", adapter0_path),
+ "org.bluez.Adapter")
+ adapter1 = dbus.Interface(bus.get_object("org.bluez", adapter1_path),
+ "org.bluez.Adapter")
+
+ adapter0_address = adapter0.GetProperties()["Address"]
+ adapter1_address = adapter1.GetProperties()["Address"]
+ print "Adapters:"
+ print " hci0: " + adapter0_address
+ print " hci1: " + adapter1_address
+ print
+
+ print "Removing any existing bond..."
+
+ try:
+ device = adapter0.FindDevice(adapter1_address)
+ adapter0.RemoveDevice(device)
+ except:
+ pass
+
+ try:
+ device = adapter1.FindDevice(adapter0_address)
+ adapter1.RemoveDevice(device)
+ except:
+ pass
+
+ print "Done."
+ print
+ print "Reading local Out of Band data..."
+
+ oob_adapter0 = dbus.Interface(bus.get_object("org.bluez",
+ adapter0_path), "org.bluez.OutOfBand")
+ oob_adapter1 = dbus.Interface(bus.get_object("org.bluez",
+ adapter1_path), "org.bluez.OutOfBand")
+
+ oob0 = oob_adapter0.ReadLocalData()
+ oob1 = oob_adapter1.ReadLocalData()
+
+ print "Done."
+ print
+ print "Exchanging Out of Band data..."
+
+ oob_adapter0.AddRemoteData(adapter1_address, oob1[0], oob1[1])
+ oob_adapter1.AddRemoteData(adapter0_address, oob0[0], oob0[1])
+
+ print "Done."
+ print
+ print "Starting to pair."
+ adapter1.CreatePairedDevice(adapter0_address, "/test/agent_oob",
+ "DisplayYesNo",
+ reply_handler=create_device_reply,
+ error_handler=create_device_error)
+
+ mainloop.run()