test_operate_rule.py 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  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 TestOperateRule(unittest.TestCase):
  11. base_url = 'http://127.0.0.1:8008/api'
  12. boot_job_id = 2
  13. operate_rule_id = 0
  14. def setUp(self):
  15. pass
  16. def tearDown(self):
  17. pass
  18. # # 创建系统初始化组
  19. # def test_11_create(self):
  20. # payload = {
  21. # "name": "CentOS-Systemd",
  22. # "use_for": 0,
  23. # "remark": u"用作红帽 Systemd 系列的系统初始化。初始化操作依据 CentOS 7 来实现。"
  24. # }
  25. #
  26. # url = TestOperateRule.base_url + '/boot_job'
  27. # headers = {'content-type': 'application/json'}
  28. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  29. # j_r = json.loads(r.content)
  30. # print json.dumps(j_r, ensure_ascii=False)
  31. # TestOperateRule.boot_job_id = j_r['data']['id']
  32. # self.assertEqual('200', j_r['state']['code'])
  33. # # 添加系统初始化操作
  34. # def test_21_create(self):
  35. # payload = {
  36. # "boot_job_id": TestOperateRule.boot_job_id,
  37. # "kind": 1,
  38. # "path": "/etc/resolv.conf",
  39. # "content": "\n".join([
  40. # "nameserver {DNS1}",
  41. # "nameserver {DNS2}"
  42. # ])
  43. # }
  44. #
  45. # url = TestOperateRule.base_url + '/operate_rule'
  46. # headers = {'content-type': 'application/json'}
  47. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  48. # j_r = json.loads(r.content)
  49. # print json.dumps(j_r, ensure_ascii=False)
  50. # self.assertEqual('200', j_r['state']['code'])
  51. #
  52. # # 添加系统初始化操作
  53. # def test_22_create(self):
  54. # payload = {
  55. # "boot_job_id": TestOperateRule.boot_job_id,
  56. # "kind": 1,
  57. # "path": "/etc/sysconfig/network-scripts/ifcfg-eth0",
  58. # "content": "\n".join([
  59. # "DEVICE=eth0",
  60. # "TYPE=Ethernet",
  61. # "ONBOOT=yes",
  62. # "BOOTPROTO=\"static\"",
  63. # "IPADDR={IP}",
  64. # "NETMASK={NETMASK}",
  65. # "GATEWAY={GATEWAY}",
  66. # "DNS1={DNS1}",
  67. # "DNS2={DNS2}",
  68. # "IPV6INIT=no",
  69. # "NAME=eth0"
  70. # ])
  71. # }
  72. #
  73. # url = TestOperateRule.base_url + '/operate_rule'
  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. # # 添加系统初始化操作
  81. # def test_23_create(self):
  82. # payload = {
  83. # "boot_job_id": TestOperateRule.boot_job_id,
  84. # "kind": 1,
  85. # "path": "/etc/hostname",
  86. # "content": "hostname"
  87. # }
  88. #
  89. # url = TestOperateRule.base_url + '/operate_rule'
  90. # headers = {'content-type': 'application/json'}
  91. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  92. # j_r = json.loads(r.content)
  93. # print json.dumps(j_r, ensure_ascii=False)
  94. # TestOperateRule.operate_rule_id = j_r['data']['id']
  95. # self.assertEqual('200', j_r['state']['code'])
  96. # def test_25_get_list(self):
  97. # url = TestOperateRule.base_url + '/operate_rules'
  98. # headers = {'content-type': 'application/json'}
  99. # r = requests.get(url, headers=headers)
  100. # j_r = json.loads(r.content)
  101. # print json.dumps(j_r, ensure_ascii=False)
  102. # self.assertEqual('200', j_r['state']['code'])
  103. #
  104. # def test_26_update(self):
  105. # payload = {
  106. # "path": "/etc/hostname",
  107. # "content": "{HOSTNAME}"
  108. # }
  109. #
  110. # url = TestOperateRule.base_url + '/operate_rule/' + TestOperateRule.operate_rule_id.__str__()
  111. # headers = {'content-type': 'application/json'}
  112. # r = requests.patch(url, data=json.dumps(payload), headers=headers)
  113. # j_r = json.loads(r.content)
  114. # print json.dumps(j_r, ensure_ascii=False)
  115. # self.assertEqual('200', j_r['state']['code'])
  116. # @unittest.skip('skip delete os init write!')
  117. # def test_27_delete(self):
  118. # url = TestOperateRule.base_url + '/operate_rules/' + TestOperateRule.operate_rule_id.__str__()
  119. # headers = {'content-type': 'application/json'}
  120. # r = requests.delete(url, headers=headers)
  121. # j_r = json.loads(r.content)
  122. # print json.dumps(j_r, ensure_ascii=False)
  123. # self.assertEqual('200', j_r['state']['code'])
  124. #
  125. # @unittest.skip('skip delete os init!')
  126. # # 删除系统初始化组列表更新结果
  127. # def test_31_delete(self):
  128. # url = TestOperateRule.base_url + '/boot_jobs/' + TestOperateRule.boot_job_id.__str__()
  129. # headers = {'content-type': 'application/json'}
  130. # r = requests.delete(url, headers=headers)
  131. # j_r = json.loads(r.content)
  132. # print json.dumps(j_r, ensure_ascii=False)
  133. # self.assertEqual('200', j_r['state']['code'])
  134. #
  135. # def test_51_create(self):
  136. # payload = {
  137. # "boot_job_id": 5,
  138. # "kind": 1,
  139. # "path": "/etc/resolv.conf",
  140. # "content": "\n".join([
  141. # "nameserver {DNS1}",
  142. # "nameserver {DNS2}"
  143. # ])
  144. # }
  145. #
  146. # url = TestOperateRule.base_url + '/operate_rule'
  147. # headers = {'content-type': 'application/json'}
  148. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  149. # j_r = json.loads(r.content)
  150. # print json.dumps(j_r, ensure_ascii=False)
  151. # self.assertEqual('200', j_r['state']['code'])
  152. #
  153. # def test_52_create(self):
  154. # payload = {
  155. # "boot_job_id": 5,
  156. # "kind": 1,
  157. # "path": "/etc/sysconfig/network-scripts/ifcfg-eth0",
  158. # "content": "\n".join([
  159. # "DEVICE=eth0",
  160. # "TYPE=Ethernet",
  161. # "ONBOOT=yes",
  162. # "BOOTPROTO=\"static\"",
  163. # "IPADDR={IP}",
  164. # "NETMASK={NETMASK}",
  165. # "GATEWAY={GATEWAY}",
  166. # "IPV6INIT=no",
  167. # "NAME=eth0"
  168. # ])
  169. # }
  170. #
  171. # url = TestOperateRule.base_url + '/operate_rule'
  172. # headers = {'content-type': 'application/json'}
  173. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  174. # j_r = json.loads(r.content)
  175. # print json.dumps(j_r, ensure_ascii=False)
  176. # self.assertEqual('200', j_r['state']['code'])
  177. #
  178. # def test_53_create(self):
  179. # payload = {
  180. # "boot_job_id": 5,
  181. # "kind": 1,
  182. # "path": "/etc/sysconfig/network",
  183. # "content": "\n".join([
  184. # "NETWORKING=yes",
  185. # "HOSTNAME=\"{HOSTNAME}\""
  186. # ])
  187. # }
  188. #
  189. # url = TestOperateRule.base_url + '/operate_rule'
  190. # headers = {'content-type': 'application/json'}
  191. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  192. # j_r = json.loads(r.content)
  193. # print json.dumps(j_r, ensure_ascii=False)
  194. # TestOperateRule.operate_rule_id = j_r['data']['id']
  195. # self.assertEqual('200', j_r['state']['code'])
  196. #
  197. # def test_61_create(self):
  198. # payload = {
  199. # "boot_job_id": 3,
  200. # "kind": 1,
  201. # "path": "/etc/resolv.conf",
  202. # "content": "\n".join([
  203. # "nameserver {DNS1}",
  204. # "nameserver {DNS2}"
  205. # ])
  206. # }
  207. #
  208. # url = TestOperateRule.base_url + '/operate_rule'
  209. # headers = {'content-type': 'application/json'}
  210. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  211. # j_r = json.loads(r.content)
  212. # print json.dumps(j_r, ensure_ascii=False)
  213. # self.assertEqual('200', j_r['state']['code'])
  214. #
  215. # def test_62_create(self):
  216. # payload = {
  217. # "boot_job_id": 3,
  218. # "kind": 1,
  219. # "path": "/etc/conf.d/net",
  220. # "content": "\n".join([
  221. # "config_eth0=\"{IP}/{NETMASK}\"",
  222. # "routes_eth0=\"default via {GATEWAY}\""
  223. # ])
  224. # }
  225. #
  226. # url = TestOperateRule.base_url + '/operate_rule'
  227. # headers = {'content-type': 'application/json'}
  228. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  229. # j_r = json.loads(r.content)
  230. # print json.dumps(j_r, ensure_ascii=False)
  231. # self.assertEqual('200', j_r['state']['code'])
  232. #
  233. # def test_63_create(self):
  234. # payload = {
  235. # "boot_job_id": 3,
  236. # "kind": 1,
  237. # "path": "/etc/conf.d/hostname",
  238. # "content": "hostname=\"{HOSTNAME}\""
  239. # }
  240. #
  241. # url = TestOperateRule.base_url + '/operate_rule'
  242. # headers = {'content-type': 'application/json'}
  243. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  244. # j_r = json.loads(r.content)
  245. # print json.dumps(j_r, ensure_ascii=False)
  246. # TestOperateRule.operate_rule_id = j_r['data']['id']
  247. # self.assertEqual('200', j_r['state']['code'])
  248. # def test_64_create(self):
  249. # payload = {
  250. # "boot_job_id": 1,
  251. # "kind": 0,
  252. # "command": "echo \"root:{PASSWORD}\" | chpasswd"
  253. # }
  254. #
  255. # url = TestOperateRule.base_url + '/operate_rule'
  256. # headers = {'content-type': 'application/json'}
  257. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  258. # j_r = json.loads(r.content)
  259. # print json.dumps(j_r, ensure_ascii=False)
  260. # TestOperateRule.operate_rule_id = j_r['data']['id']
  261. # self.assertEqual('200', j_r['state']['code'])
  262. if __name__ == '__main__':
  263. unittest.main()