feat: split client tooling and add OAuth server login

This commit is contained in:
2026-09-30 17:32:14 +08:00
parent 7cb5e36c2a
commit 2d054f6b72
230 changed files with 9875 additions and 853 deletions
+18
View File
@@ -0,0 +1,18 @@
package stateio
import "testing"
func TestRequireExactJSONObject(t *testing.T) {
if err := RequireExactJSONObject([]byte(`{"version":1,"items":[]}`), "version", "items"); err != nil {
t.Fatal(err)
}
for _, payload := range []string{
`{"version":1}`,
`{"version":1,"items":[],"legacy":true}`,
`[]`,
} {
if err := RequireExactJSONObject([]byte(payload), "version", "items"); err == nil {
t.Fatalf("accepted non-current layout %s", payload)
}
}
}