test_parse_ignition.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. # pylint: disable=import-error,wrong-import-position,missing-docstring
  10. import parse_ignition # noqa: E402
  11. def read_ign(path):
  12. with open(path) as ign_in:
  13. data = json.loads(ign_in.read())
  14. return data
  15. def write_out_files(files_dict):
  16. for path in files_dict:
  17. with open('/tmp/bsoutput/' + path.replace('/', '__'), 'w') as fpath:
  18. fpath.write(files_dict[path]['contents'])
  19. def test_parse_json():
  20. ign_data = read_ign('test_data/example.ign.json')
  21. files_dict = {}
  22. systemd_dict = {}
  23. dir_list = set()
  24. result = {}
  25. result['files_dict'] = files_dict
  26. result['systemd_dict'] = systemd_dict
  27. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  28. def test_parse_json_encoded_files():
  29. ign_data = read_ign('test_data/bootstrap.ign.json')
  30. files_dict = {}
  31. systemd_dict = {}
  32. dir_list = set()
  33. result = {}
  34. result['files_dict'] = files_dict
  35. result['systemd_dict'] = systemd_dict
  36. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  37. #print(files_dict['/opt/tectonic/manifests/cluster-config.yaml']['contents'])
  38. def parse_json2():
  39. ign_data = read_ign('test_data/bs.ign.json')
  40. files_dict = {}
  41. systemd_dict = {}
  42. dir_list = set()
  43. result = {}
  44. result['files_dict'] = files_dict
  45. result['systemd_dict'] = systemd_dict
  46. parse_ignition.get_files(files_dict, systemd_dict, dir_list, ign_data)
  47. write_out_files(files_dict)
  48. if __name__ == '__main__':
  49. test_parse_json()
  50. test_parse_json_encoded_files()
  51. parse_json2()