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

Commit6121231

Browse files
committed
test: add sub agent antagonist for workspace builder too
1 parent5f51c2d commit6121231

File tree

2 files changed

+58
-28
lines changed

2 files changed

+58
-28
lines changed

‎coderd/database/dbfake/dbfake.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"database/sql"
66
"encoding/json"
7+
"errors"
78
"testing"
89
"time"
910

@@ -243,6 +244,25 @@ func (b WorkspaceBuildBuilder) Do() WorkspaceResponse {
243244
require.NoError(b.t,err)
244245
}
245246

247+
agents,err:=b.db.GetWorkspaceAgentsByWorkspaceAndBuildNumber(ownerCtx, database.GetWorkspaceAgentsByWorkspaceAndBuildNumberParams{
248+
WorkspaceID:resp.Workspace.ID,
249+
BuildNumber:resp.Build.BuildNumber,
250+
})
251+
if!errors.Is(err,sql.ErrNoRows) {
252+
require.NoError(b.t,err,"get workspace agents")
253+
// Insert deleted subagent test antagonists for the workspace build.
254+
// See also `dbgen.WorkspaceAgent()`.
255+
for_,agent:=rangeagents {
256+
subAgent:=dbgen.WorkspaceSubAgent(b.t,b.db,agent, database.WorkspaceAgent{
257+
TroubleshootingURL:"I AM A TEST ANTAGONIST AND I AM HERE TO MESS UP YOUR TESTS. IF YOU SEE ME, SOMETHING IS WRONG AND SUB AGENT DELETION MAY NOT BE HANDLED CORRECTLY IN A QUERY.",
258+
})
259+
err=b.db.DeleteWorkspaceSubAgentByID(ownerCtx,subAgent.ID)
260+
require.NoError(b.t,err,"delete workspace agent subagent antagonist")
261+
262+
b.t.Logf("inserted deleted subagent antagonist %s (%v) for workspace agent %s (%v)",subAgent.Name,subAgent.ID,agent.Name,agent.ID)
263+
}
264+
}
265+
246266
returnresp
247267
}
248268

‎coderd/database/dbgen/dbgen.go

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -227,39 +227,49 @@ func WorkspaceAgent(t testing.TB, db database.Store, orig database.WorkspaceAgen
227227
require.NoError(t,err,"update workspace agent first connected at")
228228
}
229229

230-
// Add a test antagonist. For every agent we add a deleted sub agent
231-
// to discover cases where deletion should be handled.
232-
subAgt,err:=db.InsertWorkspaceAgent(genCtx, database.InsertWorkspaceAgentParams{
233-
ID:uuid.New(),
234-
ParentID: uuid.NullUUID{UUID:agt.ID,Valid:true},
235-
CreatedAt:dbtime.Now(),
236-
UpdatedAt:dbtime.Now(),
237-
Name:testutil.GetRandomName(t),
238-
ResourceID:agt.ResourceID,
239-
AuthToken:uuid.New(),
240-
AuthInstanceID: sql.NullString{},
241-
Architecture:agt.Architecture,
242-
EnvironmentVariables: pqtype.NullRawMessage{},
243-
OperatingSystem:agt.OperatingSystem,
244-
Directory:agt.Directory,
245-
InstanceMetadata: pqtype.NullRawMessage{},
246-
ResourceMetadata: pqtype.NullRawMessage{},
247-
ConnectionTimeoutSeconds:agt.ConnectionTimeoutSeconds,
248-
TroubleshootingURL:"I AM A TEST ANTAGONIST AND I AM HERE TO MESS UP YOUR TESTS. IF YOU SEE ME, SOMETHING IS WRONG AND SUB AGENT DELETION MAY NOT BE HANDLED CORRECTLY IN A QUERY.",
249-
MOTDFile:"",
250-
DisplayApps:nil,
251-
DisplayOrder:agt.DisplayOrder,
252-
APIKeyScope:agt.APIKeyScope,
253-
})
254-
require.NoError(t,err,"insert workspace agent subagent antagonist")
255-
err=db.DeleteWorkspaceSubAgentByID(genCtx,subAgt.ID)
256-
require.NoError(t,err,"delete workspace agent subagent antagonist")
230+
iforig.ParentID.UUID==uuid.Nil {
231+
// Add a test antagonist. For every agent we add a deleted sub agent
232+
// to discover cases where deletion should be handled.
233+
// See also `(dbfake.WorkspaceBuildBuilder).Do()`.
234+
subAgt,err:=db.InsertWorkspaceAgent(genCtx, database.InsertWorkspaceAgentParams{
235+
ID:uuid.New(),
236+
ParentID: uuid.NullUUID{UUID:agt.ID,Valid:true},
237+
CreatedAt:dbtime.Now(),
238+
UpdatedAt:dbtime.Now(),
239+
Name:testutil.GetRandomName(t),
240+
ResourceID:agt.ResourceID,
241+
AuthToken:uuid.New(),
242+
AuthInstanceID: sql.NullString{},
243+
Architecture:agt.Architecture,
244+
EnvironmentVariables: pqtype.NullRawMessage{},
245+
OperatingSystem:agt.OperatingSystem,
246+
Directory:agt.Directory,
247+
InstanceMetadata: pqtype.NullRawMessage{},
248+
ResourceMetadata: pqtype.NullRawMessage{},
249+
ConnectionTimeoutSeconds:agt.ConnectionTimeoutSeconds,
250+
TroubleshootingURL:"I AM A TEST ANTAGONIST AND I AM HERE TO MESS UP YOUR TESTS. IF YOU SEE ME, SOMETHING IS WRONG AND SUB AGENT DELETION MAY NOT BE HANDLED CORRECTLY IN A QUERY.",
251+
MOTDFile:"",
252+
DisplayApps:nil,
253+
DisplayOrder:agt.DisplayOrder,
254+
APIKeyScope:agt.APIKeyScope,
255+
})
256+
require.NoError(t,err,"insert workspace agent subagent antagonist")
257+
err=db.DeleteWorkspaceSubAgentByID(genCtx,subAgt.ID)
258+
require.NoError(t,err,"delete workspace agent subagent antagonist")
257259

258-
t.Logf("inserted workspace agent %s (%v) with deleted subagent antagonist %s (%v)",agt.Name,agt.ID,subAgt.Name,subAgt.ID)
260+
t.Logf("inserted deleted subagent antagonist %s (%v) for workspace agent %s (%v)",subAgt.Name,subAgt.ID,agt.Name,agt.ID)
261+
}
259262

260263
returnagt
261264
}
262265

266+
funcWorkspaceSubAgent(t testing.TB,db database.Store,parentAgent database.WorkspaceAgent,orig database.WorkspaceAgent) database.WorkspaceAgent {
267+
orig.ParentID= uuid.NullUUID{UUID:parentAgent.ID,Valid:true}
268+
orig.ResourceID=parentAgent.ResourceID
269+
subAgt:=WorkspaceAgent(t,db,orig)
270+
returnsubAgt
271+
}
272+
263273
funcWorkspaceAgentScript(t testing.TB,db database.Store,orig database.WorkspaceAgentScript) database.WorkspaceAgentScript {
264274
scripts,err:=db.InsertWorkspaceAgentScripts(genCtx, database.InsertWorkspaceAgentScriptsParams{
265275
WorkspaceAgentID:takeFirst(orig.WorkspaceAgentID,uuid.New()),

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp