MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / TestExtractSessionID

Function TestExtractSessionID

sdk/cliproxy/auth/selector_test.go:408–461  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

406}
407
408func TestExtractSessionID(t *testing.T) {
409 t.Parallel()
410
411 tests := []struct {
412 name string
413 payload string
414 want string
415 }{
416 {
417 name: "valid_claude_code_format",
418 payload: `{"metadata":{"user_id":"user_3f221fe75652cf9a89a31647f16274bb8036a9b85ac4dc226a4df0efec8dc04d_account__session_ac980658-63bd-4fb3-97ba-8da64cb1e344"}}`,
419 want: "claude:ac980658-63bd-4fb3-97ba-8da64cb1e344",
420 },
421 {
422 name: "json_user_id_with_session_id",
423 payload: `{"metadata":{"user_id":"{\"device_id\":\"be82c3aee1e0c2d74535bacc85f9f559228f02dd8a17298cf522b71e6c375714\",\"account_uuid\":\"\",\"session_id\":\"e26d4046-0f88-4b09-bb5b-f863ab5fb24e\"}"}}`,
424 want: "claude:e26d4046-0f88-4b09-bb5b-f863ab5fb24e",
425 },
426 {
427 name: "json_user_id_without_session_id",
428 payload: `{"metadata":{"user_id":"{\"device_id\":\"abc123\"}"}}`,
429 want: `user:{"device_id":"abc123"}`,
430 },
431 {
432 name: "no_session_but_user_id",
433 payload: `{"metadata":{"user_id":"user_abc123"}}`,
434 want: "user:user_abc123",
435 },
436 {
437 name: "conversation_id",
438 payload: `{"conversation_id":"conv-12345"}`,
439 want: "conv:conv-12345",
440 },
441 {
442 name: "no_metadata",
443 payload: `{"model":"claude-3"}`,
444 want: "",
445 },
446 {
447 name: "empty_payload",
448 payload: ``,
449 want: "",
450 },
451 }
452
453 for _, tt := range tests {
454 t.Run(tt.name, func(t *testing.T) {
455 got := extractSessionID([]byte(tt.payload))
456 if got != tt.want {
457 t.Errorf("extractSessionID() = %q, want %q", got, tt.want)
458 }
459 })
460 }
461}
462
463func TestSessionAffinitySelector_SameSessionSameAuth(t *testing.T) {
464 t.Parallel()

Callers

nothing calls this directly

Calls 2

extractSessionIDFunction · 0.85
RunMethod · 0.80

Tested by

no test coverage detected