Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package storesqlite
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestHasPersistedProviderTurnBindingRequiresOpaqueJSON(t *testing.T) {
|
|
t.Parallel()
|
|
tests := []struct {
|
|
name string
|
|
turn Turn
|
|
want bool
|
|
}{
|
|
{
|
|
name: "agent binding",
|
|
turn: Turn{
|
|
TurnID: "turn-1", RootProviderTurnID: "provider-turn-1",
|
|
ProviderTurnBindingJSON: json.RawMessage(`{"schemaVersion":1}`),
|
|
},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "historical identity only",
|
|
turn: Turn{
|
|
TurnID: "turn-1", RootProviderTurnID: "synthetic-provider-turn",
|
|
ProviderTurnBindingJSON: json.RawMessage(`{}`),
|
|
},
|
|
},
|
|
{
|
|
name: "canonical identity echo",
|
|
turn: Turn{
|
|
TurnID: "turn-1", RootProviderTurnID: "turn-1",
|
|
ProviderTurnBindingJSON: json.RawMessage(`{"schemaVersion":1}`),
|
|
},
|
|
},
|
|
{
|
|
name: "invalid json",
|
|
turn: Turn{
|
|
TurnID: "turn-1", RootProviderTurnID: "provider-turn-1",
|
|
ProviderTurnBindingJSON: json.RawMessage(`[]`),
|
|
},
|
|
},
|
|
}
|
|
for _, test := range tests {
|
|
test := test
|
|
t.Run(test.name, func(t *testing.T) {
|
|
t.Parallel()
|
|
if got := HasPersistedProviderTurnBinding(test.turn); got != test.want {
|
|
t.Fatalf("HasPersistedProviderTurnBinding() = %v, want %v", got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|