aboutsummaryrefslogtreecommitdiffstats
path: root/suites
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-09-13 15:07:27 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2018-09-17 10:57:50 +0000
commit43857809c1778792cc447fac89c4a0587098234d (patch)
tree386ef5d9e387a2431f16c9b003e2b6a895b0e07a /suites
parent99a6a419a263ae92466530fdf222071dd67f3705 (diff)
Sanitize existing suite names
When first suites were added, osmo-nitb was used. Then new tests using regular split components were added with "aoip_" prefix. At some point it was clear that osmo-nitb was being deprecated so new tests for split components were added without any prefix, as they are expected to be the default one. Since most current and future development is going to be done for split components, as well as new tests added, it makes sense to move the few old testsuites using osmo-nitb to have all "nitb_" prefix, while keeping the split component tests without prefix as it's the regular network topology. Change-Id: Idea2e053d337548e0e9b1b47441dbb262124f909
Diffstat (limited to 'suites')
-rwxr-xr-xsuites/aoip_sms/mo_mt_sms.py41
-rwxr-xr-xsuites/debug/interactive.py77
-rw-r--r--suites/debug/suite.conf5
-rwxr-xr-xsuites/encryption/register_a5_0_authopt.py (renamed from suites/aoip_encryption/register_a5_0_authopt.py)0
-rwxr-xr-xsuites/encryption/register_a5_0_authreq.py (renamed from suites/aoip_encryption/register_a5_0_authreq.py)0
-rwxr-xr-xsuites/encryption/register_a5_1_authreq.py (renamed from suites/aoip_encryption/register_a5_1_authreq.py)0
-rw-r--r--suites/encryption/suite.conf (renamed from suites/aoip_encryption/suite.conf)0
-rw-r--r--suites/nitb_debug/error.py (renamed from suites/debug/error.py)0
-rw-r--r--suites/nitb_debug/fail.py (renamed from suites/debug/fail.py)0
-rw-r--r--suites/nitb_debug/fail_raise.py (renamed from suites/debug/fail_raise.py)0
-rwxr-xr-xsuites/nitb_debug/interactive.py (renamed from suites/aoip_debug/interactive.py)77
-rw-r--r--suites/nitb_debug/pass.py (renamed from suites/debug/pass.py)0
-rw-r--r--suites/nitb_debug/suite.conf (renamed from suites/aoip_debug/suite.conf)5
-rwxr-xr-xsuites/nitb_netreg/register.py (renamed from suites/netreg/register.py)0
-rwxr-xr-xsuites/nitb_netreg/register_default.py (renamed from suites/netreg/register_default.py)0
-rw-r--r--suites/nitb_netreg/suite.conf (renamed from suites/netreg/suite.conf)0
-rwxr-xr-xsuites/nitb_smpp/esme_connect_policy_acceptall.py (renamed from suites/aoip_smpp/esme_connect_policy_acceptall.py)12
-rwxr-xr-xsuites/nitb_smpp/esme_connect_policy_closed.py (renamed from suites/aoip_smpp/esme_connect_policy_closed.py)14
-rwxr-xr-xsuites/nitb_smpp/esme_ms_sms_storeforward.py (renamed from suites/aoip_smpp/esme_ms_sms_storeforward.py)40
-rwxr-xr-xsuites/nitb_smpp/esme_ms_sms_transaction.py (renamed from suites/aoip_smpp/esme_ms_sms_transaction.py)32
-rw-r--r--suites/nitb_smpp/suite.conf (renamed from suites/aoip_smpp/suite.conf)2
-rwxr-xr-xsuites/nitb_sms/mo_mt_sms.py30
-rw-r--r--suites/nitb_sms/suite.conf (renamed from suites/aoip_sms/suite.conf)5
-rwxr-xr-xsuites/nitb_ussd/assert_extension.py (renamed from suites/aoip_ussd/assert_extension.py)33
-rw-r--r--suites/nitb_ussd/suite.conf (renamed from suites/aoip_ussd/suite.conf)5
-rwxr-xr-xsuites/smpp/esme_connect_policy_acceptall.py12
-rwxr-xr-xsuites/smpp/esme_connect_policy_closed.py14
-rwxr-xr-xsuites/smpp/esme_ms_sms_storeforward.py40
-rwxr-xr-xsuites/smpp/esme_ms_sms_transaction.py32
-rw-r--r--suites/smpp/suite.conf2
-rwxr-xr-xsuites/sms/mo_mt_sms.py35
-rw-r--r--suites/sms/suite.conf5
-rwxr-xr-xsuites/ussd/assert_extension.py33
-rw-r--r--suites/ussd/suite.conf5
34 files changed, 278 insertions, 278 deletions
diff --git a/suites/aoip_sms/mo_mt_sms.py b/suites/aoip_sms/mo_mt_sms.py
deleted file mode 100755
index 7654ea6..0000000
--- a/suites/aoip_sms/mo_mt_sms.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python3
-from osmo_gsm_tester.testenv import *
-
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms_mo = suite.modem()
-ms_mt = suite.modem()
-
-hlr.start()
-stp.start()
-msc.start()
-mgw_msc.start()
-mgw_bsc.start()
-
-bsc.bts_add(bts)
-bsc.start()
-
-bts.start()
-wait(bsc.bts_is_connected, bts)
-
-hlr.subscriber_add(ms_mo)
-hlr.subscriber_add(ms_mt)
-
-ms_mo.connect(msc.mcc_mnc())
-ms_mt.connect(msc.mcc_mnc())
-
-ms_mo.log_info()
-ms_mt.log_info()
-
-print('waiting for modems to attach...')
-wait(ms_mo.is_connected, msc.mcc_mnc())
-wait(ms_mt.is_connected, msc.mcc_mnc())
-wait(msc.subscriber_attached, ms_mo, ms_mt)
-
-sms = ms_mo.sms_send(ms_mt)
-wait(ms_mt.sms_was_received, sms)
diff --git a/suites/debug/interactive.py b/suites/debug/interactive.py
index 595cfd9..98bf174 100755
--- a/suites/debug/interactive.py
+++ b/suites/debug/interactive.py
@@ -1,23 +1,43 @@
#!/usr/bin/env python3
from osmo_gsm_tester.testenv import *
-
-print('use resources...')
-nitb = suite.nitb()
+hlr = suite.hlr()
bts = suite.bts()
+pcu = bts.pcu()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+ggsn = suite.ggsn()
+sgsn = suite.sgsn(hlr, ggsn)
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
+
modems = suite.modems(int(prompt('How many modems?')))
-print('start nitb and bts...')
-nitb.bts_add(bts)
-nitb.start()
+bsc.bts_add(bts)
+sgsn.bts_add(bts)
+
+hlr.start()
+stp.start()
+ggsn.start()
+sgsn.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+bsc.start()
+
bts.start()
-wait(nitb.bts_is_connected, bts)
+print('Waiting for bts to connect to bsc...')
+wait(bsc.bts_is_connected, bts)
+print('Waiting for bts to be ready...')
+wait(bts.ready_for_pcu)
+pcu.start()
for m in modems:
- nitb.subscriber_add(m)
- m.connect(nitb.mcc_mnc())
+ hlr.subscriber_add(m)
+ m.connect(msc.mcc_mnc())
while True:
- cmd = prompt('Enter command: (q)uit (s)ms (g)et-registered (w)ait-registered, call-list [<ms_msisdn>], call-dial <src_msisdn> <dst_msisdn>, call-wait-incoming <src_msisdn> <dst_msisdn>, call-answer <mt_msisdn> <call_id>, call-hangup <ms_msisdn> <call_id>, ussd <command>')
+ cmd = prompt('Enter command: (q)uit (s)ms (g)et-registered (w)ait-registered, call-list [<ms_msisdn>], call-dial <src_msisdn> <dst_msisdn>, call-wait-incoming <src_msisdn> <dst_msisdn>, call-answer <mt_msisdn> <call_id>, call-hangup <ms_msisdn> <call_id>, ussd <command>, data-attach, data-wait, data-detach, data-activate')
cmd = cmd.strip().lower()
if not cmd:
@@ -31,15 +51,15 @@ while True:
elif 'wait-registered'.startswith(cmd):
try:
for m in modems:
- wait(m.is_connected, nitb.mcc_mnc())
- wait(nitb.subscriber_attached, *modems)
+ wait(m.is_connected, msc.mcc_mnc())
+ wait(msc.subscriber_attached, *modems)
except Timeout:
print('Timeout while waiting for registration.')
elif 'get-registered'.startswith(cmd):
- print(nitb.imsi_list_attached())
+ print(msc.imsi_list_attached())
print('RESULT: %s' %
- ('All modems are registered.' if nitb.subscriber_attached(*modems)
+ ('All modems are registered.' if msc.subscriber_attached(*modems)
else 'Some modem(s) not registered yet.'))
elif 'sms'.startswith(cmd):
@@ -107,5 +127,34 @@ while True:
response = ms.ussd_send(ussd_cmd)
print('modem %s: response=%r' % (ms.name(), response))
+ elif cmd.startswith('data-attach'):
+ if len(params) != 1:
+ print('wrong format')
+ continue
+ for ms in modems:
+ print('modem %s: attach' % ms.name())
+ ms.attach()
+ wait(ms.is_attached)
+ print('modem %s: attached' % ms.name())
+
+ elif cmd.startswith('data-detach'):
+ if len(params) != 1:
+ print('wrong format')
+ continue
+ for ms in modems:
+ print('modem %s: detach' % ms.name())
+ ms.attach()
+ wait(lambda: not ms.is_attached())
+ print('modem %s: detached' % ms.name())
+
+ elif cmd.startswith('data-activate'):
+ if len(params) != 1:
+ print('wrong format')
+ continue
+ for ms in modems:
+ print('modem %s: activate' % ms.name())
+ response = ms.activate_context()
+ print('modem %s: response=%r' % (ms.name(), response))
+
else:
print('Unknown command: %s' % cmd)
diff --git a/suites/debug/suite.conf b/suites/debug/suite.conf
index adfc161..2f36e1d 100644
--- a/suites/debug/suite.conf
+++ b/suites/debug/suite.conf
@@ -1,10 +1,7 @@
resources:
ip_address:
- - times: 1
+ - times: 8
bts:
- times: 1
modem:
- times: 4
-
-defaults:
- timeout: 60s
diff --git a/suites/aoip_encryption/register_a5_0_authopt.py b/suites/encryption/register_a5_0_authopt.py
index acbbb1f..acbbb1f 100755
--- a/suites/aoip_encryption/register_a5_0_authopt.py
+++ b/suites/encryption/register_a5_0_authopt.py
diff --git a/suites/aoip_encryption/register_a5_0_authreq.py b/suites/encryption/register_a5_0_authreq.py
index 789ace5..789ace5 100755
--- a/suites/aoip_encryption/register_a5_0_authreq.py
+++ b/suites/encryption/register_a5_0_authreq.py
diff --git a/suites/aoip_encryption/register_a5_1_authreq.py b/suites/encryption/register_a5_1_authreq.py
index e7aa76c..e7aa76c 100755
--- a/suites/aoip_encryption/register_a5_1_authreq.py
+++ b/suites/encryption/register_a5_1_authreq.py
diff --git a/suites/aoip_encryption/suite.conf b/suites/encryption/suite.conf
index 18e94a3..18e94a3 100644
--- a/suites/aoip_encryption/suite.conf
+++ b/suites/encryption/suite.conf
diff --git a/suites/debug/error.py b/suites/nitb_debug/error.py
index 032e26c..032e26c 100644
--- a/suites/debug/error.py
+++ b/suites/nitb_debug/error.py
diff --git a/suites/debug/fail.py b/suites/nitb_debug/fail.py
index a2d9e3a..a2d9e3a 100644
--- a/suites/debug/fail.py
+++ b/suites/nitb_debug/fail.py
diff --git a/suites/debug/fail_raise.py b/suites/nitb_debug/fail_raise.py
index c30a4f5..c30a4f5 100644
--- a/suites/debug/fail_raise.py
+++ b/suites/nitb_debug/fail_raise.py
diff --git a/suites/aoip_debug/interactive.py b/suites/nitb_debug/interactive.py
index 98bf174..595cfd9 100755
--- a/suites/aoip_debug/interactive.py
+++ b/suites/nitb_debug/interactive.py
@@ -1,43 +1,23 @@
#!/usr/bin/env python3
from osmo_gsm_tester.testenv import *
-hlr = suite.hlr()
-bts = suite.bts()
-pcu = bts.pcu()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-ggsn = suite.ggsn()
-sgsn = suite.sgsn(hlr, ggsn)
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
+print('use resources...')
+nitb = suite.nitb()
+bts = suite.bts()
modems = suite.modems(int(prompt('How many modems?')))
-bsc.bts_add(bts)
-sgsn.bts_add(bts)
-
-hlr.start()
-stp.start()
-ggsn.start()
-sgsn.start()
-msc.start()
-mgw_msc.start()
-mgw_bsc.start()
-bsc.start()
-
+print('start nitb and bts...')
+nitb.bts_add(bts)
+nitb.start()
bts.start()
-print('Waiting for bts to connect to bsc...')
-wait(bsc.bts_is_connected, bts)
-print('Waiting for bts to be ready...')
-wait(bts.ready_for_pcu)
-pcu.start()
+wait(nitb.bts_is_connected, bts)
for m in modems:
- hlr.subscriber_add(m)
- m.connect(msc.mcc_mnc())
+ nitb.subscriber_add(m)
+ m.connect(nitb.mcc_mnc())
while True:
- cmd = prompt('Enter command: (q)uit (s)ms (g)et-registered (w)ait-registered, call-list [<ms_msisdn>], call-dial <src_msisdn> <dst_msisdn>, call-wait-incoming <src_msisdn> <dst_msisdn>, call-answer <mt_msisdn> <call_id>, call-hangup <ms_msisdn> <call_id>, ussd <command>, data-attach, data-wait, data-detach, data-activate')
+ cmd = prompt('Enter command: (q)uit (s)ms (g)et-registered (w)ait-registered, call-list [<ms_msisdn>], call-dial <src_msisdn> <dst_msisdn>, call-wait-incoming <src_msisdn> <dst_msisdn>, call-answer <mt_msisdn> <call_id>, call-hangup <ms_msisdn> <call_id>, ussd <command>')
cmd = cmd.strip().lower()
if not cmd:
@@ -51,15 +31,15 @@ while True:
elif 'wait-registered'.startswith(cmd):
try:
for m in modems:
- wait(m.is_connected, msc.mcc_mnc())
- wait(msc.subscriber_attached, *modems)
+ wait(m.is_connected, nitb.mcc_mnc())
+ wait(nitb.subscriber_attached, *modems)
except Timeout:
print('Timeout while waiting for registration.')
elif 'get-registered'.startswith(cmd):
- print(msc.imsi_list_attached())
+ print(nitb.imsi_list_attached())
print('RESULT: %s' %
- ('All modems are registered.' if msc.subscriber_attached(*modems)
+ ('All modems are registered.' if nitb.subscriber_attached(*modems)
else 'Some modem(s) not registered yet.'))
elif 'sms'.startswith(cmd):
@@ -127,34 +107,5 @@ while True:
response = ms.ussd_send(ussd_cmd)
print('modem %s: response=%r' % (ms.name(), response))
- elif cmd.startswith('data-attach'):
- if len(params) != 1:
- print('wrong format')
- continue
- for ms in modems:
- print('modem %s: attach' % ms.name())
- ms.attach()
- wait(ms.is_attached)
- print('modem %s: attached' % ms.name())
-
- elif cmd.startswith('data-detach'):
- if len(params) != 1:
- print('wrong format')
- continue
- for ms in modems:
- print('modem %s: detach' % ms.name())
- ms.attach()
- wait(lambda: not ms.is_attached())
- print('modem %s: detached' % ms.name())
-
- elif cmd.startswith('data-activate'):
- if len(params) != 1:
- print('wrong format')
- continue
- for ms in modems:
- print('modem %s: activate' % ms.name())
- response = ms.activate_context()
- print('modem %s: response=%r' % (ms.name(), response))
-
else:
print('Unknown command: %s' % cmd)
diff --git a/suites/debug/pass.py b/suites/nitb_debug/pass.py
index c07f079..c07f079 100644
--- a/suites/debug/pass.py
+++ b/suites/nitb_debug/pass.py
diff --git a/suites/aoip_debug/suite.conf b/suites/nitb_debug/suite.conf
index 2f36e1d..adfc161 100644
--- a/suites/aoip_debug/suite.conf
+++ b/suites/nitb_debug/suite.conf
@@ -1,7 +1,10 @@
resources:
ip_address:
- - times: 8
+ - times: 1
bts:
- times: 1
modem:
- times: 4
+
+defaults:
+ timeout: 60s
diff --git a/suites/netreg/register.py b/suites/nitb_netreg/register.py
index d5fbeb7..d5fbeb7 100755
--- a/suites/netreg/register.py
+++ b/suites/nitb_netreg/register.py
diff --git a/suites/netreg/register_default.py b/suites/nitb_netreg/register_default.py
index 545525d..545525d 100755
--- a/suites/netreg/register_default.py
+++ b/suites/nitb_netreg/register_default.py
diff --git a/suites/netreg/suite.conf b/suites/nitb_netreg/suite.conf
index 1bb1dbb..1bb1dbb 100644
--- a/suites/netreg/suite.conf
+++ b/suites/nitb_netreg/suite.conf
diff --git a/suites/aoip_smpp/esme_connect_policy_acceptall.py b/suites/nitb_smpp/esme_connect_policy_acceptall.py
index 168b4f3..904226b 100755
--- a/suites/aoip_smpp/esme_connect_policy_acceptall.py
+++ b/suites/nitb_smpp/esme_connect_policy_acceptall.py
@@ -6,11 +6,8 @@
from osmo_gsm_tester.testenv import *
-hlr = suite.hlr()
-mgw_msc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-smsc = msc.smsc
+nitb = suite.nitb()
+smsc = nitb.smsc
esme = suite.esme()
# Here we deliberately omit calling smsc.esme_add() to avoid having it included
@@ -18,10 +15,7 @@ esme = suite.esme()
smsc.set_smsc_policy(smsc.SMSC_POLICY_ACCEPT_ALL)
esme.set_smsc(smsc)
-stp.start()
-hlr.start()
-msc.start()
-mgw_msc.start()
+nitb.start()
# Due to accept-all policy, connect() should work even if we didn't previously
# configure the esme in the smsc, no matter the system_id / password we use.
diff --git a/suites/aoip_smpp/esme_connect_policy_closed.py b/suites/nitb_smpp/esme_connect_policy_closed.py
index 487e5a4..eaabb3d 100755
--- a/suites/aoip_smpp/esme_connect_policy_closed.py
+++ b/suites/nitb_smpp/esme_connect_policy_closed.py
@@ -11,13 +11,8 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVPASWD = 0x0000000E
SMPP_ESME_RINVSYSID = 0x0000000F
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-smsc = msc.smsc
-
+nitb = suite.nitb()
+smsc = nitb.smsc
esme = suite.esme()
esme_no_pwd = suite.esme()
esme_no_pwd.set_password('')
@@ -26,10 +21,7 @@ smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED)
smsc.esme_add(esme)
smsc.esme_add(esme_no_pwd)
-stp.start()
-hlr.start()
-msc.start()
-mgw_msc.start()
+nitb.start()
log('Test with correct credentials (no password)')
esme_no_pwd.connect()
diff --git a/suites/aoip_smpp/esme_ms_sms_storeforward.py b/suites/nitb_smpp/esme_ms_sms_storeforward.py
index 681bc29..391a040 100755
--- a/suites/aoip_smpp/esme_ms_sms_storeforward.py
+++ b/suites/nitb_smpp/esme_ms_sms_storeforward.py
@@ -12,46 +12,34 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVDSTADR = 0x0000000B
-hlr = suite.hlr()
+nitb = suite.nitb()
bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-bsc.bts_add(bts)
-
ms = suite.modem()
esme = suite.esme()
-msc.smsc.esme_add(esme)
-hlr.start()
-stp.start()
-msc.start()
-mgw_msc.start()
-mgw_bsc.start()
-bsc.start()
+print('start nitb and bts...')
+nitb.bts_add(bts)
+nitb.smsc.esme_add(esme)
+nitb.start()
bts.start()
-wait(bsc.bts_is_connected, bts)
+wait(nitb.bts_is_connected, bts)
esme.connect()
-hlr.subscriber_add(ms)
+nitb.subscriber_add(ms)
wrong_msisdn = ms.msisdn + esme.msisdn
-print('sending sms with wrong msisdn %s, it will be stored but not delivered' % wrong_msisdn)
+print('sending sms with wrong msisdn %s, it will fail' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
-# Since osmo-msc 1e67fea7ba5c6336, we accept all sms in store&forward mode without looking at HLR
-# esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_STOREFORWARD)
-umref_wrong = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
+esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_STOREFORWARD)
print('sending sms, it will be stored...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send not-yet-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('MS registers and will receive the SMS...')
-ms.connect(msc.mcc_mnc())
-wait(ms.is_connected, msc.mcc_mnc())
-wait(msc.subscriber_attached, ms)
+ms.connect(nitb.mcc_mnc())
+wait(ms.is_connected, nitb.mcc_mnc())
+wait(nitb.subscriber_attached, ms)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
@@ -62,8 +50,4 @@ umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
-
-print('Asserting the sms with wrong msisdn was not delivered', umref_wrong)
-assert not esme.receipt_was_received(umref_wrong)
-
esme.disconnect()
diff --git a/suites/aoip_smpp/esme_ms_sms_transaction.py b/suites/nitb_smpp/esme_ms_sms_transaction.py
index 16b01cc..adc9dae 100755
--- a/suites/aoip_smpp/esme_ms_sms_transaction.py
+++ b/suites/nitb_smpp/esme_ms_sms_transaction.py
@@ -10,36 +10,26 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVDSTADR = 0x0000000B
-hlr = suite.hlr()
+nitb = suite.nitb()
bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-bsc.bts_add(bts)
-
ms = suite.modem()
esme = suite.esme()
-msc.smsc.esme_add(esme)
-
-hlr.start()
-stp.start()
-msc.start()
-mgw_msc.start()
-mgw_bsc.start()
-bsc.start()
+
+print('start nitb and bts...')
+nitb.bts_add(bts)
+nitb.smsc.esme_add(esme)
+nitb.start()
bts.start()
-wait(bsc.bts_is_connected, bts)
+wait(nitb.bts_is_connected, bts)
esme.connect()
-hlr.subscriber_add(ms)
-ms.connect(msc.mcc_mnc())
+nitb.subscriber_add(ms)
+ms.connect(nitb.mcc_mnc())
ms.log_info()
print('waiting for modem to attach...')
-wait(ms.is_connected, msc.mcc_mnc())
-wait(msc.subscriber_attached, ms)
+wait(ms.is_connected, nitb.mcc_mnc())
+wait(nitb.subscriber_attached, ms)
print('sending first sms...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send message')
diff --git a/suites/aoip_smpp/suite.conf b/suites/nitb_smpp/suite.conf
index 61e7015..eb5dc01 100644
--- a/suites/aoip_smpp/suite.conf
+++ b/suites/nitb_smpp/suite.conf
@@ -1,6 +1,6 @@
resources:
ip_address:
- - times: 6 # msc, bsc, hlr, stp, mgw*2
+ - times: 1
bts:
- times: 1
modem:
diff --git a/suites/nitb_sms/mo_mt_sms.py b/suites/nitb_sms/mo_mt_sms.py
new file mode 100755
index 0000000..10897ff
--- /dev/null
+++ b/suites/nitb_sms/mo_mt_sms.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python3
+from osmo_gsm_tester.testenv import *
+
+nitb = suite.nitb()
+bts = suite.bts()
+ms_mo = suite.modem()
+ms_mt = suite.modem()
+
+print('start nitb and bts...')
+nitb.bts_add(bts)
+nitb.start()
+bts.start()
+wait(nitb.bts_is_connected, bts)
+
+nitb.subscriber_add(ms_mo)
+nitb.subscriber_add(ms_mt)
+
+ms_mo.connect(nitb.mcc_mnc())
+ms_mt.connect(nitb.mcc_mnc())
+
+ms_mo.log_info()
+ms_mt.log_info()
+
+print('waiting for modems to attach...')
+wait(ms_mo.is_connected, nitb.mcc_mnc())
+wait(ms_mt.is_connected, nitb.mcc_mnc())
+wait(nitb.subscriber_attached, ms_mo, ms_mt)
+
+sms = ms_mo.sms_send(ms_mt)
+wait(ms_mt.sms_was_received, sms)
diff --git a/suites/aoip_sms/suite.conf b/suites/nitb_sms/suite.conf
index 28a81ea..485402b 100644
--- a/suites/aoip_sms/suite.conf
+++ b/suites/nitb_sms/suite.conf
@@ -1,9 +1,12 @@
resources:
ip_address:
- - times: 6 # msc, bsc, hlr, stp, mgw*2
+ - times: 1
bts:
- times: 1
modem:
- times: 2
features:
- sms
+
+defaults:
+ timeout: 60s
diff --git a/suites/aoip_ussd/assert_extension.py b/suites/nitb_ussd/assert_extension.py
index 475de09..8ccab2d 100755
--- a/suites/aoip_ussd/assert_extension.py
+++ b/suites/nitb_ussd/assert_extension.py
@@ -3,36 +3,24 @@ from osmo_gsm_tester.testenv import *
USSD_COMMAND_GET_EXTENSION = '*#100#'
-hlr = suite.hlr()
+nitb = suite.nitb()
bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
ms = suite.modem()
-hlr.start()
-stp.start()
-msc.start()
-mgw_msc.start()
-mgw_bsc.start()
-
-bsc.bts_add(bts)
-bsc.start()
-
+print('start nitb and bts...')
+nitb.bts_add(bts)
+nitb.start()
bts.start()
-wait(bsc.bts_is_connected, bts)
-
-hlr.subscriber_add(ms)
+wait(nitb.bts_is_connected, bts)
-ms.connect(msc.mcc_mnc())
+nitb.subscriber_add(ms)
+ms.connect(nitb.mcc_mnc())
ms.log_info()
print('waiting for modems to attach...')
-wait(ms.is_connected, msc.mcc_mnc())
-wait(msc.subscriber_attached, ms)
+wait(ms.is_connected, nitb.mcc_mnc())
+wait(nitb.subscriber_attached, ms)
# ofono (qmi) currently changes state to 'registered' jut after sending
# 'Location Update Request', but before receiving 'Location Updating Accept'.
@@ -46,5 +34,4 @@ sleep(10)
print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
-log('got ussd response: %r' % repr(response))
-assert response.endswith(' ' + ms.msisdn)
+assert ' ' + ms.msisdn + '\r' in response
diff --git a/suites/aoip_ussd/suite.conf b/suites/nitb_ussd/suite.conf
index 460147a..232a5d8 100644
--- a/suites/aoip_ussd/suite.conf
+++ b/suites/nitb_ussd/suite.conf
@@ -1,9 +1,12 @@
resources:
ip_address:
- - times: 6 # msc, bsc, hlr, stp, mgw*2
+ - times: 1
bts:
- times: 1
modem:
- times: 1
features:
- ussd
+
+defaults:
+ timeout: 60s
diff --git a/suites/smpp/esme_connect_policy_acceptall.py b/suites/smpp/esme_connect_policy_acceptall.py
index 904226b..168b4f3 100755
--- a/suites/smpp/esme_connect_policy_acceptall.py
+++ b/suites/smpp/esme_connect_policy_acceptall.py
@@ -6,8 +6,11 @@
from osmo_gsm_tester.testenv import *
-nitb = suite.nitb()
-smsc = nitb.smsc
+hlr = suite.hlr()
+mgw_msc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+smsc = msc.smsc
esme = suite.esme()
# Here we deliberately omit calling smsc.esme_add() to avoid having it included
@@ -15,7 +18,10 @@ esme = suite.esme()
smsc.set_smsc_policy(smsc.SMSC_POLICY_ACCEPT_ALL)
esme.set_smsc(smsc)
-nitb.start()
+stp.start()
+hlr.start()
+msc.start()
+mgw_msc.start()
# Due to accept-all policy, connect() should work even if we didn't previously
# configure the esme in the smsc, no matter the system_id / password we use.
diff --git a/suites/smpp/esme_connect_policy_closed.py b/suites/smpp/esme_connect_policy_closed.py
index eaabb3d..487e5a4 100755
--- a/suites/smpp/esme_connect_policy_closed.py
+++ b/suites/smpp/esme_connect_policy_closed.py
@@ -11,8 +11,13 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVPASWD = 0x0000000E
SMPP_ESME_RINVSYSID = 0x0000000F
-nitb = suite.nitb()
-smsc = nitb.smsc
+hlr = suite.hlr()
+bts = suite.bts()
+mgw_msc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+smsc = msc.smsc
+
esme = suite.esme()
esme_no_pwd = suite.esme()
esme_no_pwd.set_password('')
@@ -21,7 +26,10 @@ smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED)
smsc.esme_add(esme)
smsc.esme_add(esme_no_pwd)
-nitb.start()
+stp.start()
+hlr.start()
+msc.start()
+mgw_msc.start()
log('Test with correct credentials (no password)')
esme_no_pwd.connect()
diff --git a/suites/smpp/esme_ms_sms_storeforward.py b/suites/smpp/esme_ms_sms_storeforward.py
index 391a040..681bc29 100755
--- a/suites/smpp/esme_ms_sms_storeforward.py
+++ b/suites/smpp/esme_ms_sms_storeforward.py
@@ -12,34 +12,46 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVDSTADR = 0x0000000B
-nitb = suite.nitb()
+hlr = suite.hlr()
bts = suite.bts()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
+bsc.bts_add(bts)
+
ms = suite.modem()
esme = suite.esme()
+msc.smsc.esme_add(esme)
-print('start nitb and bts...')
-nitb.bts_add(bts)
-nitb.smsc.esme_add(esme)
-nitb.start()
+hlr.start()
+stp.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+bsc.start()
bts.start()
-wait(nitb.bts_is_connected, bts)
+wait(bsc.bts_is_connected, bts)
esme.connect()
-nitb.subscriber_add(ms)
+hlr.subscriber_add(ms)
wrong_msisdn = ms.msisdn + esme.msisdn
-print('sending sms with wrong msisdn %s, it will fail' % wrong_msisdn)
+print('sending sms with wrong msisdn %s, it will be stored but not delivered' % wrong_msisdn)
msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
-esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_STOREFORWARD)
+# Since osmo-msc 1e67fea7ba5c6336, we accept all sms in store&forward mode without looking at HLR
+# esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send_wait_resp, msg, esme.MSGMODE_STOREFORWARD)
+umref_wrong = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('sending sms, it will be stored...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send not-yet-registered message')
umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
print('MS registers and will receive the SMS...')
-ms.connect(nitb.mcc_mnc())
-wait(ms.is_connected, nitb.mcc_mnc())
-wait(nitb.subscriber_attached, ms)
+ms.connect(msc.mcc_mnc())
+wait(ms.is_connected, msc.mcc_mnc())
+wait(msc.subscriber_attached, ms)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
@@ -50,4 +62,8 @@ umref = esme.sms_send_wait_resp(msg, esme.MSGMODE_STOREFORWARD, receipt=True)
wait(ms.sms_was_received, msg)
print('Waiting to receive and consume sms receipt with reference', umref)
wait(esme.receipt_was_received, umref)
+
+print('Asserting the sms with wrong msisdn was not delivered', umref_wrong)
+assert not esme.receipt_was_received(umref_wrong)
+
esme.disconnect()
diff --git a/suites/smpp/esme_ms_sms_transaction.py b/suites/smpp/esme_ms_sms_transaction.py
index adc9dae..16b01cc 100755
--- a/suites/smpp/esme_ms_sms_transaction.py
+++ b/suites/smpp/esme_ms_sms_transaction.py
@@ -10,26 +10,36 @@ from osmo_gsm_tester.testenv import *
SMPP_ESME_RINVDSTADR = 0x0000000B
-nitb = suite.nitb()
+hlr = suite.hlr()
bts = suite.bts()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
+bsc.bts_add(bts)
+
ms = suite.modem()
esme = suite.esme()
-
-print('start nitb and bts...')
-nitb.bts_add(bts)
-nitb.smsc.esme_add(esme)
-nitb.start()
+msc.smsc.esme_add(esme)
+
+hlr.start()
+stp.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+bsc.start()
bts.start()
-wait(nitb.bts_is_connected, bts)
+wait(bsc.bts_is_connected, bts)
esme.connect()
-nitb.subscriber_add(ms)
-ms.connect(nitb.mcc_mnc())
+hlr.subscriber_add(ms)
+ms.connect(msc.mcc_mnc())
ms.log_info()
print('waiting for modem to attach...')
-wait(ms.is_connected, nitb.mcc_mnc())
-wait(nitb.subscriber_attached, ms)
+wait(ms.is_connected, msc.mcc_mnc())
+wait(msc.subscriber_attached, ms)
print('sending first sms...')
msg = Sms(esme.msisdn, ms.msisdn, 'smpp send message')
diff --git a/suites/smpp/suite.conf b/suites/smpp/suite.conf
index eb5dc01..61e7015 100644
--- a/suites/smpp/suite.conf
+++ b/suites/smpp/suite.conf
@@ -1,6 +1,6 @@
resources:
ip_address:
- - times: 1
+ - times: 6 # msc, bsc, hlr, stp, mgw*2
bts:
- times: 1
modem:
diff --git a/suites/sms/mo_mt_sms.py b/suites/sms/mo_mt_sms.py
index 10897ff..7654ea6 100755
--- a/suites/sms/mo_mt_sms.py
+++ b/suites/sms/mo_mt_sms.py
@@ -1,30 +1,41 @@
#!/usr/bin/env python3
from osmo_gsm_tester.testenv import *
-nitb = suite.nitb()
+hlr = suite.hlr()
bts = suite.bts()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
ms_mo = suite.modem()
ms_mt = suite.modem()
-print('start nitb and bts...')
-nitb.bts_add(bts)
-nitb.start()
+hlr.start()
+stp.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+
+bsc.bts_add(bts)
+bsc.start()
+
bts.start()
-wait(nitb.bts_is_connected, bts)
+wait(bsc.bts_is_connected, bts)
-nitb.subscriber_add(ms_mo)
-nitb.subscriber_add(ms_mt)
+hlr.subscriber_add(ms_mo)
+hlr.subscriber_add(ms_mt)
-ms_mo.connect(nitb.mcc_mnc())
-ms_mt.connect(nitb.mcc_mnc())
+ms_mo.connect(msc.mcc_mnc())
+ms_mt.connect(msc.mcc_mnc())
ms_mo.log_info()
ms_mt.log_info()
print('waiting for modems to attach...')
-wait(ms_mo.is_connected, nitb.mcc_mnc())
-wait(ms_mt.is_connected, nitb.mcc_mnc())
-wait(nitb.subscriber_attached, ms_mo, ms_mt)
+wait(ms_mo.is_connected, msc.mcc_mnc())
+wait(ms_mt.is_connected, msc.mcc_mnc())
+wait(msc.subscriber_attached, ms_mo, ms_mt)
sms = ms_mo.sms_send(ms_mt)
wait(ms_mt.sms_was_received, sms)
diff --git a/suites/sms/suite.conf b/suites/sms/suite.conf
index 485402b..28a81ea 100644
--- a/suites/sms/suite.conf
+++ b/suites/sms/suite.conf
@@ -1,12 +1,9 @@
resources:
ip_address:
- - times: 1
+ - times: 6 # msc, bsc, hlr, stp, mgw*2
bts:
- times: 1
modem:
- times: 2
features:
- sms
-
-defaults:
- timeout: 60s
diff --git a/suites/ussd/assert_extension.py b/suites/ussd/assert_extension.py
index 8ccab2d..475de09 100755
--- a/suites/ussd/assert_extension.py
+++ b/suites/ussd/assert_extension.py
@@ -3,24 +3,36 @@ from osmo_gsm_tester.testenv import *
USSD_COMMAND_GET_EXTENSION = '*#100#'
-nitb = suite.nitb()
+hlr = suite.hlr()
bts = suite.bts()
+mgw_msc = suite.mgw()
+mgw_bsc = suite.mgw()
+stp = suite.stp()
+msc = suite.msc(hlr, mgw_msc, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
ms = suite.modem()
-print('start nitb and bts...')
-nitb.bts_add(bts)
-nitb.start()
+hlr.start()
+stp.start()
+msc.start()
+mgw_msc.start()
+mgw_bsc.start()
+
+bsc.bts_add(bts)
+bsc.start()
+
bts.start()
-wait(nitb.bts_is_connected, bts)
+wait(bsc.bts_is_connected, bts)
+
+hlr.subscriber_add(ms)
-nitb.subscriber_add(ms)
+ms.connect(msc.mcc_mnc())
-ms.connect(nitb.mcc_mnc())
ms.log_info()
print('waiting for modems to attach...')
-wait(ms.is_connected, nitb.mcc_mnc())
-wait(nitb.subscriber_attached, ms)
+wait(ms.is_connected, msc.mcc_mnc())
+wait(msc.subscriber_attached, ms)
# ofono (qmi) currently changes state to 'registered' jut after sending
# 'Location Update Request', but before receiving 'Location Updating Accept'.
@@ -34,4 +46,5 @@ sleep(10)
print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
-assert ' ' + ms.msisdn + '\r' in response
+log('got ussd response: %r' % repr(response))
+assert response.endswith(' ' + ms.msisdn)
diff --git a/suites/ussd/suite.conf b/suites/ussd/suite.conf
index 232a5d8..460147a 100644
--- a/suites/ussd/suite.conf
+++ b/suites/ussd/suite.conf
@@ -1,12 +1,9 @@
resources:
ip_address:
- - times: 1
+ - times: 6 # msc, bsc, hlr, stp, mgw*2
bts:
- times: 1
modem:
- times: 1
features:
- ussd
-
-defaults:
- timeout: 60s