modem: store / match received SMS
diff --git a/src/osmo_gsm_tester/ofono_client.py b/src/osmo_gsm_tester/ofono_client.py
index abf1de6..2b91230 100644
--- a/src/osmo_gsm_tester/ofono_client.py
+++ b/src/osmo_gsm_tester/ofono_client.py
@@ -48,6 +48,7 @@
class Modem(log.Origin):
'convenience for ofono Modem interaction'
msisdn = None
+ sms_received_list = None
def __init__(self, conf):
self.conf = conf
@@ -56,6 +57,7 @@
self.set_log_category(log.C_BUS)
self._dbus_obj = None
self._interfaces = set()
+ self.sms_received_list = []
test.poll()
def set_msisdn(self, msisdn):
@@ -153,10 +155,15 @@
return sms
def _on_incoming_message(self, message, info):
- self.log('Incoming SMS:', repr(message), **info)
+ self.log('Incoming SMS:', repr(message), info=info)
+ self.sms_received_list.append((message, info))
def sms_was_received(self, sms):
- pass
+ for msg, info in self.sms_received_list:
+ if sms.matches(msg):
+ self.log('SMS received as expected:', msg=msg, info=info)
+ return True
+ return False
class Sms:
_last_sms_idx = 0
@@ -176,9 +183,15 @@
def __str__(self):
return self.msg
+ def __repr__(self):
+ return repr(self.msg)
+
def __eq__(self, other):
if isinstance(other, Sms):
return self.msg == other.msg
return inself.msg == other
+ def matches(self, msg):
+ return self.msg == msg
+
# vim: expandtab tabstop=4 shiftwidth=4