Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1fe6fe3

Browse files
chore: make test larger
This definitely isn't an ideal test. It feels quite large. Maybe I'lltry to extract the different things being tested and move them intotheir own tests.
1 parentc2deb25 commit1fe6fe3

File tree

1 file changed

+59
-15
lines changed

1 file changed

+59
-15
lines changed

‎coderd/agentapi/devcontainer_agent_test.go

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package agentapi_test
22

33
import (
4+
"cmp"
45
"context"
6+
"slices"
57
"sync/atomic"
68
"testing"
79

@@ -78,49 +80,91 @@ func TestDevContainerAgentAPI(t *testing.T) {
7880

7981
log:=testutil.Logger(t)
8082
ctx:=testutil.Context(t,testutil.WaitShort)
81-
8283
api:=devContainerAgentAPI(t,log)
8384

8485
// Given: There are no dev container agents.
8586
listResp,err:=api.ListDevContainerAgents(ctx,&proto.ListDevContainerAgentsRequest{})
8687
require.NoError(t,err)
8788
require.Len(t,listResp.Agents,0)
8889

89-
// When: We createa dev containeragent.
90+
// When: We createtwo dev containeragents.
9091
createResp,err:=api.CreateDevContainerAgent(ctx,&proto.CreateDevContainerAgentRequest{
9192
Name:"some-child-agent",
92-
Directory:"/workspaces/coder",
93+
Directory:"/workspaces/wibble",
94+
Architecture:"amd64",
95+
OperatingSystem:"linux",
96+
})
97+
require.NoError(t,err)
98+
99+
childAgentOneID,err:=uuid.FromBytes(createResp.Id)
100+
require.NoError(t,err)
101+
102+
createResp,err=api.CreateDevContainerAgent(ctx,&proto.CreateDevContainerAgentRequest{
103+
Name:"some-other-child-agent",
104+
Directory:"/workspaces/wobble",
93105
Architecture:"amd64",
94106
OperatingSystem:"linux",
95107
})
96108
require.NoError(t,err)
97109

98-
agentID,err:=uuid.FromBytes(createResp.Id)
110+
childAgentTwoID,err:=uuid.FromBytes(createResp.Id)
111+
require.NoError(t,err)
112+
113+
// Then: We expect these dev container agents to be created.
114+
agentOne,err:=api.Database.GetWorkspaceAgentByID(dbauthz.AsSystemRestricted(ctx),childAgentOneID)//nolint:gocritic // this is a test
99115
require.NoError(t,err)
116+
require.Equal(t,"/workspaces/wibble",agentOne.Directory)
117+
require.Equal(t,"amd64",agentOne.Architecture)
118+
require.Equal(t,"linux",agentOne.OperatingSystem)
119+
require.Equal(t,"some-child-agent",agentOne.Name)
100120

101-
// Then: We expect this dev container agent to be created.
102-
agent,err:=api.Database.GetWorkspaceAgentByID(dbauthz.AsSystemRestricted(ctx),agentID)//nolint:gocritic // this is a test
121+
agentTwo,err:=api.Database.GetWorkspaceAgentByID(dbauthz.AsSystemRestricted(ctx),childAgentTwoID)//nolint:gocritic // this is a test
103122
require.NoError(t,err)
104-
require.Equal(t,"/workspaces/coder",agent.Directory)
105-
require.Equal(t,"amd64",agent.Architecture)
106-
require.Equal(t,"linux",agent.OperatingSystem)
107-
require.Equal(t,"some-child-agent",agent.Name)
123+
require.Equal(t,"/workspaces/wobble",agentTwo.Directory)
124+
require.Equal(t,"amd64",agentTwo.Architecture)
125+
require.Equal(t,"linux",agentTwo.OperatingSystem)
126+
require.Equal(t,"some-other-child-agent",agentTwo.Name)
127+
128+
// Then: We expect to be able to list these dev container agents.
129+
createdAgents:= []database.WorkspaceAgent{agentOne,agentTwo}
130+
slices.SortFunc(createdAgents,func(a,b database.WorkspaceAgent)int {
131+
returncmp.Compare(a.ID.String(),b.ID.String())
132+
})
108133

109-
// Then: We expect to be able to list this dev container agent.
110134
listResp,err=api.ListDevContainerAgents(ctx,&proto.ListDevContainerAgentsRequest{})
111135
require.NoError(t,err)
112-
require.Len(t,listResp.Agents,1)
113-
require.Equal(t,createResp.Id,listResp.Agents[0].Id)
114-
require.Equal(t,"some-child-agent",listResp.Agents[0].Name)
136+
require.Len(t,listResp.Agents,len(createdAgents))
137+
138+
listedAgents:=listResp.Agents
139+
slices.SortFunc(listedAgents,func(a,b*proto.ListDevContainerAgentsResponse_DevContainerAgent)int {
140+
returncmp.Compare(string(a.Id),string(b.Id))
141+
})
142+
143+
fori,agent:=rangelistedAgents {
144+
require.Equal(t,createdAgents[i].ID[:],agent.Id)
145+
require.Equal(t,createdAgents[i].Name,agent.Name)
146+
}
115147

116148
// When: We delete a dev container agent.
117149
_,err=api.DeleteDevContainerAgent(ctx,&proto.DeleteDevContainerAgentRequest{
118-
Id:createResp.Id,
150+
Id:agentOne.ID[:],
119151
})
120152
require.NoError(t,err)
121153

122154
// Then: We expect this dev container agent to be deleted.
123155
listResp,err=api.ListDevContainerAgents(ctx,&proto.ListDevContainerAgentsRequest{})
124156
require.NoError(t,err)
157+
require.Len(t,listResp.Agents,1)
158+
require.Equal(t,agentTwo.ID[:],listResp.Agents[0].Id)
159+
160+
// When: We delete the other dev container agent.
161+
_,err=api.DeleteDevContainerAgent(ctx,&proto.DeleteDevContainerAgentRequest{
162+
Id:agentTwo.ID[:],
163+
})
164+
require.NoError(t,err)
165+
166+
// Then: We expect this other dev container agent to be deleted.
167+
listResp,err=api.ListDevContainerAgents(ctx,&proto.ListDevContainerAgentsRequest{})
168+
require.NoError(t,err)
125169
require.Len(t,listResp.Agents,0)
126170
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp