diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-11-09 19:48:59 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-11-09 19:49:32 +0100 |
commit | 4e71d22a80212397ef166f7081867635db79a2ef (patch) | |
tree | 161ee107a99287898e1b9a3b5a5c6801dbd7d296 | |
parent | 4c7e84f080fb2ae5e40b3b36c50d23bc2902c54c (diff) |
ofono: Beging with a baseclass for testing with the NITB
-rw-r--r-- | ofono-end-to-end/osmocom/modem.py | 7 | ||||
-rw-r--r-- | ofono-end-to-end/osmocom/nitb_test.py | 50 |
2 files changed, 57 insertions, 0 deletions
diff --git a/ofono-end-to-end/osmocom/modem.py b/ofono-end-to-end/osmocom/modem.py index f200acc..c80265e 100644 --- a/ofono-end-to-end/osmocom/modem.py +++ b/ofono-end-to-end/osmocom/modem.py @@ -74,6 +74,13 @@ class Modem(object): def sms(self): return sms.SmsManager(self.bus, self.name) + def register(self): + """Ask for the module to register""" + network = dbus.Interface( + self.bus.get_object('org.ofono', self.name), + 'org.ofono.NetworkRegistration') + network.Register() + def __repr__(self): return "<Modem('%s')>" % self.name diff --git a/ofono-end-to-end/osmocom/nitb_test.py b/ofono-end-to-end/osmocom/nitb_test.py new file mode 100644 index 0000000..af27b72 --- /dev/null +++ b/ofono-end-to-end/osmocom/nitb_test.py @@ -0,0 +1,50 @@ +# Copyright (C) 2012 Holger Hans Peter Freyther +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +import dbus, modem, openbsc + +class NitbTest(object): + """ + I help with testing NITB/pseudoMSC code. E.g. for call testing.. + and SMS.. + """ + def __init__(self, host): + self.host = host + self.socket = openbsc.NITBSocket(host) + + def setup(self): + # Get the modems.. now check which ones can be used for the + # test with a proper IMSI + self.modems = modem.detect_modems(dbus.SystemBus()) + self.avail_modems = [] + self.ext2mod = {} + self.mod2ext = {} + + for mod in self.modems: + imsi = mod.sim().imsi() + + if not self.socket.imsi_present(imsi): + print("Modem('%s') doesn't have a provisioned SIM" % mod.name) + continue + + self.avail_modems.add(mod) + ext = self.socket.extension(imsi) + self.ext2mod[ext] = mod + self.mod2ext[mod] = ext + + # Now register + mod.register() + + # TODO: Check if all modules are registered? |