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

Function TestGetWorkspaceBuildAgentsByInstanceID

coderd/database/querier_test.go:7910–7992  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

7908}
7909
7910func TestGetWorkspaceBuildAgentsByInstanceID(t *testing.T) {
7911 t.Parallel()
7912
7913 t.Run("ReturnsWorkspaceBuildRootAgentsNewestFirst", func(t *testing.T) {
7914 t.Parallel()
7915
7916 db, _ := dbtestutil.NewDB(t)
7917 authInstanceID := fmt.Sprintf("instance-%s-%d", t.Name(), time.Now().UnixNano())
7918 olderCreatedAt := dbtime.Now().Add(-time.Hour)
7919 newerCreatedAt := dbtime.Now()
7920
7921 older := setupWorkspaceBuildAgentQueryFixture(t, db, authInstanceID, "older", olderCreatedAt, database.WorkspaceTable{})
7922 newer := setupWorkspaceBuildAgentQueryFixture(t, db, authInstanceID, "newer", newerCreatedAt, database.WorkspaceTable{})
7923
7924 ctx := testutil.Context(t, testutil.WaitShort)
7925
7926 agents, err := db.GetWorkspaceBuildAgentsByInstanceID(ctx, authInstanceID)
7927 require.NoError(t, err)
7928 require.Len(t, agents, 2)
7929 assert.Equal(t, []uuid.UUID{newer.Agent.ID, older.Agent.ID}, []uuid.UUID{agents[0].WorkspaceAgent.ID, agents[1].WorkspaceAgent.ID})
7930 assert.Equal(t, []uuid.UUID{newer.Build.ID, older.Build.ID}, []uuid.UUID{agents[0].WorkspaceBuildID, agents[1].WorkspaceBuildID})
7931 assert.Equal(t, newer.Workspace.ID, agents[0].WorkspaceTable.ID)
7932 assert.Equal(t, older.Workspace.ID, agents[1].WorkspaceTable.ID)
7933 assert.Equal(t, newer.Workspace.OwnerID, agents[0].WorkspaceTable.OwnerID)
7934 assert.Equal(t, older.Workspace.OwnerID, agents[1].WorkspaceTable.OwnerID)
7935 assert.Equal(t, newer.Workspace.OrganizationID, agents[0].WorkspaceTable.OrganizationID)
7936 assert.Equal(t, older.Workspace.OrganizationID, agents[1].WorkspaceTable.OrganizationID)
7937 assert.False(t, agents[0].WorkspaceTable.Deleted)
7938 assert.False(t, agents[1].WorkspaceTable.Deleted)
7939 })
7940
7941 t.Run("ExcludesDeletedAgentsSubAgentsAndNonWorkspaceBuildJobs", func(t *testing.T) {
7942 t.Parallel()
7943
7944 db, _, sqlDB := dbtestutil.NewDBWithSQLDB(t)
7945 authInstanceID := fmt.Sprintf("instance-%s-%d", t.Name(), time.Now().UnixNano())
7946 baseCreatedAt := dbtime.Now()
7947
7948 root := setupWorkspaceBuildAgentQueryFixture(t, db, authInstanceID, "root", baseCreatedAt.Add(-time.Hour), database.WorkspaceTable{})
7949 _ = dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{
7950 ParentID: uuid.NullUUID{UUID: root.Agent.ID, Valid: true},
7951 Name: "sub",
7952 ResourceID: root.Agent.ResourceID,
7953 CreatedAt: baseCreatedAt.Add(time.Minute),
7954 AuthInstanceID: sql.NullString{
7955 String: authInstanceID,
7956 Valid: true,
7957 },
7958 })
7959 deletedAgent := setupWorkspaceBuildAgentQueryFixture(t, db, authInstanceID, "deleted", baseCreatedAt.Add(2*time.Minute), database.WorkspaceTable{})
7960 _ = setupProvisionerJobAgentQueryFixture(t, db, authInstanceID, "template-import", baseCreatedAt.Add(3*time.Minute), database.ProvisionerJobTypeTemplateVersionImport)
7961 _ = setupProvisionerJobAgentQueryFixture(t, db, authInstanceID, "dry-run", baseCreatedAt.Add(4*time.Minute), database.ProvisionerJobTypeTemplateVersionDryRun)
7962
7963 ctx := testutil.Context(t, testutil.WaitShort)
7964 markWorkspaceAgentDeleted(ctx, t, sqlDB, deletedAgent.Agent.ID)
7965
7966 agents, err := db.GetWorkspaceBuildAgentsByInstanceID(ctx, authInstanceID)
7967 require.NoError(t, err)

Callers

nothing calls this directly

Calls 15

NewDBFunction · 0.92
NowFunction · 0.92
ContextFunction · 0.92
NewDBWithSQLDBFunction · 0.92
WorkspaceAgentFunction · 0.92
RunMethod · 0.65
NameMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected