aboutsummaryrefslogtreecommitdiff
path: root/gd/cert/py_le_acl_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'gd/cert/py_le_acl_manager.py')
-rw-r--r--gd/cert/py_le_acl_manager.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/gd/cert/py_le_acl_manager.py b/gd/cert/py_le_acl_manager.py
index c52a5abbc..18ba9d34e 100644
--- a/gd/cert/py_le_acl_manager.py
+++ b/gd/cert/py_le_acl_manager.py
@@ -23,6 +23,7 @@ from cert.closable import Closable
from cert.closable import safeClose
from bluetooth_packets_python3 import hci_packets
from cert.truth import assertThat
+from datetime import timedelta
from hci.facade import le_acl_manager_facade_pb2 as le_acl_manager_facade
@@ -98,6 +99,14 @@ class PyLeAclManager(Closable):
self.listen_for_incoming_connections()
return self.complete_incoming_connection()
+ def wait_for_connection_fail(self, token):
+ assertThat(self.outgoing_connection_event_streams[token]).isNotNone()
+ event_stream = self.outgoing_connection_event_streams[token][0]
+ connection_fail = HciCaptures.LeConnectionCompleteCapture()
+ assertThat(event_stream).emits(connection_fail, timeout=timedelta(seconds=35))
+ complete = connection_fail.get()
+ assertThat(complete.GetStatus() == hci_packets.ErrorCode.CONNECTION_ACCEPT_TIMEOUT).isTrue()
+
def cancel_connection(self, token):
assertThat(token in self.outgoing_connection_event_streams).isTrue()
pair = self.outgoing_connection_event_streams.pop(token)
@@ -112,6 +121,14 @@ class PyLeAclManager(Closable):
self.next_token += 1
return token
+ def initiate_background_and_direct_connection(self, remote_addr):
+ assertThat(self.next_token in self.outgoing_connection_event_streams).isFalse()
+ self.outgoing_connection_event_streams[self.next_token] = EventStream(
+ self.le_acl_manager.CreateBackgroundAndDirectConnection(remote_addr)), remote_addr
+ token = self.next_token
+ self.next_token += 1
+ return token
+
def complete_connection(self, event_stream):
connection_complete = HciCaptures.LeConnectionCompleteCapture()
assertThat(event_stream).emits(connection_complete)