@@ -1566,3 +1566,52 @@ def redact_and_forward(ingest_request: TracesIngestRequest):
15661566 mock_traces_client_instance .ingest_traces .assert_called_once ()
15671567 payload : TracesIngestRequest = mock_traces_client_instance .ingest_traces .call_args .args [0 ]
15681568 assert payload .traces [0 ].input == "This is a [REDACTED]"
1569+
1570+
1571+ @patch ("galileo.logger.logger.LogStreams" )
1572+ @patch ("galileo.logger.logger.Projects" )
1573+ @patch ("galileo.logger.logger.Traces" )
1574+ def test_add_single_llm_span_trace_ingestion (
1575+ mock_traces_client : Mock , mock_projects_client : Mock , mock_logstreams_client : Mock
1576+ ) -> None :
1577+ mock_traces_client_instance = setup_mock_traces_client (mock_traces_client )
1578+ setup_mock_projects_client (mock_projects_client )
1579+ setup_mock_logstreams_client (mock_logstreams_client )
1580+
1581+ logger = GalileoLogger (project = "my_project" , log_stream = "my_log_stream" )
1582+ created_at = datetime .datetime .now ()
1583+ metadata = {"key" : "value" }
1584+ tags = ["tag1" , "tag2" ]
1585+
1586+ logger .add_single_llm_span_trace (
1587+ input = "prompt" ,
1588+ output = "response" ,
1589+ model = "gpt-4" ,
1590+ name = "single-llm-trace" ,
1591+ created_at = created_at ,
1592+ metadata = metadata ,
1593+ tags = tags ,
1594+ )
1595+
1596+ logger .flush ()
1597+
1598+ mock_traces_client_instance .ingest_traces .assert_called_once ()
1599+ payload : TracesIngestRequest = mock_traces_client_instance .ingest_traces .call_args .args [0 ]
1600+
1601+ assert len (payload .traces ) == 1
1602+ trace = payload .traces [0 ]
1603+
1604+ assert trace .name == "single-llm-trace"
1605+ assert trace .created_at == created_at
1606+ assert trace .user_metadata == metadata
1607+ assert trace .tags == tags
1608+
1609+ assert len (trace .spans ) == 1
1610+ span = trace .spans [0 ]
1611+ assert isinstance (span , LlmSpan )
1612+ assert span .input [0 ].content == "prompt"
1613+ assert span .output .content == "response"
1614+ assert span .model == "gpt-4"
1615+
1616+ assert logger .traces == []
1617+ assert logger ._parent_stack == deque ()
0 commit comments