[PATCH 2/2] Factor out ipaccess send routines

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

msuraev at sysmocom.de msuraev at sysmocom.de
Wed Apr 6 15:52:39 UTC 2016


From: Max <msuraev at sysmocom.de>

Introduce several python functions for sending various ipaccess
protocol messages. Convert existing test code to use them.
---
 openbsc/tests/vty_test_runner.py | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 8db0825..1c4ecb4 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -700,13 +700,13 @@ class TestVTYNAT(TestVTYGenericBSC):
         self.assertEqual(data, "\x00\x01\xfe\x04")
 
         print "Going to send ID_RESP response"
-        res = ussdSocket.send("\x00\x07\xfe\x05\x00\x04\x01\x6b\x65\x79")
+        res = ipa_send_resp(ussdSocket, "\x6b\x65\x79")
         self.assertEqual(res, 10)
 
         # initiating PING/PONG cycle to know, that the ID_RESP message has been processed
 
         print "Going to send PING request"
-        res = ussdSocket.send("\x00\x01\xfe\x00")
+        res = ipa_send_ping(ussdSocket)
         self.assertEqual(res, 4)
 
         print "Expecting PONG response"
@@ -971,6 +971,31 @@ def add_nat_test(suite, workdir):
     test = unittest.TestLoader().loadTestsFromTestCase(TestVTYNAT)
     suite.addTest(test)
 
+def ipa_send_pong(x, verbose = False):
+    if (verbose):
+        print "\tBSC -> NAT: PONG!"
+    return x.send("\x00\x01\xfe\x01")
+
+def ipa_send_ping(x, verbose = False):
+    if (verbose):
+        print "\tBSC -> NAT: PING?"
+    return x.send("\x00\x01\xfe\x00")
+
+def ipa_send_ack(x, verbose = False):
+    if (verbose):
+            print "\tBSC -> NAT: IPA ID ACK"
+    return x.send("\x00\x01\xfe\x06")
+
+def ipa_send_reset(x, verbose = False):
+    if (verbose):
+        print "\tBSC -> NAT: RESET"
+    return x.send("\x00\x12\xfd\x09\x00\x03\x05\x07\x02\x42\xfe\x02\x42\xfe\x06\x00\x04\x30\x04\x01\x20")
+
+def ipa_send_resp(x, tk, verbose = False):
+    if (verbose):
+        print "\tBSC -> NAT: IPA ID RESP"
+    return x.send("\x00\x07\xfe\x05\x00\x04\x01" + tk)
+
 def add_bsc_test(suite, workdir):
     if not os.path.isfile(os.path.join(workdir, "src/osmo-bsc/osmo-bsc")):
         print("Skipping the BSC test")
-- 
2.8.1




More information about the OpenBSC mailing list