test_task_router.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import pytest
  2. import requests
  3. BASE_URL = "http://localhost:8000"
  4. _job_id = 0
  5. def create_job():
  6. action = {
  7. "id": "1",
  8. "action": "create_job",
  9. "params": [
  10. {"name": "job_name", "value": "Test Job"},
  11. {"name": "job_category", "value": "Test Category"},
  12. {"name": "job_details", "value": "test details"},
  13. {"name": "job_creator", "value": "tester"},
  14. ]
  15. }
  16. response = requests.post(BASE_URL+"/agent/job", json=action)
  17. assert response.status_code == 200
  18. data = response.json()
  19. assert "code" in data
  20. assert data["code"] == 200
  21. return data['records'][0]['id']
  22. def delete_job(job_id):
  23. action = {
  24. "id": "1",
  25. "action": "delete_job",
  26. "params": [
  27. {"name": "job_id", "value": job_id},
  28. ]
  29. }
  30. response = requests.post(BASE_URL+"/agent/job", json=action)
  31. assert response.status_code == 200
  32. def create_queue(queue_category, queue_name):
  33. action = {
  34. "id": "1",
  35. "action": "create_queue",
  36. "params": [
  37. {"name": "queue_category", "value": queue_category},
  38. {"name": "queue_name", "value": queue_name},
  39. ]
  40. }
  41. response = requests.post(BASE_URL+"/agent/queue", json=action)
  42. assert response.status_code == 200
  43. def test_create_job():
  44. global _job_id
  45. job_id = create_job()
  46. _job_id = job_id
  47. assert job_id > 0
  48. def test_create_queue():
  49. create_queue("SYSTEM", "OCR")
  50. create_queue("SYSTEM", "OCR_RESULTS")
  51. def test_get_job():
  52. global _job_id
  53. job_id = _job_id
  54. action = {
  55. "id": "1",
  56. "action": "get_job",
  57. "params": [
  58. {"name": "job_id", "value": f"{job_id}"},
  59. {"name": "job_category", "value": "Test Category"},
  60. {"name": "job_details", "value": "test details"},
  61. {"name": "job_creator", "value": "tester"},
  62. ]
  63. }
  64. response = requests.post(BASE_URL+"/agent/job", json=action)
  65. assert response.status_code == 200
  66. data = response.json()
  67. assert "code" in data
  68. assert data["code"] == 200
  69. assert data['records'][0]['job_name'] == "Test Job"
  70. assert data['records'][0]['job_category'] == "Test Category"
  71. def test_queue_put_job():
  72. global _job_id
  73. job_id = _job_id
  74. action = {
  75. "id": "1",
  76. "action": "put_job",
  77. "params": [
  78. {"name": "job_id", "value": f"{job_id}"},
  79. {"name": "queue_category", "value": "Test Queue Category"},
  80. {"name": "queue_name", "value": "Test Queue Name"},
  81. ]
  82. }
  83. response = requests.post(BASE_URL+"/agent/queue", json=action)
  84. assert response.status_code == 200
  85. data = response.json()
  86. assert "code" in data
  87. assert data["code"] == 200
  88. def test_queue_get_jobs():
  89. global _job_id
  90. action = {
  91. "id": "1",
  92. "action": "get_jobs",
  93. "params": [
  94. {"name": "queue_category", "value": "Test Queue Category"},
  95. {"name": "queue_name", "value": "Test Queue Name"},
  96. ]
  97. }
  98. response = requests.post(BASE_URL+"/agent/queue", json=action)
  99. assert response.status_code == 200
  100. data = response.json()
  101. assert "code" in data
  102. assert data["code"] == 200
  103. assert data['records'][0]['id'] == _job_id
  104. def test_queue_delete_job():
  105. global _job_id
  106. job_id = _job_id
  107. action = {
  108. "id": "1",
  109. "action": "delete_job",
  110. "params": [
  111. {"name": "job_id", "value": job_id},
  112. {"name": "queue_category", "value": "Test Queue Category"},
  113. {"name": "queue_name", "value": "Test Queue Name"},
  114. ]
  115. }
  116. response = requests.post(BASE_URL+"/agent/queue", json=action)
  117. assert response.status_code == 200
  118. data = response.json()
  119. assert "code" in data
  120. assert data["code"] == 200
  121. def delete_job():
  122. global _job_id
  123. job_id = _job_id
  124. action = {
  125. "id": "1",
  126. "action": "delete_job",
  127. "params": [
  128. {"name": "job_id", "value": f"{job_id}"}
  129. ]
  130. }
  131. response = requests.post(BASE_URL+"/agent/job", json=action)
  132. assert response.status_code == 200
  133. data = response.json()
  134. assert "code" in data
  135. assert data["code"] == 200