Add projects
This commit is contained in:
parent
2d3a9ad623
commit
8b607dd700
1802 changed files with 503346 additions and 2 deletions
56
backend/internal/translator/common/cache_control_test.go
Normal file
56
backend/internal/translator/common/cache_control_test.go
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
func TestAttachCacheControl_CopiesObject(t *testing.T) {
|
||||
src := gjson.Parse(`{"text":"hi","cache_control":{"type":"ephemeral","ttl":"5m"}}`)
|
||||
dst := []byte(`{"type":"text","text":"hi"}`)
|
||||
|
||||
out := AttachCacheControl(dst, src)
|
||||
if got := gjson.GetBytes(out, "cache_control.type").String(); got != "ephemeral" {
|
||||
t.Fatalf("cache_control.type = %q, want ephemeral; out=%s", got, out)
|
||||
}
|
||||
if got := gjson.GetBytes(out, "cache_control.ttl").String(); got != "5m" {
|
||||
t.Fatalf("cache_control.ttl = %q, want 5m; out=%s", got, out)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAttachCacheControl_IgnoresMissing(t *testing.T) {
|
||||
src := gjson.Parse(`{"text":"hi"}`)
|
||||
dst := []byte(`{"type":"text","text":"hi"}`)
|
||||
|
||||
out := AttachCacheControl(dst, src)
|
||||
if gjson.GetBytes(out, "cache_control").Exists() {
|
||||
t.Fatalf("cache_control should be absent; out=%s", out)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAttachMessageCacheControl_PromotesStringContent(t *testing.T) {
|
||||
src := gjson.Parse(`{"role":"user","content":"hi","cache_control":{"type":"ephemeral"}}`)
|
||||
msg := []byte(`{"role":"user","content":"hi"}`)
|
||||
|
||||
out := AttachMessageCacheControl(msg, src)
|
||||
if got := gjson.GetBytes(out, "content.0.type").String(); got != "text" {
|
||||
t.Fatalf("content.0.type = %q, want text; out=%s", got, out)
|
||||
}
|
||||
if got := gjson.GetBytes(out, "content.0.text").String(); got != "hi" {
|
||||
t.Fatalf("content.0.text = %q, want hi; out=%s", got, out)
|
||||
}
|
||||
if got := gjson.GetBytes(out, "content.0.cache_control.type").String(); got != "ephemeral" {
|
||||
t.Fatalf("content.0.cache_control.type = %q, want ephemeral; out=%s", got, out)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAttachMessageCacheControl_SkipsWhenLastPartHasCacheControl(t *testing.T) {
|
||||
src := gjson.Parse(`{"cache_control":{"type":"ephemeral","ttl":"1h"}}`)
|
||||
msg := []byte(`{"role":"user","content":[{"type":"text","text":"hi","cache_control":{"type":"ephemeral"}}]}`)
|
||||
|
||||
out := AttachMessageCacheControl(msg, src)
|
||||
if gjson.GetBytes(out, "content.0.cache_control.ttl").Exists() {
|
||||
t.Fatalf("part-level cache_control should win; out=%s", out)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue