@@ -246,6 +246,49 @@ class Meta:
246246 )
247247
248248
249+ class LemurRequestDetails (factory .Factory ):
250+ class Meta :
251+ model = types .LemurRequestDetails
252+
253+ request_endpoint = factory .Faker ("text" )
254+ temperature = factory .Faker ("pyfloat" )
255+ final_model = factory .Faker ("text" )
256+ max_output_size = factory .Faker ("pyint" )
257+ created_at = factory .Faker ("iso8601" )
258+
259+
260+ class LemurTaskRequestDetails (LemurRequestDetails ):
261+ """Request details specific to LeMUR task operations"""
262+
263+ request_endpoint = "/lemur/v3/task"
264+ prompt = factory .Faker ("text" )
265+
266+
267+ class LemurSummaryRequestDetails (LemurRequestDetails ):
268+ """Request details specific to LeMUR summary operations"""
269+
270+ request_endpoint = "/lemur/v3/summary"
271+ context = factory .LazyFunction (lambda : {"key" : "value" })
272+ answer_format = factory .Faker ("sentence" )
273+
274+
275+ class LemurQuestionRequestDetails (LemurRequestDetails ):
276+ """Request details specific to LeMUR question-answer operations"""
277+
278+ request_endpoint = "/lemur/v3/question-answer"
279+ questions = [
280+ {
281+ "question" : "What is the main topic?" ,
282+ "answer_format" : "short sentence" ,
283+ "context" : "Meeting context" ,
284+ },
285+ {
286+ "question" : "What is the sentiment?" ,
287+ "answer_options" : ["positive" , "negative" , "neutral" ],
288+ },
289+ ]
290+
291+
249292class LemurUsage (factory .Factory ):
250293 class Meta :
251294 model = types .LemurUsage
@@ -310,6 +353,43 @@ class Meta:
310353 request_id = factory .Faker ("uuid4" )
311354 usage = factory .SubFactory (LemurUsage )
312355 response = factory .Faker ("text" )
356+ request = factory .SubFactory (LemurRequestDetails )
357+
358+
359+ # Factories specifically for get_response endpoint tests (include request field)
360+ class LemurTaskResponseWithRequest (factory .Factory ):
361+ class Meta :
362+ model = types .LemurTaskResponse
363+
364+ request_id = factory .Faker ("uuid4" )
365+ usage = factory .SubFactory (LemurUsage )
366+ response = factory .Faker ("text" )
367+ request = factory .SubFactory (LemurTaskRequestDetails )
368+
369+
370+ class LemurSummaryResponseWithRequest (factory .Factory ):
371+ class Meta :
372+ model = types .LemurSummaryResponse
373+
374+ request_id = factory .Faker ("uuid4" )
375+ usage = factory .SubFactory (LemurUsage )
376+ response = factory .Faker ("text" )
377+ request = factory .SubFactory (LemurSummaryRequestDetails )
378+
379+
380+ class LemurQuestionResponseWithRequest (factory .Factory ):
381+ class Meta :
382+ model = types .LemurQuestionResponse
383+
384+ request_id = factory .Faker ("uuid4" )
385+ usage = factory .SubFactory (LemurUsage )
386+ response = factory .List (
387+ [
388+ factory .SubFactory (LemurQuestionAnswer ),
389+ factory .SubFactory (LemurQuestionAnswer ),
390+ ]
391+ )
392+ request = factory .SubFactory (LemurQuestionRequestDetails )
313393
314394
315395class LemurPurgeResponse (factory .Factory ):
0 commit comments