"""Main handler integration tests.""" import requests from tests.integration import QA_BASE_URL def test_get_statuses() -> None: """Test statuses endpoint.""" response = requests.get(f"{QA_BASE_URL}/statuses") response_data = response.json() assert response.status_code == 200 assert response_data["waiting"]["title"] == "Waiting" assert sorted(response_data["waiting"]["statuses"]) == [ "encoded", "new", "queued_for_delivery", "ready_to_deliver", "ready_to_encode", ] assert response_data["processing"]["title"] == "Processing" assert sorted(response_data["processing"]["statuses"]) == ["delivering", "encoding"] assert response_data["cancelled"]["title"] == "Cancelled" assert sorted(response_data["cancelled"]["statuses"]) == [ "cancelled", "ineligible", "system_cancelled", ] assert response_data["stuck"]["title"] == "Stuck" assert sorted(response_data["stuck"]["statuses"]) == [ "delivering_stuck", "encoding_stuck", ] assert response_data["completed"] == { "title": "Completed", "statuses": ["delivered"], } assert response_data["error"]["title"] == "Error" assert sorted(response_data["error"]["statuses"]) == [ "audio_encoding_error", "audio_missing", "audio_missing_for_delivery", "delivery_failure", "image_encoding_error", "image_missing", "image_missing_for_delivery", "incorrect_audio_count", "incorrect_audio_count_for_delivery", "metadata_error", "metadata_missing", "system_error", "video_encoding_error", "video_missing", "video_missing_for_delivery", ] def test_get_priorities() -> None: """Test priorities endpoint.""" response = requests.get(f"{QA_BASE_URL}/priorities") assert response.status_code == 200 assert response.json() == { "items": [ {"priority_id": 1, "title": "High"}, {"priority_id": 2, "title": "Normal"}, {"priority_id": 3, "title": "Low"}, ], } def test_get_encoders() -> None: """Test encoders endpoint.""" response = requests.get(f"{QA_BASE_URL}/encoders") assert response.status_code == 200 assert response.json() == [ {"encoder_id": 10, "title": "Vector 1"}, {"encoder_id": 17, "title": "Video Encoder"}, {"encoder_id": 18, "title": "Vector 2.5"}, {"encoder_id": 19, "title": "Vector 2.5 Hard Drive"}, {"encoder_id": 23, "title": "Vector Bulk Feeds"}, ] def test_get_encoding_statuses() -> None: """Test encoding statuses endpoint.""" response = requests.get(f"{QA_BASE_URL}/encoding-statuses") assert response.status_code == 200 assert response.json() == {"N": "No", "Y": "Yes", "S": "Suspended"} def test_get_delivery_statuses() -> None: """Test delivery statuses endpoint.""" response = requests.get(f"{QA_BASE_URL}/delivery-statuses") assert response.status_code == 200 assert response.json() == {"N": "No", "Y": "Yes", "S": "Suspended"}