package openidentity import ( "encoding/json" "strings" "testing" ) func TestExternalUserJSONUsesSnakeCaseFields(t *testing.T) { payload, err := json.Marshal(ExternalUser{ ExternalID: "user:1", ExternalName: "test", SubjectID: 1, }) if err != nil { t.Fatalf("marshal external user: %v", err) } text := string(payload) for _, field := range []string{`"external_id"`, `"external_name"`, `"subject_id"`} { if !strings.Contains(text, field) { t.Fatalf("expected %s in %s", field, text) } } for _, field := range []string{"externalId", "externalName", "subjectId"} { if strings.Contains(text, field) { t.Fatalf("unexpected camelCase field %q in %s", field, text) } } }