aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/tests/vty_test_runner.py
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2016-04-08 10:44:28 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2016-04-19 14:40:27 +0300
commit7be811ed95d004f92d98880bc8eaef6c28c3373d (patch)
tree5c43f66712d36d3717f6d8c460e0d24c413cfe9e /openbsc/tests/vty_test_runner.py
parent687f048ab04ed135eeb11deb29e6b4cb9727c27d (diff)
Add support of virtual networks for sending network name to ms depending on imsifairwaves/virt-net
Before sending mm info message to ms: - try to find virtual network with the imsi prefix which matches subscriber's imsi - if virtual network was found, use long and short network names of this virtual network for subscriber - if virtual network was not found, use long and short network names of main network for subscriber
Diffstat (limited to 'openbsc/tests/vty_test_runner.py')
-rw-r--r--openbsc/tests/vty_test_runner.py42
1 files changed, 41 insertions, 1 deletions
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index ecf5204a4..03fdf45e0 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -133,6 +133,9 @@ class TestVTYGenericBSC(TestVTYBase):
self.assertTrue(self.vty.verify("network",['']))
self.assertEquals(self.vty.node(), 'config-net')
self.checkForEndAndExit()
+ self.assertTrue(self.vty.verify("virtual-network 0",['']))
+ self.assertEquals(self.vty.node(), 'config-net-virt')
+ self.checkForEndAndExit()
self.assertTrue(self.vty.verify("bts 0",['']))
self.assertEquals(self.vty.node(), 'config-net-bts')
self.checkForEndAndExit()
@@ -154,6 +157,12 @@ class TestVTYGenericBSC(TestVTYBase):
self.assertEquals(self.vty.node(), 'config-net-bts')
self.assertTrue(self.vty.verify("exit",['']))
self.assertEquals(self.vty.node(), 'config-net')
+ self.assertTrue(self.vty.verify("virtual-network 1",['']))
+ self.assertEquals(self.vty.node(), 'config-net-virt')
+ self.checkForEndAndExit()
+ self.vty.command("write terminal")
+ self.assertTrue(self.vty.verify("exit",['']))
+ self.assertEquals(self.vty.node(), 'config-net')
self.assertTrue(self.vty.verify("exit",['']))
self.assertEquals(self.vty.node(), 'config')
self.assertTrue(self.vty.verify("exit",['']))
@@ -307,6 +316,38 @@ class TestVTYNITB(TestVTYGenericBSC):
if classNum != 10:
self.assertEquals(res.find("rach access-control-class " + str(classNum) + " barred"), -1)
+ def testVirtualNetworks(self):
+ self.vty.enable()
+ self.vty.command("configure terminal")
+ self.vty.command("network")
+ self.vty.command("virtual-network 0")
+
+ # Test invalid input
+ self.vty.verify("imsi-prefix 1234567abcd89", ['% PREFIX has to be numeric'])
+ self.vty.verify("name short Test Net", ['% Unknown command.'])
+ self.vty.verify("name long Test Network", ['% Unknown command.'])
+
+ # Set virtual-networks
+ self.vty.verify("imsi-prefix 00202", [''])
+ self.vty.verify("name short TestNet2", [''])
+ self.vty.verify("name long TestNetwork2", [''])
+ self.vty.verify("exit",[''])
+ self.vty.command("virtual-network 1")
+ self.vty.verify("imsi-prefix 00303300", [''])
+ self.vty.verify("name short TestNet3", [''])
+ self.vty.verify("name long TestNetwork3", [''])
+
+ # Verify settings
+ res = self.vty.command("write terminal")
+ self.assert_(res.find('virtual-network 0') > 0)
+ self.assert_(res.find('imsi-prefix 00202') > 0)
+ self.assert_(res.find('name short TestNet2') > 0)
+ self.assert_(res.find('name long TestNetwork2') > 0)
+ self.assert_(res.find('virtual-network 1') > 0)
+ self.assert_(res.find('imsi-prefix 00303300') > 0)
+ self.assert_(res.find('name short TestNet3') > 0)
+ self.assert_(res.find('name long TestNetwork3') > 0)
+
def testSubscriberCreateDeleteTwice(self):
"""
OS#1657 indicates that there might be an issue creating the
@@ -342,7 +383,6 @@ class TestVTYNITB(TestVTYGenericBSC):
res = self.vty.command('show subscriber imsi '+imsi)
self.assert_(res != '% No subscriber found for imsi '+imsi)
-
def testSubscriberCreateDelete(self):
self.vty.enable()