test_disk.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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/27'
  8. __contact__ = 'james.iter.cn@gmail.com'
  9. __copyright__ = '(c) 2017 by James Iter.'
  10. class TestDisk(unittest.TestCase):
  11. base_url = 'http://127.0.0.1:8008/api'
  12. uuid = ''
  13. new_size = 200
  14. uuid_list = list()
  15. def setUp(self):
  16. pass
  17. def tearDown(self):
  18. pass
  19. # 创建 Disk
  20. def test_11_create(self):
  21. payload = {
  22. "size": 10
  23. }
  24. url = TestDisk.base_url + '/disk'
  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. def test_12_get_list(self):
  31. url = TestDisk.base_url + '/disks'
  32. headers = {'content-type': 'application/json'}
  33. r = requests.get(url, headers=headers)
  34. j_r = json.loads(r.content)
  35. print json.dumps(j_r, ensure_ascii=False)
  36. TestDisk.uuid = j_r['data'][-1]['uuid']
  37. self.assertEqual('200', j_r['state']['code'])
  38. for disk in j_r['data']:
  39. TestDisk.uuid_list.append(disk['uuid'])
  40. # @unittest.skip('skip resize disk')
  41. def test_13_disk_resize(self):
  42. url = TestDisk.base_url + '/disk/_disk_resize/' + TestDisk.uuid + '/' + TestDisk.new_size.__str__()
  43. headers = {'content-type': 'application/json'}
  44. r = requests.put(url, headers=headers)
  45. j_r = json.loads(r.content)
  46. print json.dumps(j_r, ensure_ascii=False)
  47. self.assertEqual('200', j_r['state']['code'])
  48. # @unittest.skip('skip update disk')
  49. def test_14_update(self):
  50. payload = {
  51. "label": "Hello-disk"
  52. }
  53. url = TestDisk.base_url + '/disk/' + TestDisk.uuid
  54. headers = {'content-type': 'application/json'}
  55. r = requests.patch(url, data=json.dumps(payload), headers=headers)
  56. j_r = json.loads(r.content)
  57. print json.dumps(j_r, ensure_ascii=False)
  58. self.assertEqual('200', j_r['state']['code'])
  59. # 校验更新结果
  60. # @unittest.skip('skip get disk')
  61. # def test_15_get(self):
  62. # TestDisk.uuid = 'fff8aead-3206-4820-8c98-146178a91cce'
  63. # url = TestDisk.base_url + '/disk/' + TestDisk.uuid
  64. # headers = {'content-type': 'application/json'}
  65. # r = requests.get(url, headers=headers)
  66. # j_r = json.loads(r.content)
  67. # print json.dumps(j_r, ensure_ascii=False)
  68. # self.assertEqual('200', j_r['state']['code'])
  69. # self.assertEqual(TestDisk.new_size, j_r['data']['size'])
  70. # self.assertEqual('Hello-disk', j_r['data']['label'])
  71. # def test_16_content_search(self):
  72. # url = TestDisk.base_url + '/disks/_search?keyword=hello'
  73. # headers = {'content-type': 'application/json'}
  74. # r = requests.get(url, headers=headers)
  75. # j_r = json.loads(r.content)
  76. # print json.dumps(j_r, ensure_ascii=False)
  77. # self.assertEqual('200', j_r['state']['code'])
  78. # def test_17_detach_disk(self):
  79. # url = TestDisk.base_url + '/guest/_detach_disk/' + '49aab662-abdd-4338-bcde-60a70020daa0'
  80. # headers = {'content-type': 'application/json'}
  81. # r = requests.put(url, headers=headers)
  82. # j_r = json.loads(r.content)
  83. # print json.dumps(j_r, ensure_ascii=False)
  84. # self.assertEqual('200', j_r['state']['code'])
  85. # 删除Guest
  86. # @unittest.skip('skip delete disk')
  87. # def test_18_delete(self):
  88. # TestDisk.uuid_list.append('49aab662-abdd-4338-bcde-60a70020daa0')
  89. # for uuid in TestDisk.uuid_list:
  90. # TestDisk.uuid = uuid
  91. # url = TestDisk.base_url + '/disk/' + TestDisk.uuid
  92. # headers = {'content-type': 'application/json'}
  93. # r = requests.delete(url, headers=headers)
  94. # j_r = json.loads(r.content)
  95. # print json.dumps(j_r, ensure_ascii=False)
  96. # self.assertEqual('200', j_r['state']['code'])
  97. # def test_60_delete(self):
  98. # TestDisk.uuid = 'fff8aead-3206-4820-8c98-146178a91cce'
  99. # url = TestDisk.base_url + '/disks/' + TestDisk.uuid
  100. # headers = {'content-type': 'application/json'}
  101. # r = requests.delete(url, 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()