Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fc93f90

Browse files
committed
Timeout tests
1 parent 66892d7 commit fc93f90

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed

coderd/workspaces_test.go

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -824,7 +824,7 @@ func TestWorkspaceFilterManual(t *testing.T) {
824824
require.Len(t, res.Workspaces, 1)
825825
require.Equal(t, workspace.ID, res.Workspaces[0].ID)
826826
})
827-
t.Run("FilterQuery_HasAgent_Connecting", func(t *testing.T) {
827+
t.Run("FilterQueryHasAgentConnecting", func(t *testing.T) {
828828
t.Parallel()
829829

830830
client := coderdtest.New(t, &coderdtest.Options{
@@ -867,7 +867,7 @@ func TestWorkspaceFilterManual(t *testing.T) {
867867
require.Len(t, res.Workspaces, 1)
868868
require.Equal(t, workspace.ID, res.Workspaces[0].ID)
869869
})
870-
t.Run("FilterQuery_HasAgent_Connected", func(t *testing.T) {
870+
t.Run("FilterQueryHasAgentConnected", func(t *testing.T) {
871871
t.Parallel()
872872

873873
client := coderdtest.New(t, &coderdtest.Options{
@@ -922,6 +922,53 @@ func TestWorkspaceFilterManual(t *testing.T) {
922922
require.Len(t, res.Workspaces, 1)
923923
require.Equal(t, workspace.ID, res.Workspaces[0].ID)
924924
})
925+
t.Run("FilterQueryHasAgentTimeout", func(t *testing.T) {
926+
t.Parallel()
927+
928+
client := coderdtest.New(t, &coderdtest.Options{
929+
IncludeProvisionerDaemon: true,
930+
})
931+
user := coderdtest.CreateFirstUser(t, client)
932+
authToken := uuid.NewString()
933+
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
934+
Parse: echo.ParseComplete,
935+
ProvisionPlan: echo.ProvisionComplete,
936+
ProvisionApply: []*proto.Provision_Response{{
937+
Type: &proto.Provision_Response_Complete{
938+
Complete: &proto.Provision_Complete{
939+
Resources: []*proto.Resource{{
940+
Name: "example",
941+
Type: "aws_instance",
942+
Agents: []*proto.Agent{{
943+
Id: uuid.NewString(),
944+
Auth: &proto.Agent_Token{
945+
Token: authToken,
946+
},
947+
ConnectionTimeoutSeconds: 1,
948+
}},
949+
}},
950+
},
951+
},
952+
}},
953+
})
954+
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
955+
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
956+
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
957+
coderdtest.AwaitWorkspaceBuildJob(t, client, workspace.LatestBuild.ID)
958+
959+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
960+
defer cancel()
961+
962+
testutil.Eventually(ctx, t, func(ctx context.Context) (done bool) {
963+
workspaces, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{
964+
FilterQuery: fmt.Sprintf("has-agent:%s", "timeout"),
965+
})
966+
if !assert.NoError(t, err) {
967+
return false
968+
}
969+
return workspaces.Count == 1
970+
}, testutil.IntervalMedium, "agent status timeout")
971+
})
925972
}
926973

927974
func TestOffsetLimit(t *testing.T) {

0 commit comments

Comments
 (0)