返回 DeepSeek-Reasonix
context_session_test.go
根目录 / internal / serve / context_session_test.go
1 package serve
2
3 import (
4 "net/http"
5 "net/http/httptest"
6 "testing"
7 )
8
9 func TestContextReadRejectsStaleSessionIdentity(t *testing.T) {
10 srv, _, _, current := newExclusiveSessionServe(t)
11 server := httptest.NewServer(srv.Handler())
12 defer server.Close()
13 for _, test := range []struct {
14 id string
15 want int
16 }{
17 {id: current.SessionID, want: http.StatusOK},
18 {id: "other-session", want: http.StatusConflict},
19 } {
20 req, err := http.NewRequest(http.MethodGet, server.URL+"/context", nil)
21 if err != nil {
22 t.Fatal(err)
23 }
24 req.Header.Set(expectedSessionIDHeader, test.id)
25 resp, err := server.Client().Do(req)
26 if err != nil {
27 t.Fatal(err)
28 }
29 _ = resp.Body.Close()
30 if resp.StatusCode != test.want {
31 t.Fatalf("session %q: status = %d, want %d", test.id, resp.StatusCode, test.want)
32 }
33 }
34 }
35
35 lines GO