()
| 6184 | } |
| 6185 | |
| 6186 | func (s *MethodTestSuite) TestAIBridge() { |
| 6187 | s.Run("InsertAIBridgeInterception", s.Mocked(func(db *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 6188 | initID := uuid.UUID{3} |
| 6189 | user := testutil.Fake(s.T(), faker, database.User{ID: initID}) |
| 6190 | // testutil.Fake cannot distinguish between a zero value and an explicitly requested value which is equivalent. |
| 6191 | user.IsSystem = false |
| 6192 | user.Deleted = false |
| 6193 | |
| 6194 | intID := uuid.UUID{2} |
| 6195 | intc := testutil.Fake(s.T(), faker, database.AIBridgeInterception{ID: intID, InitiatorID: initID}) |
| 6196 | |
| 6197 | params := database.InsertAIBridgeInterceptionParams{ID: intc.ID, InitiatorID: intc.InitiatorID, Provider: intc.Provider, Model: intc.Model} |
| 6198 | db.EXPECT().GetUserByID(gomock.Any(), initID).Return(user, nil).AnyTimes() // Validation. |
| 6199 | db.EXPECT().InsertAIBridgeInterception(gomock.Any(), params).Return(intc, nil).AnyTimes() |
| 6200 | check.Args(params).Asserts(intc, policy.ActionCreate) |
| 6201 | })) |
| 6202 | |
| 6203 | s.Run("InsertAIBridgeModelThought", s.Mocked(func(db *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 6204 | intID := uuid.UUID{2} |
| 6205 | intc := testutil.Fake(s.T(), faker, database.AIBridgeInterception{ID: intID}) |
| 6206 | db.EXPECT().GetAIBridgeInterceptionByID(gomock.Any(), intID).Return(intc, nil).AnyTimes() // Validation. |
| 6207 | |
| 6208 | params := database.InsertAIBridgeModelThoughtParams{InterceptionID: intc.ID} |
| 6209 | expected := testutil.Fake(s.T(), faker, database.AIBridgeModelThought{InterceptionID: intc.ID}) |
| 6210 | db.EXPECT().InsertAIBridgeModelThought(gomock.Any(), params).Return(expected, nil).AnyTimes() |
| 6211 | check.Args(params).Asserts(intc, policy.ActionUpdate) |
| 6212 | })) |
| 6213 | |
| 6214 | s.Run("InsertAIBridgeTokenUsage", s.Mocked(func(db *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 6215 | intID := uuid.UUID{2} |
| 6216 | intc := testutil.Fake(s.T(), faker, database.AIBridgeInterception{ID: intID}) |
| 6217 | db.EXPECT().GetAIBridgeInterceptionByID(gomock.Any(), intID).Return(intc, nil).AnyTimes() // Validation. |
| 6218 | |
| 6219 | params := database.InsertAIBridgeTokenUsageParams{InterceptionID: intc.ID} |
| 6220 | expected := testutil.Fake(s.T(), faker, database.AIBridgeTokenUsage{InterceptionID: intc.ID}) |
| 6221 | db.EXPECT().InsertAIBridgeTokenUsage(gomock.Any(), params).Return(expected, nil).AnyTimes() |
| 6222 | check.Args(params).Asserts(intc, policy.ActionUpdate) |
| 6223 | })) |
| 6224 | |
| 6225 | s.Run("InsertAIBridgeUserPrompt", s.Mocked(func(db *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 6226 | intID := uuid.UUID{2} |
| 6227 | intc := testutil.Fake(s.T(), faker, database.AIBridgeInterception{ID: intID}) |
| 6228 | db.EXPECT().GetAIBridgeInterceptionByID(gomock.Any(), intID).Return(intc, nil).AnyTimes() // Validation. |
| 6229 | |
| 6230 | params := database.InsertAIBridgeUserPromptParams{InterceptionID: intc.ID} |
| 6231 | expected := testutil.Fake(s.T(), faker, database.AIBridgeUserPrompt{InterceptionID: intc.ID}) |
| 6232 | db.EXPECT().InsertAIBridgeUserPrompt(gomock.Any(), params).Return(expected, nil).AnyTimes() |
| 6233 | check.Args(params).Asserts(intc, policy.ActionUpdate) |
| 6234 | })) |
| 6235 | |
| 6236 | s.Run("InsertAIBridgeToolUsage", s.Mocked(func(db *dbmock.MockStore, faker *gofakeit.Faker, check *expects) { |
| 6237 | intID := uuid.UUID{2} |
| 6238 | intc := testutil.Fake(s.T(), faker, database.AIBridgeInterception{ID: intID}) |
| 6239 | db.EXPECT().GetAIBridgeInterceptionByID(gomock.Any(), intID).Return(intc, nil).AnyTimes() // Validation. |
| 6240 | |
| 6241 | params := database.InsertAIBridgeToolUsageParams{InterceptionID: intc.ID} |
| 6242 | expected := testutil.Fake(s.T(), faker, database.AIBridgeToolUsage{InterceptionID: intc.ID}) |
| 6243 | db.EXPECT().InsertAIBridgeToolUsage(gomock.Any(), params).Return(expected, nil).AnyTimes() |
nothing calls this directly
no test coverage detected