seedChatDependencies creates a user, organization, and chat model config in the database for use in relay tests.
( t *testing.T, db database.Store, )
| 104 | // seedChatDependencies creates a user, organization, and chat model |
| 105 | // config in the database for use in relay tests. |
| 106 | func seedChatDependencies( |
| 107 | t *testing.T, |
| 108 | db database.Store, |
| 109 | ) (database.User, database.Organization, database.ChatModelConfig) { |
| 110 | t.Helper() |
| 111 | |
| 112 | safetyNet := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { |
| 113 | rw.Header().Set("Content-Type", "application/json") |
| 114 | rw.WriteHeader(http.StatusInternalServerError) |
| 115 | _, _ = rw.Write([]byte(`{"error":{"message":"unexpected OpenAI request in chatd relay test safety net"}}`)) |
| 116 | })) |
| 117 | t.Cleanup(safetyNet.Close) |
| 118 | |
| 119 | user := dbgen.User(t, db, database.User{}) |
| 120 | org := dbgen.Organization(t, db, database.Organization{}) |
| 121 | dbgen.OrganizationMember(t, db, database.OrganizationMember{ |
| 122 | UserID: user.ID, |
| 123 | OrganizationID: org.ID, |
| 124 | }) |
| 125 | provider := dbgen.AIProvider(t, db, database.AIProvider{ |
| 126 | Type: database.AiProviderTypeOpenai, |
| 127 | Name: "test-" + uuid.NewString(), |
| 128 | BaseUrl: safetyNet.URL, |
| 129 | }) |
| 130 | dbgen.AIProviderKey(t, db, database.AIProviderKey{ |
| 131 | ProviderID: provider.ID, |
| 132 | }) |
| 133 | model := dbgen.ChatModelConfig(t, db, database.ChatModelConfig{ |
| 134 | Provider: "openai", |
| 135 | AIProviderID: uuid.NullUUID{UUID: provider.ID, Valid: true}, |
| 136 | CreatedBy: uuid.NullUUID{UUID: user.ID, Valid: true}, |
| 137 | UpdatedBy: uuid.NullUUID{UUID: user.ID, Valid: true}, |
| 138 | IsDefault: true, |
| 139 | }) |
| 140 | return user, org, model |
| 141 | } |
| 142 | |
| 143 | func seedWaitingChat( |
| 144 | t *testing.T, |
no test coverage detected