aboutsummaryrefslogtreecommitdiffstats
path: root/selftest
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-06-04 17:23:23 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-06-04 17:39:17 +0200
commit4ddcdaf62cde56137fd096d122b9bccdd7466cc3 (patch)
treee770af78618bd5a076ec6278629f8e485897baf6 /selftest
parent315ba57651d0a2c7c1edf77b5468240e9a6c29c9 (diff)
selftest: template: Test existing overlay dir features
Diffstat (limited to 'selftest')
-rw-r--r--selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl1
-rw-r--r--selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl1
-rw-r--r--selftest/template_test/osmo-nitb.cfg.tmpl82
-rw-r--r--selftest/template_test/template_test.ok198
-rwxr-xr-xselftest/template_test/template_test.py9
5 files changed, 209 insertions, 82 deletions
diff --git a/selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl b/selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl
new file mode 100644
index 0000000..efafbca
--- /dev/null
+++ b/selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl
@@ -0,0 +1 @@
+test-overlay-works-fine-only-available ${one.two.works}
diff --git a/selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl b/selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl
new file mode 100644
index 0000000..5c9400b
--- /dev/null
+++ b/selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl
@@ -0,0 +1 @@
+test-overlay-works-fine ${foo.bar.works}
diff --git a/selftest/template_test/osmo-nitb.cfg.tmpl b/selftest/template_test/osmo-nitb.cfg.tmpl
deleted file mode 100644
index c0a5c46..0000000
--- a/selftest/template_test/osmo-nitb.cfg.tmpl
+++ /dev/null
@@ -1,82 +0,0 @@
-!
-! OpenBSC configuration saved from vty
-!
-password foo
-!
-log stderr
- logging filter all 1
- logging color 0
- logging print category 0
- logging print extended-timestamp 1
- logging level set-all debug
-!
-line vty
- no login
- bind ${vty_bind_ip}
-!
-e1_input
- e1_line 0 driver ipa
- ipa bind ${abis_bind_ip}
-network
- network country code ${mcc}
- mobile network code ${mnc}
- short name ${net_name_short}
- long name ${net_name_long}
- auth policy ${net_auth_policy}
- location updating reject cause 13
- encryption ${encryption}
- neci 1
- rrlp mode none
- mm info 1
- handover 0
- handover window rxlev averaging 10
- handover window rxqual averaging 1
- handover window rxlev neighbor averaging 10
- handover power budget interval 6
- handover power budget hysteresis 3
- handover maximum distance 9999
-smpp
- local-tcp-ip ${nitb.ip_address.addr} 2775
- system-id test-nitb
- policy ${smsc.policy}
- %for esme in esme_list:
- esme ${esme.system_id}
- % if esme.password == '':
- no password
- % else:
- password ${esme.password}
- % endif
- default-route
- %endfor
-ctrl
- bind ${ctrl_bind_ip}
-%for bts in bts_list:
- bts ${loop.index}
- type ${bts.type}
- band ${bts.band}
- cell_identity ${bts.cell_identity}
- location_area_code ${bts.location_area_code}
- training_sequence_code 7
- base_station_id_code ${bts.base_station_id_code}
- ms max power 15
- cell reselection hysteresis 4
- rxlev access min 0
- channel allocator ascending
- rach tx integer 9
- rach max transmission 7
- ip.access unit_id ${bts.unit_id} 0
- oml ip.access stream_id ${bts.stream_id} line 0
- gprs mode none
-% for trx in bts.trx_list:
- trx ${loop.index}
- rf_locked 0
- arfcn ${trx.arfcn}
- nominal power 23
- max_power_red ${trx.max_power_red}
- rsl e1 tei 0
-% for ts in trx.timeslot_list:
- timeslot ${loop.index}
- phys_chan_config ${ts.phys_chan_config}
-% endfor
-% endfor
-%endfor
diff --git a/selftest/template_test/template_test.ok b/selftest/template_test/template_test.ok
index 88b77b0..718ef6e 100644
--- a/selftest/template_test/template_test.ok
+++ b/selftest/template_test/template_test.ok
@@ -191,3 +191,201 @@ ctrl
- Testing: expect to fail on invalid templates dir
sucess: setting non-existing templates dir raised RuntimeError
+- Testing: template directory overlay (still can find default one?)
+cnf Templates: DBG: rendering osmo-nitb.cfg.tmpl
+! Configuration rendered by osmo-gsm-tester
+password foo
+!
+log stderr
+ logging filter all 1
+ logging color 1
+ logging print category 1
+ logging print extended-timestamp 1
+ logging level set-all debug
+!
+line vty
+ no login
+ bind val_ip_address
+!
+e1_input
+ e1_line 0 driver ipa
+ ipa bind val_ip_address
+network
+ network country code val_mcc
+ mobile network code val_mnc
+ short name val_short_name
+ long name val_long_name
+ auth policy val_auth_policy
+ location updating reject cause 13
+ encryption val_encryption
+ neci 1
+ rrlp mode none
+ mm info 1
+ handover 0
+ handover window rxlev averaging 10
+ handover window rxqual averaging 1
+ handover window rxlev neighbor averaging 10
+ handover power budget interval 6
+ handover power budget hysteresis 3
+ handover maximum distance 9999
+ bts 0
+ type val_type_bts0
+ band val_band_bts0
+ cell_identity val_bts.cell_identity_bts0
+ location_area_code val_bts.location_area_code_bts0
+ training_sequence_code 7
+ base_station_id_code val_bts.base_station_id_code_bts0
+ ms max power 33
+ cell reselection hysteresis 4
+ rxlev access min 0
+ channel allocator ascending
+ rach tx integer 9
+ rach max transmission 7
+ ip.access unit_id val_bts.unit_id_bts0 0
+ oml ip.access stream_id val_bts.stream_id_bts0 line 0
+ gprs mode gprs
+ gprs routing area val_bts.routing_area_code_bts0
+ gprs network-control-order nc1
+ gprs cell bvci val_bts.bvci_bts0
+ gprs cell timer blocking-timer 3
+ gprs cell timer blocking-retries 3
+ gprs cell timer unblocking-retries 3
+ gprs cell timer reset-timer 3
+ gprs cell timer reset-retries 3
+ gprs cell timer suspend-timer 10
+ gprs cell timer suspend-retries 3
+ gprs cell timer resume-timer 10
+ gprs cell timer resume-retries 3
+ gprs cell timer capability-update-timer 10
+ gprs cell timer capability-update-retries 3
+ gprs nsei val_bts.bvci_bts0
+ gprs ns timer tns-block 3
+ gprs ns timer tns-block-retries 3
+ gprs ns timer tns-reset 3
+ gprs ns timer tns-reset-retries 3
+ gprs ns timer tns-test 30
+ gprs ns timer tns-alive 3
+ gprs ns timer tns-alive-retries 10
+ gprs nsvc 0 nsvci val_bts.bvci_bts0
+ gprs nsvc 0 local udp port 23020
+ gprs nsvc 0 remote udp port 23000
+ gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts0
+ trx 0
+ rf_locked 0
+ arfcn val_trx_arfcn_trx0
+ nominal power val_trx_nominal_power_trx0
+ max_power_red val_trx_max_power_red_trx0
+ rsl e1 tei 0
+ timeslot 0
+ phys_chan_config val_phys_chan_config_0
+ timeslot 1
+ phys_chan_config val_phys_chan_config_1
+ timeslot 2
+ phys_chan_config val_phys_chan_config_2
+ timeslot 3
+ phys_chan_config val_phys_chan_config_3
+ trx 1
+ rf_locked 0
+ arfcn val_trx_arfcn_trx1
+ nominal power val_trx_nominal_power_trx1
+ max_power_red val_trx_max_power_red_trx1
+ rsl e1 tei 0
+ timeslot 0
+ phys_chan_config val_phys_chan_config_0
+ timeslot 1
+ phys_chan_config val_phys_chan_config_1
+ timeslot 2
+ phys_chan_config val_phys_chan_config_2
+ timeslot 3
+ phys_chan_config val_phys_chan_config_3
+ bts 1
+ type val_type_bts1
+ band val_band_bts1
+ cell_identity val_bts.cell_identity_bts1
+ location_area_code val_bts.location_area_code_bts1
+ training_sequence_code 7
+ base_station_id_code val_bts.base_station_id_code_bts1
+ ms max power 33
+ cell reselection hysteresis 4
+ rxlev access min 0
+ channel allocator ascending
+ rach tx integer 9
+ rach max transmission 7
+ ip.access unit_id val_bts.unit_id_bts1 0
+ oml ip.access stream_id val_bts.stream_id_bts1 line 0
+ gprs mode gprs
+ gprs routing area val_bts.routing_area_code_bts1
+ gprs network-control-order nc1
+ gprs cell bvci val_bts.bvci_bts1
+ gprs cell timer blocking-timer 3
+ gprs cell timer blocking-retries 3
+ gprs cell timer unblocking-retries 3
+ gprs cell timer reset-timer 3
+ gprs cell timer reset-retries 3
+ gprs cell timer suspend-timer 10
+ gprs cell timer suspend-retries 3
+ gprs cell timer resume-timer 10
+ gprs cell timer resume-retries 3
+ gprs cell timer capability-update-timer 10
+ gprs cell timer capability-update-retries 3
+ gprs nsei val_bts.bvci_bts1
+ gprs ns timer tns-block 3
+ gprs ns timer tns-block-retries 3
+ gprs ns timer tns-reset 3
+ gprs ns timer tns-reset-retries 3
+ gprs ns timer tns-test 30
+ gprs ns timer tns-alive 3
+ gprs ns timer tns-alive-retries 10
+ gprs nsvc 0 nsvci val_bts.bvci_bts1
+ gprs nsvc 0 local udp port 23020
+ gprs nsvc 0 remote udp port 23000
+ gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts1
+ trx 0
+ rf_locked 0
+ arfcn val_trx_arfcn_trx0
+ nominal power val_trx_nominal_power_trx0
+ max_power_red val_trx_max_power_red_trx0
+ rsl e1 tei 0
+ timeslot 0
+ phys_chan_config val_phys_chan_config_0
+ timeslot 1
+ phys_chan_config val_phys_chan_config_1
+ timeslot 2
+ phys_chan_config val_phys_chan_config_2
+ timeslot 3
+ phys_chan_config val_phys_chan_config_3
+ trx 1
+ rf_locked 0
+ arfcn val_trx_arfcn_trx1
+ nominal power val_trx_nominal_power_trx1
+ max_power_red val_trx_max_power_red_trx1
+ rsl e1 tei 0
+ timeslot 0
+ phys_chan_config val_phys_chan_config_0
+ timeslot 1
+ phys_chan_config val_phys_chan_config_1
+ timeslot 2
+ phys_chan_config val_phys_chan_config_2
+ timeslot 3
+ phys_chan_config val_phys_chan_config_3
+smpp
+ local-tcp-ip val_ip_address 2775
+ system-id test-nitb
+ policy val_smsc_policy
+ esme val_system_id_esme0
+ password val_password_esme0
+ default-route
+ esme val_system_id_esme1
+ no password
+ default-route
+ctrl
+ bind val_ip_address
+
+- Testing: template directory overlay (present in both dirs)
+cnf Templates: DBG: rendering osmo-bsc.cfg.tmpl
+test-overlay-works-fine yes
+
+- Testing: template directory overlay (present only on overlay dir)
+cnf Templates: DBG: rendering mytemplate.cfg.tmpl
+test-overlay-works-fine-only-available yes
+
diff --git a/selftest/template_test/template_test.py b/selftest/template_test/template_test.py
index 747d508..52976e5 100755
--- a/selftest/template_test/template_test.py
+++ b/selftest/template_test/template_test.py
@@ -92,4 +92,13 @@ except RuntimeError:
print('sucess: setting non-existing templates dir raised RuntimeError\n')
pass
+mytemplatedir = os.path.join(os.path.dirname(__file__), 'mytemplatedir')
+template.set_templates_dir(mytemplatedir, template.default_templates_dir())
+print('- Testing: template directory overlay (still can find default one?)')
+print(template.render('osmo-nitb.cfg', vals))
+print('- Testing: template directory overlay (present in both dirs)')
+print(template.render('osmo-bsc.cfg', dict(foo=dict(bar=dict(works='yes')))))
+print('- Testing: template directory overlay (present only on overlay dir)')
+print(template.render('mytemplate.cfg', dict(one=dict(two=dict(works='yes')))))
+
# vim: expandtab tabstop=4 shiftwidth=4