@@ -33,6 +33,45 @@ def test_consume_success(self, dlq, mock_success):
3333 {"id" : "msg2" , "content" : "test message 2" },
3434 ]
3535
36+ def test_consume_returns_empty_list_when_no_messages (self , dlq , mock_success ):
37+ """Test DLQ consume returns empty list when there are no messages to consume."""
38+ with mock_success (json_payloads = [[]]) as mock_get :
39+ result = dlq .consume (batch_size = 50 )
40+
41+ mock_get .assert_called_once_with (
42+ "GET" , f"{ dlq .endpoint } /consume" , params = {"batch_size" : 50 }
43+ )
44+ assert result == []
45+
46+ def test_consume_returns_empty_list_on_204_no_content (self , dlq ):
47+ """Test DLQ consume returns empty list when API responds with 204 No Content."""
48+ mock_response = mock_responses .create_mock_response_factory ()(
49+ status_code = 204 ,
50+ json_data = None ,
51+ )
52+ with patch ("httpx.Client.request" , return_value = mock_response ) as mock_get :
53+ result = dlq .consume (batch_size = 50 )
54+
55+ mock_get .assert_called_once_with (
56+ "GET" , f"{ dlq .endpoint } /consume" , params = {"batch_size" : 50 }
57+ )
58+ assert result == []
59+
60+ def test_consume_returns_empty_list_on_200_empty_body (self , dlq ):
61+ """Test DLQ consume returns empty list when API returns 200 with empty body."""
62+ mock_response = mock_responses .create_mock_response_factory ()(
63+ status_code = 200 ,
64+ json_data = None ,
65+ )
66+ mock_response .content = b""
67+ with patch ("httpx.Client.request" , return_value = mock_response ) as mock_get :
68+ result = dlq .consume (batch_size = 50 )
69+
70+ mock_get .assert_called_once_with (
71+ "GET" , f"{ dlq .endpoint } /consume" , params = {"batch_size" : 50 }
72+ )
73+ assert result == []
74+
3675 @pytest .mark .parametrize (
3776 "scenario" ,
3877 [
0 commit comments