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

Method TestAIBridge

coderd/database/dbauthz/dbauthz_test.go:6186–6615  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6184}
6185
6186func (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()

Callers

nothing calls this directly

Calls 15

MockedMethod · 0.95
FakeFunction · 0.92
NowFunction · 0.92
AssertsMethod · 0.80
ArgsMethod · 0.80
ReturnsMethod · 0.80
RunMethod · 0.65
GetUserByIDMethod · 0.65

Tested by

no test coverage detected