From 4ddcdaf62cde56137fd096d122b9bccdd7466cc3 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 4 Jun 2020 17:23:23 +0200 Subject: selftest: template: Test existing overlay dir features Change-Id: Iff1a4dafcbf2193e95b1fb6e5a6712f1bcdd6309 --- .../mytemplatedir/mytemplate.cfg.tmpl | 1 + .../template_test/mytemplatedir/osmo-bsc.cfg.tmpl | 1 + selftest/template_test/osmo-nitb.cfg.tmpl | 82 --------- selftest/template_test/template_test.ok | 198 +++++++++++++++++++++ selftest/template_test/template_test.py | 9 + 5 files changed, 209 insertions(+), 82 deletions(-) create mode 100644 selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl create mode 100644 selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl delete mode 100644 selftest/template_test/osmo-nitb.cfg.tmpl (limited to 'selftest') 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 -- cgit v1.2.3