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

Function TestWorkspaceAgentAppStatus

coderd/agentapi/apps_test.go:253–429  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

251}
252
253func TestWorkspaceAgentAppStatus(t *testing.T) {
254 t.Parallel()
255
256 t.Run("Success", func(t *testing.T) {
257 t.Parallel()
258
259 ctx := testutil.Context(t, testutil.WaitShort)
260 ctrl := gomock.NewController(t)
261 mDB := dbmock.NewMockStore(ctrl)
262 fEnq := &notificationstest.FakeEnqueuer{}
263 mClock := quartz.NewMock(t)
264 agent := database.WorkspaceAgent{
265 ID: uuid.UUID{2},
266 LifecycleState: database.WorkspaceAgentLifecycleStateReady,
267 }
268 workspaceUpdates := make(chan wspubsub.WorkspaceEventKind, 100)
269
270 workspace := database.Workspace{
271 ID: uuid.UUID{9},
272 TaskID: uuid.NullUUID{
273 Valid: true,
274 UUID: uuid.UUID{7},
275 },
276 }
277 cachedWs := &agentapi.CachedWorkspaceFields{}
278 cachedWs.UpdateValues(workspace)
279
280 api := &agentapi.AppsAPI{
281 AgentID: agent.ID,
282 AgentFn: func(context.Context) (database.WorkspaceAgent, error) {
283 return agent, nil
284 },
285 Database: mDB,
286 Log: testutil.Logger(t),
287 Workspace: cachedWs,
288 PublishWorkspaceUpdateFn: func(_ context.Context, agnt uuid.UUID, kind wspubsub.WorkspaceEventKind) error {
289 assert.Equal(t, agnt, agent.ID)
290 testutil.AssertSend(ctx, t, workspaceUpdates, kind)
291 return nil
292 },
293 NotificationsEnqueuer: fEnq,
294 Clock: mClock,
295 }
296
297 app := database.WorkspaceApp{
298 ID: uuid.UUID{8},
299 }
300 mDB.EXPECT().GetWorkspaceAppByAgentIDAndSlug(gomock.Any(), database.GetWorkspaceAppByAgentIDAndSlugParams{
301 AgentID: agent.ID,
302 Slug: "vscode",
303 }).Times(1).Return(app, nil)
304 task := database.Task{
305 ID: uuid.UUID{7},
306 WorkspaceAppID: uuid.NullUUID{
307 Valid: true,
308 UUID: app.ID,
309 },
310 }

Callers

nothing calls this directly

Calls 15

UpdateValuesMethod · 0.95
EXPECTMethod · 0.95
UpdateAppStatusMethod · 0.95
SentMethod · 0.95
StatusCodeMethod · 0.95
ContextFunction · 0.92
NewMockStoreFunction · 0.92
LoggerFunction · 0.92
AssertSendFunction · 0.92
RequireReceiveFunction · 0.92
WithTemplateIDFunction · 0.92
RunMethod · 0.65

Tested by

no test coverage detected