batch_mode_batch_scribe/
language_model_api_url.rs1crate::ix!();
3
4#[derive(Clone,Debug, Serialize, Deserialize)]
6pub enum LanguageModelApiUrl {
7
8 #[serde(rename = "/v1/chat/completions")]
9 ChatCompletions,
10}
11
12impl fmt::Display for LanguageModelApiUrl {
13
14 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
15 match self {
16 LanguageModelApiUrl::ChatCompletions => write!(f, "/v1/chat/completions"),
17 }
18 }
19}
20#[cfg(test)]
21mod language_model_api_url_exhaustive_tests {
22 use super::*;
23
24 #[traced_test]
25 fn display_renders_chat_completions() {
26 trace!("===== BEGIN TEST: display_renders_chat_completions =====");
27 let url = LanguageModelApiUrl::ChatCompletions;
28 let result = format!("{}", url);
29 debug!("Formatted Display output: {}", result);
30 pretty_assert_eq!(result, "/v1/chat/completions", "Display should render the correct endpoint");
31 trace!("===== END TEST: display_renders_chat_completions =====");
32 }
33
34 #[traced_test]
35 fn serialize_chat_completions_produces_expected_json() {
36 trace!("===== BEGIN TEST: serialize_chat_completions_produces_expected_json =====");
37 let url = LanguageModelApiUrl::ChatCompletions;
38 let serialized = serde_json::to_string(&url)
39 .expect("Failed to serialize LanguageModelApiUrl");
40 debug!("Serialized JSON: {}", serialized);
41 pretty_assert_eq!(serialized, r#""/v1/chat/completions""#, "Serialization should match expected JSON");
42 trace!("===== END TEST: serialize_chat_completions_produces_expected_json =====");
43 }
44
45 #[traced_test]
46 fn deserialize_chat_completions_from_json() {
47 trace!("===== BEGIN TEST: deserialize_chat_completions_from_json =====");
48 let json_str = r#""/v1/chat/completions""#;
49 let deserialized: LanguageModelApiUrl = serde_json::from_str(json_str)
50 .expect("Failed to deserialize LanguageModelApiUrl");
51 debug!("Deserialized enum variant: {:?}", deserialized);
52 match deserialized {
53 LanguageModelApiUrl::ChatCompletions => {
54 trace!("Correctly deserialized as ChatCompletions");
55 }
56 }
57 trace!("===== END TEST: deserialize_chat_completions_from_json =====");
58 }
59}