Test get_queue_status endpoint.
()
| 102 | |
| 103 | @pytest.mark.asyncio |
| 104 | async def test_get_queue_status(): |
| 105 | """Test get_queue_status endpoint.""" |
| 106 | queue = asyncio.Queue() |
| 107 | lock = asyncio.Lock() |
| 108 | |
| 109 | # Add items |
| 110 | mock_request = MagicMock() |
| 111 | mock_request.stream = True |
| 112 | |
| 113 | item1 = { |
| 114 | "req_id": "req_1", |
| 115 | "enqueue_time": time.time() - 10, |
| 116 | "request_data": mock_request, |
| 117 | "cancelled": False, |
| 118 | } |
| 119 | item2 = { |
| 120 | "req_id": "req_2", |
| 121 | "enqueue_time": time.time() - 5, |
| 122 | "request_data": mock_request, |
| 123 | "cancelled": True, |
| 124 | } |
| 125 | |
| 126 | await queue.put(item1) |
| 127 | await queue.put(item2) |
| 128 | |
| 129 | # Lock the lock |
| 130 | await lock.acquire() |
| 131 | |
| 132 | response = await get_queue_status(queue, lock) |
| 133 | |
| 134 | assert isinstance(response, JSONResponse) |
| 135 | assert response.status_code == 200 |
| 136 | |
| 137 | import json |
| 138 | |
| 139 | data = json.loads(bytes(response.body)) |
| 140 | |
| 141 | assert data["queue_length"] == 2 |
| 142 | assert data["is_processing_locked"] is True |
| 143 | assert len(data["items"]) == 2 |
| 144 | assert data["items"][0]["req_id"] == "req_1" |
| 145 | assert data["items"][1]["req_id"] == "req_2" |
| 146 | assert data["items"][0]["wait_time_seconds"] >= 10 |
| 147 | |
| 148 | lock.release() |
| 149 | |
| 150 | |
| 151 | @pytest.mark.asyncio |
nothing calls this directly
no test coverage detected