test_parse_ignition.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. '''
  2. Unit tests for wildcard
  3. '''
  4. import json
  5. import os
  6. import sys
  7. MODULE_PATH = os.path.realpath(os.path.join(__file__, os.pardir, os.pardir, 'action_plugins'))
  8. sys.path.insert(0, MODULE_PATH)
  9. ASSET_PATH = os.path.realpath(os.path.join(__file__, os.pardir, 'test_data'))
  10. # pylint: disable=import-error,wrong-import-position,missing-docstring
  11. import parse_ignition # noqa: E402
  12. def read_ign(path):
  13. with open(path) as ign_in:
  14. data = json.loads(ign_in.read())
  15. return data
  16. def write_out_files(files_dict):
  17. for path in files_dict:
  18. with open('/tmp/bsoutput/' + path.replace('/', '__'), 'w') as fpath:
  19. fpath.write(files_dict[path]['contents'])
  20. def test_parse_json():
  21. ign_data = read_ign(os.path.join(ASSET_PATH, 'example.ign.json'))
  22. files_dict = {}
  23. systemd_dict = {}
  24. dir_list = set()
  25. result = {}
  26. result['files_dict'] = files_dict
  27. result['systemd_dict'] = systemd_dict
  28. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  29. def test_parse_json_encoded_files():
  30. ign_data = read_ign(os.path.join(ASSET_PATH, 'bootstrap.ign.json'))
  31. files_dict = {}
  32. systemd_dict = {}
  33. dir_list = set()
  34. result = {}
  35. result['files_dict'] = files_dict
  36. result['systemd_dict'] = systemd_dict
  37. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  38. # print(files_dict['/opt/tectonic/manifests/cluster-config.yaml']['contents'])
  39. def parse_json2():
  40. ign_data = read_ign(os.path.join(ASSET_PATH, 'bs.ign.json'))
  41. files_dict = {}
  42. systemd_dict = {}
  43. dir_list = set()
  44. result = {}
  45. result['files_dict'] = files_dict
  46. result['systemd_dict'] = systemd_dict
  47. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  48. write_out_files(files_dict)
  49. if __name__ == '__main__':
  50. test_parse_json()
  51. test_parse_json_encoded_files()
  52. parse_json2()