test_boot_job.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import requests
  4. import json
  5. import unittest
  6. __author__ = 'James Iter'
  7. __date__ = '2017/3/31'
  8. __contact__ = 'james.iter.cn@gmail.com'
  9. __copyright__ = '(c) 2017 by James Iter.'
  10. class TestOSInit(unittest.TestCase):
  11. base_url = 'http://127.0.0.1:8008/api'
  12. boot_job_id = 0
  13. def setUp(self):
  14. pass
  15. def tearDown(self):
  16. pass
  17. # 创建系统初始化组
  18. def test_11_create(self):
  19. payload = {
  20. "name": 'CentOS-Systemd',
  21. "use_for": 0,
  22. "remark": u'用作红帽 Systemd 系列的系统初始化。初始化操作依据 CentOS 7 来实现。'
  23. }
  24. url = TestOSInit.base_url + '/boot_job'
  25. headers = {'content-type': 'application/json'}
  26. r = requests.post(url, data=json.dumps(payload), headers=headers)
  27. j_r = json.loads(r.content)
  28. print json.dumps(j_r, ensure_ascii=False)
  29. self.assertEqual('200', j_r['state']['code'])
  30. # 获取系统初始化组列表
  31. def test_12_get(self):
  32. url = TestOSInit.base_url + '/boot_jobs'
  33. headers = {'content-type': 'application/json'}
  34. r = requests.get(url, headers=headers)
  35. j_r = json.loads(r.content)
  36. print json.dumps(j_r, ensure_ascii=False)
  37. TestOSInit.boot_job_id = j_r['data'][0]['id']
  38. self.assertEqual('200', j_r['state']['code'])
  39. # 创建更新系统初始化组
  40. def test_13_update(self):
  41. payload = {
  42. "name": 'RedHat-Systemd'
  43. }
  44. url = TestOSInit.base_url + '/boot_job/' + TestOSInit.boot_job_id.__str__()
  45. headers = {'content-type': 'application/json'}
  46. r = requests.patch(url, data=json.dumps(payload), headers=headers)
  47. j_r = json.loads(r.content)
  48. print json.dumps(j_r, ensure_ascii=False)
  49. self.assertEqual('200', j_r['state']['code'])
  50. # 校验系统初始化组列表更新结果
  51. def test_14_get(self):
  52. url = TestOSInit.base_url + '/boot_jobs'
  53. headers = {'content-type': 'application/json'}
  54. r = requests.get(url, headers=headers)
  55. j_r = json.loads(r.content)
  56. print json.dumps(j_r, ensure_ascii=False)
  57. self.assertEqual('200', j_r['state']['code'])
  58. self.assertEqual('RedHat-Systemd', j_r['data'][0]['name'])
  59. # # 删除系统初始化组列表更新结果
  60. # def test_15_delete(self):
  61. # url = TestOSInit.base_url + '/boot_jobs/' + TestOSInit.boot_job_id.__str__()
  62. # headers = {'content-type': 'application/json'}
  63. # r = requests.delete(url, headers=headers)
  64. # j_r = json.loads(r.content)
  65. # print json.dumps(j_r, ensure_ascii=False)
  66. # self.assertEqual('200', j_r['state']['code'])
  67. def test_21_create(self):
  68. payload = {
  69. "name": 'Gentoo-OpenRC',
  70. "use_for": 0,
  71. "remark": u'Gentoo startup process。'
  72. }
  73. url = TestOSInit.base_url + '/boot_job'
  74. headers = {'content-type': 'application/json'}
  75. r = requests.post(url, data=json.dumps(payload), headers=headers)
  76. j_r = json.loads(r.content)
  77. print json.dumps(j_r, ensure_ascii=False)
  78. self.assertEqual('200', j_r['state']['code'])
  79. # 创建系统初始化组
  80. def test_22_create(self):
  81. payload = {
  82. "name": 'Ubuntu-Upstart',
  83. "use_for": 0,
  84. "remark": u'Ubuntu startup process。'
  85. }
  86. url = TestOSInit.base_url + '/boot_job'
  87. headers = {'content-type': 'application/json'}
  88. r = requests.post(url, data=json.dumps(payload), headers=headers)
  89. j_r = json.loads(r.content)
  90. print json.dumps(j_r, ensure_ascii=False)
  91. self.assertEqual('200', j_r['state']['code'])
  92. # 创建系统初始化组
  93. def test_23_create(self):
  94. payload = {
  95. "name": 'CentOS-SysV',
  96. "use_for": 0,
  97. "remark": u'用作CentOS SysV 系列的系统初始化。初始化操作依据 CentOS 6.8 来实现。'
  98. }
  99. url = TestOSInit.base_url + '/boot_job'
  100. headers = {'content-type': 'application/json'}
  101. r = requests.post(url, data=json.dumps(payload), headers=headers)
  102. j_r = json.loads(r.content)
  103. print json.dumps(j_r, ensure_ascii=False)
  104. self.assertEqual('200', j_r['state']['code'])
  105. if __name__ == '__main__':
  106. unittest.main()