Skip to content

Commit 4816ed5

Browse files
committed
chore: fix TestWorkspaceAgentAppHealth test after agent ID field now required
Signed-off-by: Danny Kopping <dannykopping@gmail.com>
1 parent c6c7b5c commit 4816ed5

File tree

2 files changed

+39
-24
lines changed

2 files changed

+39
-24
lines changed

coderd/workspaceagents_test.go

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package coderd_test
22

33
import (
44
"context"
5+
"database/sql"
56
"encoding/json"
67
"fmt"
78
"maps"
@@ -1506,39 +1507,52 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
15061507
t.Parallel()
15071508
client, db := coderdtest.NewWithDatabase(t, nil)
15081509
user := coderdtest.CreateFirstUser(t, client)
1509-
apps := []*proto.App{
1510-
{
1511-
Slug: "code-server",
1512-
Command: "some-command",
1513-
Url: "http://localhost:3000",
1514-
Icon: "/code.svg",
1515-
},
1516-
{
1517-
Slug: "code-server-2",
1518-
DisplayName: "code-server-2",
1519-
Command: "some-command",
1520-
Url: "http://localhost:3000",
1521-
Icon: "/code.svg",
1522-
Healthcheck: &proto.Healthcheck{
1523-
Url: "http://localhost:3000",
1524-
Interval: 5,
1525-
Threshold: 6,
1526-
},
1527-
},
1528-
}
1510+
1511+
// When using WithAgent() here and setting some *proto.App instances on the agent, Do() ends up trying to insert duplicate records.
15291512
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
15301513
OrganizationID: user.OrganizationID,
15311514
OwnerID: user.UserID,
1532-
}).WithAgent(func(agents []*proto.Agent) []*proto.Agent {
1533-
agents[0].Apps = apps
1534-
return agents
15351515
}).Do()
15361516

1517+
res := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{JobID: r.Build.JobID})
1518+
agent := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{ResourceID: res.ID})
1519+
1520+
// It's simpler to call db.InsertWorkspaceApp directly than dbgen.WorkspaceApp because it's more terse and direct;
1521+
// the latter sets a bunch of defaults which make this test hard.
1522+
_, err := db.InsertWorkspaceApp(dbauthz.AsSystemRestricted(t.Context()), database.InsertWorkspaceAppParams{
1523+
ID: uuid.New(),
1524+
Slug: "code-server",
1525+
AgentID: agent.ID,
1526+
Icon: "/code.svg",
1527+
Command: sql.NullString{String: "some-command", Valid: true},
1528+
Url: sql.NullString{String: "http://localhost:3000", Valid: true},
1529+
SharingLevel: database.AppSharingLevelOwner,
1530+
Health: database.WorkspaceAppHealthDisabled,
1531+
OpenIn: database.WorkspaceAppOpenInWindow,
1532+
})
1533+
require.NoError(t, err)
1534+
_, err = db.InsertWorkspaceApp(dbauthz.AsSystemRestricted(t.Context()), database.InsertWorkspaceAppParams{
1535+
ID: uuid.New(),
1536+
Slug: "code-server-2",
1537+
DisplayName: "code-server-2",
1538+
AgentID: agent.ID,
1539+
Icon: "/code.svg",
1540+
Command: sql.NullString{String: "some-command", Valid: true},
1541+
Url: sql.NullString{String: "http://localhost:3000", Valid: true},
1542+
HealthcheckInterval: 5,
1543+
HealthcheckUrl: "http://localhost:3000",
1544+
HealthcheckThreshold: 6,
1545+
Health: database.WorkspaceAppHealthInitializing,
1546+
SharingLevel: database.AppSharingLevelOwner,
1547+
OpenIn: database.WorkspaceAppOpenInWindow,
1548+
})
1549+
require.NoError(t, err)
1550+
15371551
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
15381552
defer cancel()
15391553

15401554
agentClient := agentsdk.New(client.URL)
1541-
agentClient.SetSessionToken(r.AgentToken)
1555+
agentClient.SetSessionToken(agent.AuthToken.String())
15421556
conn, err := agentClient.ConnectRPC(ctx)
15431557
require.NoError(t, err)
15441558
defer func() {

go.sum

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,7 @@ github.com/coder/tailscale v1.1.1-0.20250611020837-f14d20d23d8c h1:d/qBIi3Ez7Kko
928928
github.com/coder/tailscale v1.1.1-0.20250611020837-f14d20d23d8c/go.mod h1:l7ml5uu7lFh5hY28lGYM4b/oFSmuPHYX6uk4RAu23Lc=
929929
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e h1:JNLPDi2P73laR1oAclY6jWzAbucf70ASAvf5mh2cME0=
930930
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI=
931+
github.com/coder/terraform-provider-coder/v2 v2.5.4-0.20250619093524-d9b0f892f9c2/go.mod h1:WrdLSbihuzH1RZhwrU+qmkqEhUbdZT/sjHHdarm5b5g=
931932
github.com/coder/terraform-provider-coder/v2 v2.6.0 h1:ybSVxkblpFdanNX7hibex41yvwjswUlA3RPh4BAHjBI=
932933
github.com/coder/terraform-provider-coder/v2 v2.6.0/go.mod h1:WrdLSbihuzH1RZhwrU+qmkqEhUbdZT/sjHHdarm5b5g=
933934
github.com/coder/trivy v0.0.0-20250527170238-9416a59d7019 h1:MHkv/W7l9eRAN9gOG0qZ1TLRGWIIfNi92273vPAQ8Fs=

0 commit comments

Comments
 (0)