openai_mock/validators/
req_required_fields.rs1use crate::models::completion::CompletionRequest;
2use crate::validators::ValidationError;
3
4pub fn validate_required_fields(req: &CompletionRequest) -> Result<(), ValidationError> {
6 if req.model.trim().is_empty() {
8 return Err(ValidationError::new("model field must not be empty"));
9 }
10
11 Ok(())
15}
16
17#[cfg(test)]
18mod tests {
19 use super::*;
20 use serde_json::json;
21
22 #[test]
23 fn test_validate_empty_model() {
24 let req = CompletionRequest {
25 model: "".to_string(),
26 prompt: Some(json!("test prompt")),
27 ..Default::default() };
29
30 let result = validate_required_fields(&req);
31 assert!(result.is_err());
32 assert_eq!(
33 result.unwrap_err().to_string(),
34 "model field must not be empty"
35 );
36 }
37
38 #[test]
39 fn test_validate_valid_request() {
40 let req = CompletionRequest {
41 model: "gpt-3.5-turbo".to_string(),
42 prompt: Some(json!("test prompt")),
43 ..Default::default()
44 };
45
46 let result = validate_required_fields(&req);
47 assert!(result.is_ok());
48 }
49}