add CTRL tests for enable-/disable-/status-ps

Change-Id: I014437db9c0f15d818e04810f6cb14bf475ee002
This commit is contained in:
Neels Hofmeyr 2017-09-25 23:23:57 +02:00
parent f95ce04cbd
commit f88c914efd
2 changed files with 55 additions and 0 deletions

View File

@ -163,6 +163,46 @@ class TestCtrlBase(unittest.TestCase):
return responses
class TestCtrlHLR(TestCtrlBase):
HLR_DB = 'hlr_ctrl_test.db'
HLR_SQL = '%s/sql/hlr.sql' % confpath
HLR_TEST_SQL = '%s/tests/test_subscriber.sql' % confpath
def setUp(self):
print('\n')
print(os.getcwd())
assert subprocess.call('sqlite3 %s < %s' % (self.HLR_DB, self.HLR_SQL), shell=True) == 0
assert subprocess.call('sqlite3 %s < %s' % (self.HLR_DB, self.HLR_TEST_SQL), shell=True) == 0
super(TestCtrlHLR, self).setUp()
def tearDown(self):
super(TestCtrlHLR, self).tearDown()
os.unlink("hlr_ctrl_test.db")
def ctrl_command(self):
return ["./src/osmo-hlr", "-c", "doc/examples/osmo-hlr.cfg", '-l', 'hlr_ctrl_test.db']
def ctrl_app(self):
return (4259, "./src/osmo-hlr", "OsmoHLR", "hlr")
def testCtrlErrs(self):
r = self.do_get('invalid')
self.assertEquals(r['mtype'], 'ERROR')
self.assertEquals(r['error'], 'Command not found')
def testEnableDisablePs(self):
self.assert_set('enable-ps', '901990000000001', 'OK')
self.assert_set('status-ps', '901990000000001', '1')
self.assert_set('enable-ps', '901990000000001', 'OK')
self.assert_set('status-ps', '901990000000001', '1')
self.assert_set('disable-ps', '901990000000001', 'OK')
self.assert_set('status-ps', '901990000000001', '0')
self.assert_set('disable-ps', '901990000000001', 'OK')
self.assert_set('status-ps', '901990000000001', '0')
self.assert_set('enable-ps', '901990000000001', 'OK')
self.assert_set('status-ps', '901990000000001', '1')
if __name__ == '__main__':
import argparse
import sys
@ -193,6 +233,8 @@ if __name__ == '__main__':
os.chdir(workdir)
print "Running tests for specific control commands"
suite = unittest.TestSuite()
test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlHLR)
suite.addTest(test)
res = unittest.TextTestRunner(verbosity=verbose_level).run(suite)
sys.exit(len(res.errors) + len(res.failures))

13
tests/test_subscriber.sql Normal file
View File

@ -0,0 +1,13 @@
-- 2G only subscriber
INSERT INTO subscriber (id, imsi) VALUES (1, '901990000000001');
INSERT INTO auc_2g (subscriber_id, algo_id_2g, ki) VALUES (1, 1, '000102030405060708090a0b0c0d0e0f');
-- 3G only subscriber
INSERT INTO subscriber (id, imsi) VALUES (2, '901990000000002');
INSERT INTO auc_3g (subscriber_id, algo_id_3g, k, opc, sqn) VALUES (2, 5, '000102030405060708090a0b0c0d0e0f', '101112131415161718191a1b1c1d1e1f', 0);
-- 2G + 3G subscriber
INSERT INTO subscriber (id, imsi) VALUES (3, '901990000000003');
INSERT INTO auc_2g (subscriber_id, algo_id_2g, ki) VALUES (3, 1, '000102030405060708090a0b0c0d0e0f');
INSERT INTO auc_3g (subscriber_id, algo_id_3g, k, opc, sqn) VALUES (3, 5, '000102030405060708090a0b0c0d0e0f', '101112131415161718191a1b1c1d1e1f', 0);