@@ -824,7 +824,7 @@ func TestWorkspaceFilterManual(t *testing.T) {
824
824
require .Len (t , res .Workspaces , 1 )
825
825
require .Equal (t , workspace .ID , res .Workspaces [0 ].ID )
826
826
})
827
- t .Run ("FilterQuery_HasAgent_Connecting " , func (t * testing.T ) {
827
+ t .Run ("FilterQueryHasAgentConnecting " , func (t * testing.T ) {
828
828
t .Parallel ()
829
829
830
830
client := coderdtest .New (t , & coderdtest.Options {
@@ -867,7 +867,7 @@ func TestWorkspaceFilterManual(t *testing.T) {
867
867
require .Len (t , res .Workspaces , 1 )
868
868
require .Equal (t , workspace .ID , res .Workspaces [0 ].ID )
869
869
})
870
- t .Run ("FilterQuery_HasAgent_Connected " , func (t * testing.T ) {
870
+ t .Run ("FilterQueryHasAgentConnected " , func (t * testing.T ) {
871
871
t .Parallel ()
872
872
873
873
client := coderdtest .New (t , & coderdtest.Options {
@@ -922,6 +922,53 @@ func TestWorkspaceFilterManual(t *testing.T) {
922
922
require .Len (t , res .Workspaces , 1 )
923
923
require .Equal (t , workspace .ID , res .Workspaces [0 ].ID )
924
924
})
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
+ })
925
972
}
926
973
927
974
func TestOffsetLimit (t * testing.T ) {
0 commit comments