62 lines
1.9 KiB
Go
62 lines
1.9 KiB
Go
package cli
|
|
|
|
import "testing"
|
|
|
|
func TestResolvePromptSessionIDUsesVersionedInputIdentity(t *testing.T) {
|
|
got, err := resolvePromptSessionID("", " seriatim/input/transcript ", []byte("{\"entries\":[\"one\"]}\n"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
const want = "notarius:v1:e15fefdca48653e73248b4157900547be1fd34250c0138f8d3d1f2e89b43bb25"
|
|
if got != want {
|
|
t.Fatalf("resolved session = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolvePromptSessionIDStabilityAndOverride(t *testing.T) {
|
|
rawInput := []byte("same input")
|
|
baseline, err := resolvePromptSessionID("", "input/transcript", rawInput)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
repeated, err := resolvePromptSessionID("", "input/transcript", rawInput)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if baseline != repeated {
|
|
t.Fatalf("resolved sessions = %q and %q, want stable value", baseline, repeated)
|
|
}
|
|
|
|
differentModule, err := resolvePromptSessionID("", "input/other", rawInput)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if baseline == differentModule {
|
|
t.Fatalf("resolved sessions = %q for distinct input modules", baseline)
|
|
}
|
|
|
|
differentInput, err := resolvePromptSessionID("", "input/transcript", []byte("same inpuu"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if baseline == differentInput {
|
|
t.Fatalf("resolved sessions = %q for distinct input bytes", baseline)
|
|
}
|
|
|
|
override, err := resolvePromptSessionID(" explicit-session ", "input/other", []byte("different input"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if override != "explicit-session" {
|
|
t.Fatalf("resolved override = %q, want %q", override, "explicit-session")
|
|
}
|
|
}
|
|
|
|
func TestResolvePromptSessionIDRejectsEmptyInputModule(t *testing.T) {
|
|
for _, explicitSessionID := range []string{"", "explicit-session"} {
|
|
if _, err := resolvePromptSessionID(explicitSessionID, " \t", []byte("input")); err == nil {
|
|
t.Fatalf("resolvePromptSessionID(%q) error = nil, want empty module failure", explicitSessionID)
|
|
}
|
|
}
|
|
}
|