ms: Fix and use ms msisdn() getter

The getter method was named the same as the itnernal field, and hence
when used it would fail since the intenral field would be sleect and
fail to be called.

Change-Id: I2f631eb6256eb0e065f41d5b7531395c4a054cd8
This commit is contained in:
Pau Espin 2020-10-14 14:48:21 +02:00
parent 92a29d6b7e
commit 4b7c585561
12 changed files with 35 additions and 35 deletions

View File

@ -125,7 +125,7 @@ class OsmoHlr(log.Origin):
try:
c = conn.cursor()
c.execute('insert into subscriber (id, imsi, msisdn) values (?, ?, ?)',
(subscriber_id, modem.imsi(), modem.msisdn,))
(subscriber_id, modem.imsi(), modem.msisdn(),))
c.execute('insert into auc_2g (subscriber_id, algo_id_2g, ki) values (?, ?, ?)',
(subscriber_id, algo, modem.ki(),))
conn.commit()

View File

@ -45,7 +45,7 @@ class MS(log.Origin, metaclass=ABCMeta):
def __init__(self, name, conf):
super().__init__(log.C_TST, name)
self._conf = conf
self.msisdn = None
self._msisdn = None
########################
# PUBLIC - INTERNAL API
@ -111,10 +111,10 @@ class MS(log.Origin, metaclass=ABCMeta):
return self._conf.get('auth_algo', None)
def set_msisdn(self, msisdn):
self.msisdn = msisdn
self._msisdn = msisdn
def msisdn(self):
return self.msisdn
return self._msisdn
def get_counter(self, counter_name):
raise log.Error('get_counter() not implemented!')

View File

@ -706,12 +706,12 @@ class Modem(MS):
def sms_send(self, to_msisdn_or_modem, *tokens):
if isinstance(to_msisdn_or_modem, Modem):
to_msisdn = to_msisdn_or_modem.msisdn
to_msisdn = to_msisdn_or_modem.msisdn()
tokens = list(tokens)
tokens.append('to ' + to_msisdn_or_modem.name())
else:
to_msisdn = str(to_msisdn_or_modem)
msg = sms.Sms(self.msisdn, to_msisdn, 'from ' + self.name(), *tokens)
msg = sms.Sms(self.msisdn(), to_msisdn, 'from ' + self.name(), *tokens)
self.log('sending sms to MSISDN', to_msisdn, sms=msg)
mm = self.dbus.interface(I_SMS)
mm.SendMessage(to_msisdn, str(msg))
@ -743,7 +743,7 @@ class Modem(MS):
def call_dial(self, to_msisdn_or_modem):
if isinstance(to_msisdn_or_modem, Modem):
to_msisdn = to_msisdn_or_modem.msisdn
to_msisdn = to_msisdn_or_modem.msisdn()
else:
to_msisdn = str(to_msisdn_or_modem)
self.dbg('Dialing:', to_msisdn)
@ -766,7 +766,7 @@ class Modem(MS):
def call_wait_incoming(self, caller_msisdn_or_modem, timeout=60):
if isinstance(caller_msisdn_or_modem, Modem):
caller_msisdn = caller_msisdn_or_modem.msisdn
caller_msisdn = caller_msisdn_or_modem.msisdn()
else:
caller_msisdn = str(caller_msisdn_or_modem)
self.dbg('Waiting for incoming call from:', caller_msisdn)

View File

@ -68,14 +68,14 @@ while True:
elif 'sms'.startswith(cmd):
for mo in modems:
for mt in modems:
mo.sms_send(mt.msisdn, 'to ' + mt.name())
mo.sms_send(mt.msisdn(), 'to ' + mt.name())
elif cmd.startswith('call-list'):
if len(params) != 1 and len(params) != 2:
print('wrong format')
continue
for ms in modems:
if len(params) == 1 or str(ms.msisdn) == params[1]:
if len(params) == 1 or str(ms.msisdn()) == params[1]:
print('call-list: %r %r' % (ms.name(), ms.call_id_list()))
elif cmd.startswith('call-dial'):
@ -84,7 +84,7 @@ while True:
continue
src_msisdn, dst_msisdn = params[1:]
for mo in modems:
if str(mo.msisdn) == src_msisdn:
if str(mo.msisdn()) == src_msisdn:
print('dialing %s->%s' % (src_msisdn, dst_msisdn))
call_id = mo.call_dial(dst_msisdn)
print('dial success: call_id=%r' % call_id)
@ -95,7 +95,7 @@ while True:
continue
src_msisdn, dst_msisdn = params[1:]
for mt in modems:
if str(mt.msisdn) == dst_msisdn:
if str(mt.msisdn()) == dst_msisdn:
print('waiting for incoming %s->%s' % (src_msisdn, dst_msisdn))
call_id = mt.call_wait_incoming(src_msisdn)
print('incoming call success: call_id=%r' % call_id)
@ -106,7 +106,7 @@ while True:
continue
mt_msisdn, call_id = params[1:]
for mt in modems:
if str(mt.msisdn) == mt_msisdn:
if str(mt.msisdn()) == mt_msisdn:
print('answering %s %r' % (mt.name(), call_id))
mt.call_answer(call_id)
@ -116,7 +116,7 @@ while True:
continue
ms_msisdn, call_id = params[1:]
for ms in modems:
if str(ms.msisdn) == ms_msisdn:
if str(ms.msisdn()) == ms_msisdn:
print('hanging up %s %r' % (ms.name(), call_id))
ms.call_hangup(call_id)

View File

@ -45,7 +45,7 @@ def encryption_test_setup_run(enable_auth, algo):
hlr.subscriber_delete(ms)
print('KI changed: ' + bad_ki + " => " + good_ki)
ms.set_ki(good_ki)
hlr.subscriber_add(ms, ms.msisdn)
hlr.subscriber_add(ms, ms.msisdn())
print('Attempt connection with correct KI...')
else:
print('Attempt connection with wrong KI, should work as it is not used...')

View File

@ -45,14 +45,14 @@ while True:
elif 'sms'.startswith(cmd):
for mo in modems:
for mt in modems:
mo.sms_send(mt.msisdn, 'to ' + mt.name())
mo.sms_send(mt.msisdn(), 'to ' + mt.name())
elif cmd.startswith('call-list'):
if len(params) != 1 and len(params) != 2:
print('wrong format')
continue
for ms in modems:
if len(params) == 1 or str(ms.msisdn) == params[1]:
if len(params) == 1 or str(ms.msisdn()) == params[1]:
print('call-list: %r %r' % (ms.name(), ms.call_id_list()))
elif cmd.startswith('call-dial'):
@ -61,7 +61,7 @@ while True:
continue
src_msisdn, dst_msisdn = params[1:]
for mo in modems:
if str(mo.msisdn) == src_msisdn:
if str(mo.msisdn()) == src_msisdn:
print('dialing %s->%s' % (src_msisdn, dst_msisdn))
call_id = mo.call_dial(dst_msisdn)
print('dial success: call_id=%r' % call_id)
@ -72,7 +72,7 @@ while True:
continue
src_msisdn, dst_msisdn = params[1:]
for mt in modems:
if str(mt.msisdn) == dst_msisdn:
if str(mt.msisdn()) == dst_msisdn:
print('waiting for incoming %s->%s' % (src_msisdn, dst_msisdn))
call_id = mt.call_wait_incoming(src_msisdn)
print('incoming call success: call_id=%r' % call_id)
@ -83,7 +83,7 @@ while True:
continue
mt_msisdn, call_id = params[1:]
for mt in modems:
if str(mt.msisdn) == mt_msisdn:
if str(mt.msisdn()) == mt_msisdn:
print('answering %s %r' % (mt.name(), call_id))
mt.call_answer(call_id)
@ -93,7 +93,7 @@ while True:
continue
ms_msisdn, call_id = params[1:]
for ms in modems:
if str(ms.msisdn) == ms_msisdn:
if str(ms.msisdn()) == ms_msisdn:
print('hanging up %s %r' % (ms.name(), call_id))
ms.call_hangup(call_id)

View File

@ -27,13 +27,13 @@ wait(nitb.bts_is_connected, bts)
esme.connect()
nitb.subscriber_add(ms)
wrong_msisdn = ms.msisdn + esme.msisdn
wrong_msisdn = ms.msisdn() + esme.msisdn
print('sending sms with wrong msisdn %s, it will fail' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_STOREFORWARD)
print('sending sms, it will be stored...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send not-yet-registered message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send not-yet-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('MS registers and will receive the SMS...')
@ -45,7 +45,7 @@ print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
print('checking MS can receive SMS while registered...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send already-registered message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send already-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)

View File

@ -32,16 +32,16 @@ wait(ms.is_registered, nitb.mcc_mnc())
wait(nitb.subscriber_attached, ms)
print('sending first sms...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send message')
esme.sms_send(msg, esme.MSGMODE_TRANSACTION)
wait(ms.sms_was_received, msg)
print('sending second sms (unicode chars not in gsm aplhabet)...')
msg = Sms(esme.msisdn, ms.msisdn, 'chars:[кизаçйж]')
msg = Sms(esme.msisdn, ms.msisdn(), 'chars:[кизаçйж]')
esme.sms_send(msg, esme.MSGMODE_TRANSACTION)
wait(ms.sms_was_received, msg)
wrong_msisdn = ms.msisdn + esme.msisdn
wrong_msisdn = ms.msisdn() + esme.msisdn
print('sending third sms (with wrong msisdn %s)' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_TRANSACTION)

View File

@ -34,4 +34,4 @@ sleep(10)
print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
assert ' ' + ms.msisdn + '\r' in response
assert ' ' + ms.msisdn() + '\r' in response

View File

@ -37,7 +37,7 @@ wait(bsc.bts_is_connected, bts)
esme.connect()
hlr.subscriber_add(ms)
wrong_msisdn = ms.msisdn + esme.msisdn
wrong_msisdn = ms.msisdn() + esme.msisdn
print('sending sms with wrong msisdn %s, it will be stored but not delivered' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
# Since osmo-msc 1e67fea7ba5c6336, we accept all sms in store&forward mode without looking at HLR
@ -45,7 +45,7 @@ msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
umref_wrong = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('sending sms, it will be stored...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send not-yet-registered message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send not-yet-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('MS registers and will receive the SMS...')
@ -57,7 +57,7 @@ print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
print('checking MS can receive SMS while registered...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send already-registered message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send already-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)

View File

@ -42,16 +42,16 @@ wait(ms.is_registered, msc.mcc_mnc())
wait(msc.subscriber_attached, ms)
print('sending first sms...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send message')
msg = Sms(esme.msisdn, ms.msisdn(), 'smpp send message')
esme.sms_send(msg, esme.MSGMODE_TRANSACTION)
wait(ms.sms_was_received, msg)
print('sending second sms (unicode chars not in gsm aplhabet)...')
msg = Sms(esme.msisdn, ms.msisdn, 'chars:[кизаçйж]')
msg = Sms(esme.msisdn, ms.msisdn(), 'chars:[кизаçйж]')
esme.sms_send(msg, esme.MSGMODE_TRANSACTION)
wait(ms.sms_was_received, msg)
wrong_msisdn = ms.msisdn + esme.msisdn
wrong_msisdn = ms.msisdn() + esme.msisdn
print('sending third sms (with wrong msisdn %s)' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_TRANSACTION)

View File

@ -47,4 +47,4 @@ sleep(10)
print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
log('got ussd response: %r' % repr(response))
assert response.endswith(' ' + ms.msisdn)
assert response.endswith(' ' + ms.msisdn())