Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
20 lines
461 B
Go
20 lines
461 B
Go
package router
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestAThreadIDIsANameNotAPayload(t *testing.T) {
|
|
for _, ok := range []string{"9b2f6c1e-4a0d-4b8e-9f0a-1c2d3e4f5a6b", "chat_1.v2:x"} {
|
|
if err := validThreadID(ok); err != nil {
|
|
t.Errorf("%q refused: %v", ok, err)
|
|
}
|
|
}
|
|
for _, bad := range []string{strings.Repeat("a", maxThreadID+1), "a b", "../x", "x\n", "ş"} {
|
|
if err := validThreadID(bad); err == nil {
|
|
t.Errorf("%q accepted", bad)
|
|
}
|
|
}
|
|
}
|