test_01_api_environment.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. # -*- coding: utf-8 -*-
  2. """Test Apis."""
  3. import urllib
  4. import pytest
  5. from .factories import TestApiBase
  6. from .utils import *
  7. @pytest.mark.usefixtures('db')
  8. class TestApiEnv(TestApiBase):
  9. """api role testing"""
  10. uri_prefix = '/api/environment'
  11. env_id = {}
  12. env_data = {
  13. 'env_name': u'测试环境',
  14. 'space_id': 1,
  15. }
  16. user_name_2 = u'Production'
  17. env_data_2 = {
  18. 'env_name': u'Production',
  19. 'space_id': 1,
  20. }
  21. env_data_remove = {
  22. 'env_name': u'environment_remove',
  23. 'space_id': 1,
  24. }
  25. def test_init(self, user, testapp, client, db):
  26. self.init_vars(self.env_data)
  27. self.init_vars(self.env_data_2)
  28. self.init_vars(self.env_data_remove)
  29. def test_create(self, user, testapp, client, db):
  30. """create successful."""
  31. # 1.create another role
  32. resp = client.post('%s/' % (self.uri_prefix), data=self.env_data)
  33. response_success(resp)
  34. compare_req_resp(self.env_data, resp)
  35. self.env_data['id'] = resp_json(resp)['data']['id']
  36. # f.write(str(self.env_data))
  37. # f.write(str(resp_json(resp)['data']['id']))
  38. # 2.create another role
  39. resp = client.post('%s/' % (self.uri_prefix), data=self.env_data_2)
  40. response_success(resp)
  41. compare_req_resp(self.env_data_2, resp)
  42. self.env_data_2['id'] = resp_json(resp)['data']['id']
  43. def test_one(self, user, testapp, client, db):
  44. """item successful."""
  45. # Goes to homepage
  46. resp = client.get('%s/%d' % (self.uri_prefix, self.env_data['id']))
  47. response_success(resp)
  48. compare_req_resp(self.env_data, resp)
  49. def test_get_list_page_size(self, user, testapp, client):
  50. """test list should create 2 users at least, due to test pagination, searching."""
  51. query = {
  52. 'page': 1,
  53. 'size': 1,
  54. }
  55. response = {
  56. 'count': 2,
  57. }
  58. resp = client.get('%s/?%s' % (self.uri_prefix, urlencode(query)))
  59. response_success(resp)
  60. resp_dict = resp_json(resp)
  61. compare_in(self.env_data_2, resp_dict['data']['list'].pop())
  62. compare_req_resp(response, resp)
  63. def test_get_list_query(self, user, testapp, client):
  64. """test list should create 2 users at least, due to test pagination, searching."""
  65. query = {
  66. 'page': 1,
  67. 'size': 1,
  68. 'kw': self.user_name_2
  69. }
  70. response = {
  71. 'count': 1,
  72. }
  73. resp = client.get('%s/?%s' % (self.uri_prefix, urlencode(query)))
  74. response_success(resp)
  75. resp_dict = resp_json(resp)
  76. compare_in(self.env_data_2, resp_dict['data']['list'].pop())
  77. compare_req_resp(response, resp)
  78. def test_get_update(self, user, testapp, client):
  79. """Login successful."""
  80. # 1.update
  81. env_data_2 = self.env_data_2
  82. env_data_2['env_name'] = 'Tester_edit'
  83. resp = client.put('%s/%d' % (self.uri_prefix, self.env_data_2['id']), data=env_data_2)
  84. response_success(resp)
  85. compare_req_resp(env_data_2, resp)
  86. # 3.get it
  87. resp = client.get('%s/%d' % (self.uri_prefix, self.env_data_2['id']))
  88. response_success(resp)
  89. compare_req_resp(env_data_2, resp)
  90. def test_get_remove(self, user, testapp, client):
  91. """Login successful."""
  92. # 1.create another role
  93. resp = client.post('%s/' % (self.uri_prefix), data=self.env_data_remove)
  94. env_id = resp_json(resp)['data']['id']
  95. response_success(resp)
  96. # 2.delete
  97. resp = client.delete('%s/%d' % (self.uri_prefix, env_id))
  98. response_success(resp)
  99. # 3.get it
  100. resp = client.get('%s/%d' % (self.uri_prefix, env_id))
  101. response_error(resp)