MCPcopy Index your code
hub / github.com/coder/coder / TestChatParam

Function TestChatParam

coderd/httpmw/chatparam_test.go:20–142  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestChatParam(t *testing.T) {
21 t.Parallel()
22
23 setupAuthentication := func(db database.Store) (*http.Request, database.User) {
24 user := dbgen.User(t, db, database.User{})
25 _, token := dbgen.APIKey(t, db, database.APIKey{
26 UserID: user.ID,
27 })
28
29 r := httptest.NewRequest("GET", "/", nil)
30 r.Header.Set(codersdk.SessionTokenHeader, token)
31
32 ctx := chi.NewRouteContext()
33 r = r.WithContext(context.WithValue(r.Context(), chi.RouteCtxKey, ctx))
34 return r, user
35 }
36
37 insertChat := func(t *testing.T, db database.Store, ownerID, organizationID uuid.UUID) database.Chat {
38 t.Helper()
39
40 _ = dbgen.ChatProvider(t, db, database.ChatProvider{
41 APIKey: "test-api-key",
42 BaseUrl: "https://api.openai.com/v1",
43 CreatedBy: uuid.NullUUID{UUID: ownerID, Valid: true},
44 })
45
46 modelConfig := dbgen.ChatModelConfig(t, db, database.ChatModelConfig{
47 IsDefault: true,
48 })
49
50 chat := dbgen.Chat(t, db, database.Chat{
51 OrganizationID: organizationID,
52 OwnerID: ownerID,
53 LastModelConfigID: modelConfig.ID,
54 Title: "Test chat",
55 })
56
57 return chat
58 }
59
60 t.Run("None", func(t *testing.T) {
61 t.Parallel()
62 db, _ := dbtestutil.NewDB(t)
63
64 rtr := chi.NewRouter()
65 rtr.Use(httpmw.ExtractChatParam(db))
66 rtr.Get("/", nil)
67
68 r, _ := setupAuthentication(db)
69 rw := httptest.NewRecorder()
70 rtr.ServeHTTP(rw, r)
71
72 res := rw.Result()
73 defer res.Body.Close()
74 require.Equal(t, http.StatusBadRequest, res.StatusCode)
75 })
76
77 t.Run("NotFound", func(t *testing.T) {

Callers

nothing calls this directly

Calls 15

UserFunction · 0.92
APIKeyFunction · 0.92
ChatProviderFunction · 0.92
ChatModelConfigFunction · 0.92
ChatFunction · 0.92
NewDBFunction · 0.92
ExtractChatParamFunction · 0.92
ExtractAPIKeyMWFunction · 0.92
ChatParamFunction · 0.92
OrganizationFunction · 0.92
insertChatFunction · 0.85
WithContextMethod · 0.80

Tested by

no test coverage detected