| #!/usr/bin/env python3 |
| from osmo_gsm_tester.testenv import * |
| |
| import os |
| import sys |
| |
| print('- Testing: expect to fail on invalid templates overlay dir') |
| try: |
| #stp.configure() |
| tenv.set_overlay_template_dir(os.path.join(os.path.dirname(__file__), 'nonexistent-templatedir')) |
| sys.stderr.write('Error: setting non-existing templates dir should raise RuntimeError\n') |
| assert(False) |
| except RuntimeError: |
| print('sucess: setting non-existing templates dir raised RuntimeError\n') |
| pass |
| |
| mytemplatedir = os.path.join(os.path.dirname(__file__), 'mytemplatedir') |
| tenv.set_overlay_template_dir(mytemplatedir) |
| |
| stp = tenv.stp() |
| print('- Testing: original template') |
| stp.configure() |
| |
| print('- Testing:overlay template') |
| mytemplatefile = os.path.join(mytemplatedir, 'osmo-stp.cfg.tmpl') |
| try: |
| with open(mytemplatefile, 'w') as f: |
| r = """! Overlay Config file genreated by test |
| line vty |
| no login |
| bind ${stp.ip_address.addr} |
| """ |
| f.write(r) |
| |
| # After creating the new template, it won\'t be used until |
| # set_overlay_template_dir() is called again because the templates are |
| # somehow cached by mako. |
| print('- After creating the new template, still old template is used' ) |
| stp.configure() |
| print('- New template is used after re-generating cache with set_overlay_template_dir:') |
| tenv.set_overlay_template_dir(mytemplatedir) |
| stp.configure() |
| finally: |
| os.remove(mytemplatefile) |