You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Test that integer versions are handled correctly in the struct format
367
314
#[test]
368
315
fntest_model_cost_version_sent_as_number(){
369
-
// Test integer version 1
370
-
let original = r#"{"version":1,"costs":[{"modelId":"babbage-002.ft","forCompletion":false,"costPer1kTokens":0.0016}]}"#;
371
-
let deserialized:ModelCosts = serde_json::from_str(original).unwrap();
372
-
assert_debug_snapshot!(
373
-
deserialized,
374
-
@r#"
375
-
ModelCosts {
376
-
version: 1,
377
-
costs: [
378
-
ModelCost {
379
-
model_id: LazyGlob("babbage-002.ft"),
380
-
for_completion: false,
381
-
cost_per_1k_tokens: 0.0016,
382
-
},
383
-
],
384
-
models: {},
385
-
}
386
-
"#,
387
-
);
388
-
389
316
// Test integer version 2
390
317
let original_v2 = r#"{"version":2,"models":{"gpt-4":{"inputPerToken":0.03,"outputPerToken":0.06,"outputReasoningPerToken":0.12,"inputCachedPerToken":0.015}}}"#;
391
318
let deserialized_v2:ModelCosts = serde_json::from_str(original_v2).unwrap();
@@ -394,7 +321,6 @@ mod tests {
394
321
@r###"
395
322
ModelCosts {
396
323
version: 2,
397
-
costs: [],
398
324
models: {
399
325
"gpt-4": ModelCostV2 {
400
326
input_per_token: 0.03,
@@ -408,42 +334,19 @@ mod tests {
408
334
);
409
335
410
336
// Test unknown integer version
411
-
let original_unknown = r#"{"version":99,"costs":[]}"#;
337
+
let original_unknown = r#"{"version":99,"models":{}}"#;
412
338
let deserialized_unknown:ModelCosts = serde_json::from_str(original_unknown).unwrap();
413
339
assert_eq!(deserialized_unknown.version,99);
414
340
assert!(!deserialized_unknown.is_enabled());
415
341
}
416
342
417
-
#[test]
418
-
fntest_model_cost_config_v1(){
419
-
let original = r#"{"version":1,"costs":[{"modelId":"babbage-002.ft","forCompletion":false,"costPer1kTokens":0.0016}]}"#;
420
-
let deserialized:ModelCosts = serde_json::from_str(original).unwrap();
421
-
assert_debug_snapshot!(deserialized, @r###"
422
-
ModelCosts {
423
-
version: 1,
424
-
costs: [
425
-
ModelCost {
426
-
model_id: LazyGlob("babbage-002.ft"),
427
-
for_completion: false,
428
-
cost_per_1k_tokens: 0.0016,
429
-
},
430
-
],
431
-
models: {},
432
-
}
433
-
"###);
434
-
435
-
let serialized = serde_json::to_string(&deserialized).unwrap();
436
-
assert_eq!(&serialized, original);
437
-
}
438
-
439
343
#[test]
440
344
fntest_model_cost_config_v2(){
441
345
let original = r#"{"version":2,"models":{"gpt-4":{"inputPerToken":0.03,"outputPerToken":0.06,"outputReasoningPerToken":0.12,"inputCachedPerToken":0.015}}}"#;
442
346
let deserialized:ModelCosts = serde_json::from_str(original).unwrap();
0 commit comments