summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-11-09 19:48:59 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-11-09 19:49:32 +0100
commit4e71d22a80212397ef166f7081867635db79a2ef (patch)
tree161ee107a99287898e1b9a3b5a5c6801dbd7d296
parent4c7e84f080fb2ae5e40b3b36c50d23bc2902c54c (diff)
ofono: Beging with a baseclass for testing with the NITB
-rw-r--r--ofono-end-to-end/osmocom/modem.py7
-rw-r--r--ofono-end-to-end/osmocom/nitb_test.py50
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?