aboutsummaryrefslogtreecommitdiffstats
path: root/suites/aoip_smpp/esme_connect_policy_acceptall.py
diff options
context:
space:
mode:
Diffstat (limited to 'suites/aoip_smpp/esme_connect_policy_acceptall.py')
-rwxr-xr-xsuites/aoip_smpp/esme_connect_policy_acceptall.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/suites/aoip_smpp/esme_connect_policy_acceptall.py b/suites/aoip_smpp/esme_connect_policy_acceptall.py
new file mode 100755
index 0000000..2a954d5
--- /dev/null
+++ b/suites/aoip_smpp/esme_connect_policy_acceptall.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+# This test checks following use-cases while in 'accept-all' policy:
+# * SMPP interface of SMSC accepts SMPP clients (ESMEs) which do not appear on
+# the config file
+
+from osmo_gsm_tester.test import *
+
+hlr = suite.hlr()
+bts = suite.bts() # bts not started, only needed for mgcpgw
+mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+msc = suite.msc(hlr, mgcpgw)
+smsc = msc.smsc
+esme = suite.esme()
+
+# Here we deliberately omit calling smsc.esme_add() to avoid having it included
+# in the smsc config.
+smsc.set_smsc_policy(smsc.SMSC_POLICY_ACCEPT_ALL)
+esme.set_smsc(smsc)
+
+hlr.start()
+msc.start()
+mgcpgw.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.
+log('Test connect with non-empty values in system_id and password')
+esme.set_system_id('foo')
+esme.set_password('bar')
+esme.connect()
+esme.disconnect()
+
+log('Test connect with empty values in system_id and password')
+esme.set_system_id('')
+esme.set_password('')
+esme.connect()
+esme.disconnect()