test_guest.py 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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/4/4'
  8. __contact__ = 'james.iter.cn@gmail.com'
  9. __copyright__ = '(c) 2017 by James Iter.'
  10. class TestGuest(unittest.TestCase):
  11. base_url = 'http://127.0.0.1:8008/api'
  12. uuid = ''
  13. disk_uuid = ''
  14. def setUp(self):
  15. pass
  16. def tearDown(self):
  17. pass
  18. # 创建Guest
  19. # @unittest.skip('skip create guest')
  20. # def test_11_create(self):
  21. # payload = {
  22. # "cpu": 4,
  23. # "memory": 4,
  24. # "os_template_id": 1,
  25. # "quantity": 1,
  26. # "name": "",
  27. # "password": "pswd.com",
  28. # "lease_term": 100
  29. # }
  30. #
  31. # url = TestGuest.base_url + '/guest'
  32. # headers = {'content-type': 'application/json'}
  33. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  34. # j_r = json.loads(r.content)
  35. # print json.dumps(j_r, ensure_ascii=False)
  36. # self.assertEqual('200', j_r['state']['code'])
  37. # 获取 Guest 列表
  38. def test_12_get_list(self):
  39. url = TestGuest.base_url + '/guests'
  40. headers = {'content-type': 'application/json'}
  41. r = requests.get(url, headers=headers)
  42. j_r = json.loads(r.content)
  43. print json.dumps(j_r, ensure_ascii=False)
  44. TestGuest.uuid = j_r['data'][-1]['uuid']
  45. self.assertEqual('200', j_r['state']['code'])
  46. # # 获取指定 Guest
  47. # def test_13_get(self):
  48. # url = TestGuest.base_url + '/guest/' + TestGuest.uuid
  49. # headers = {'content-type': 'application/json'}
  50. # r = requests.get(url, headers=headers)
  51. # j_r = json.loads(r.content)
  52. # print json.dumps(j_r, ensure_ascii=False)
  53. # self.assertEqual('200', j_r['state']['code'])
  54. #
  55. # # 更新Guest属性
  56. # def test_14_update(self):
  57. # payload = {
  58. # "remark": "zabbix",
  59. # }
  60. #
  61. # url = TestGuest.base_url + '/guest/' + TestGuest.uuid
  62. # headers = {'content-type': 'application/json'}
  63. # r = requests.patch(url, data=json.dumps(payload), 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. #
  68. # # 校验更新结果
  69. # def test_15_get(self):
  70. # url = TestGuest.base_url + '/guest/' + TestGuest.uuid
  71. # headers = {'content-type': 'application/json'}
  72. # r = requests.get(url, headers=headers)
  73. # j_r = json.loads(r.content)
  74. # print json.dumps(j_r, ensure_ascii=False)
  75. # self.assertEqual('200', j_r['state']['code'])
  76. # self.assertEqual('zabbix', j_r['data']['remark'])
  77. # # 创建 Disk
  78. # def test_21_create_disk(self):
  79. # payload = {
  80. # "size": 10
  81. # }
  82. #
  83. # url = TestGuest.base_url + '/disk'
  84. # headers = {'content-type': 'application/json'}
  85. # r = requests.post(url, data=json.dumps(payload), headers=headers)
  86. # j_r = json.loads(r.content)
  87. # print json.dumps(j_r, ensure_ascii=False)
  88. # self.assertEqual('200', j_r['state']['code'])
  89. #
  90. # def test_22_get_disks(self):
  91. # url = TestGuest.base_url + '/disks'
  92. # headers = {'content-type': 'application/json'}
  93. # r = requests.get(url, headers=headers)
  94. # j_r = json.loads(r.content)
  95. # print json.dumps(j_r, ensure_ascii=False)
  96. # TestGuest.disk_uuid = j_r['data'][-1]['uuid']
  97. # self.assertEqual('200', j_r['state']['code'])
  98. #
  99. # # @unittest.skip('skip resize disk')
  100. # def test_23_disk_resize(self):
  101. # url = TestGuest.base_url + '/disk/_disk_resize/' + TestGuest.disk_uuid + '/2000'
  102. # headers = {'content-type': 'application/json'}
  103. # r = requests.put(url, headers=headers)
  104. # j_r = json.loads(r.content)
  105. # print json.dumps(j_r, ensure_ascii=False)
  106. # self.assertEqual('200', j_r['state']['code'])
  107. #
  108. # def test_31_attach_disk(self):
  109. # TestGuest.uuid = 'ba102b41-4e7a-4d5b-a9e0-43d162695e4a'
  110. # TestGuest.disk_uuid = 'c5881400-4f98-49a8-b5cf-afb5956a5a4b'
  111. # url = TestGuest.base_url + '/guest/_attach_disk/' + TestGuest.uuid + '/' + TestGuest.disk_uuid
  112. # headers = {'content-type': 'application/json'}
  113. # r = requests.put(url, headers=headers)
  114. # j_r = json.loads(r.content)
  115. # print json.dumps(j_r, ensure_ascii=False)
  116. # self.assertEqual('200', j_r['state']['code'])
  117. # def test_32_detach_disk(self):
  118. # url = TestGuest.base_url + '/guest/_detach_disk/' + TestGuest.disk_uuid
  119. # headers = {'content-type': 'application/json'}
  120. # r = requests.put(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. # # 删除Guest
  126. # # @unittest.skip('skip delete guest')
  127. # def test_41_delete(self):
  128. # url = TestGuest.base_url + '/guests/' + TestGuest.uuid
  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_42_delete_disk(self):
  136. # url = TestGuest.base_url + '/disk/' + TestGuest.disk_uuid
  137. # headers = {'content-type': 'application/json'}
  138. # r = requests.delete(url, headers=headers)
  139. # j_r = json.loads(r.content)
  140. # print json.dumps(j_r, ensure_ascii=False)
  141. # self.assertEqual('200', j_r['state']['code'])
  142. #
  143. # def test_51_reboot(self):
  144. # url = TestGuest.base_url + '/guests/_reboot/' + TestGuest.uuid
  145. # headers = {'content-type': 'application/json'}
  146. # r = requests.put(url, headers=headers)
  147. # j_r = json.loads(r.content)
  148. # print json.dumps(j_r, ensure_ascii=False)
  149. # self.assertEqual('200', j_r['state']['code'])
  150. #
  151. # def test_52_force_reboot(self):
  152. # url = TestGuest.base_url + '/guests/_force_reboot/' + TestGuest.uuid
  153. # headers = {'content-type': 'application/json'}
  154. # r = requests.put(url, headers=headers)
  155. # j_r = json.loads(r.content)
  156. # print json.dumps(j_r, ensure_ascii=False)
  157. # self.assertEqual('200', j_r['state']['code'])
  158. # def test_53_shutdown(self):
  159. # url = TestGuest.base_url + '/guests/_shutdown/' + TestGuest.uuid
  160. # headers = {'content-type': 'application/json'}
  161. # r = requests.put(url, headers=headers)
  162. # j_r = json.loads(r.content)
  163. # print json.dumps(j_r, ensure_ascii=False)
  164. # self.assertEqual('200', j_r['state']['code'])
  165. # def test_54_force_shutdown(self):
  166. # url = TestGuest.base_url + '/guests/_force_shutdown/' + TestGuest.uuid
  167. # headers = {'content-type': 'application/json'}
  168. # r = requests.put(url, headers=headers)
  169. # j_r = json.loads(r.content)
  170. # print json.dumps(j_r, ensure_ascii=False)
  171. # self.assertEqual('200', j_r['state']['code'])
  172. # def test_55_boot(self):
  173. # url = TestGuest.base_url + '/guests/_boot/' + TestGuest.uuid
  174. # headers = {'content-type': 'application/json'}
  175. # r = requests.put(url, headers=headers)
  176. # j_r = json.loads(r.content)
  177. # print json.dumps(j_r, ensure_ascii=False)
  178. # self.assertEqual('200', j_r['state']['code'])
  179. # def test_56_suspend(self):
  180. # url = TestGuest.base_url + '/guests/_suspend/' + TestGuest.uuid
  181. # headers = {'content-type': 'application/json'}
  182. # r = requests.put(url, headers=headers)
  183. # j_r = json.loads(r.content)
  184. # print json.dumps(j_r, ensure_ascii=False)
  185. # self.assertEqual('200', j_r['state']['code'])
  186. # def test_57_resume(self):
  187. # url = TestGuest.base_url + '/guests/_resume/' + TestGuest.uuid
  188. # headers = {'content-type': 'application/json'}
  189. # r = requests.put(url, headers=headers)
  190. # j_r = json.loads(r.content)
  191. # print json.dumps(j_r, ensure_ascii=False)
  192. # def test_58_attach_disk(self):
  193. # TestGuest.disk_uuid = '234670cb-3ce4-4ef9-ba23-12bed636184c'
  194. # url = TestGuest.base_url + '/guest/_attach_disk/' + TestGuest.uuid + '/' + TestGuest.disk_uuid
  195. # headers = {'content-type': 'application/json'}
  196. # r = requests.put(url, headers=headers)
  197. # j_r = json.loads(r.content)
  198. # print json.dumps(j_r, ensure_ascii=False)
  199. # self.assertEqual('200', j_r['state']['code'])
  200. # def test_59_detach_disk(self):
  201. # TestGuest.disk_uuid = '234670cb-3ce4-4ef9-ba23-12bed636184c'
  202. # url = TestGuest.base_url + '/guest/_detach_disk/' + TestGuest.disk_uuid
  203. # headers = {'content-type': 'application/json'}
  204. # r = requests.put(url, headers=headers)
  205. # j_r = json.loads(r.content)
  206. # print json.dumps(j_r, ensure_ascii=False)
  207. # self.assertEqual('200', j_r['state']['code'])
  208. if __name__ == '__main__':
  209. unittest.main()