@@ -500,7 +500,14 @@ func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
500
500
// Verify that the manifest has DisableDirectConnections set to true.
501
501
agentClient := agentsdk .New (client .URL )
502
502
agentClient .SetSessionToken (r .AgentToken )
503
- manifest := requireGetManifest (ctx , t , agentClient )
503
+ rpc , err := agentClient .Listen (ctx )
504
+ require .NoError (t , err )
505
+ defer func () {
506
+ cErr := rpc .Close ()
507
+ require .NoError (t , cErr )
508
+ }()
509
+ aAPI := agentproto .NewDRPCAgentClient (rpc )
510
+ manifest := requireGetManifest (ctx , t , aAPI )
504
511
require .True (t , manifest .DisableDirectConnections )
505
512
506
513
_ = agenttest .New (t , client .URL , r .AgentToken )
@@ -823,46 +830,63 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
823
830
824
831
agentClient := agentsdk .New (client .URL )
825
832
agentClient .SetSessionToken (r .AgentToken )
833
+ conn , err := agentClient .Listen (ctx )
834
+ require .NoError (t , err )
835
+ defer func () {
836
+ cErr := conn .Close ()
837
+ require .NoError (t , cErr )
838
+ }()
839
+ aAPI := agentproto .NewDRPCAgentClient (conn )
826
840
827
- manifest := requireGetManifest (ctx , t , agentClient )
841
+ manifest := requireGetManifest (ctx , t , aAPI )
828
842
require .EqualValues (t , codersdk .WorkspaceAppHealthDisabled , manifest .Apps [0 ].Health )
829
843
require .EqualValues (t , codersdk .WorkspaceAppHealthInitializing , manifest .Apps [1 ].Health )
830
- err := agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
831
- require .Error (t , err )
832
844
// empty
833
- err = agentClient . PostAppHealth (ctx , agentsdk. PostAppHealthsRequest {})
834
- require .Error (t , err )
845
+ _ , err = aAPI . BatchUpdateAppHealths (ctx , & agentproto. BatchUpdateAppHealthRequest {})
846
+ require .NoError (t , err )
835
847
// healthcheck disabled
836
- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
837
- Healths : map [uuid.UUID ]codersdk.WorkspaceAppHealth {
838
- manifest .Apps [0 ].ID : codersdk .WorkspaceAppHealthInitializing ,
848
+ _ , err = aAPI .BatchUpdateAppHealths (ctx , & agentproto.BatchUpdateAppHealthRequest {
849
+ Updates : []* agentproto.BatchUpdateAppHealthRequest_HealthUpdate {
850
+ {
851
+ Id : manifest .Apps [0 ].ID [:],
852
+ Health : agentproto .AppHealth_INITIALIZING ,
853
+ },
839
854
},
840
855
})
841
856
require .Error (t , err )
842
857
// invalid value
843
- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
844
- Healths : map [uuid.UUID ]codersdk.WorkspaceAppHealth {
845
- manifest .Apps [1 ].ID : codersdk .WorkspaceAppHealth ("bad-value" ),
858
+ _ , err = aAPI .BatchUpdateAppHealths (ctx , & agentproto.BatchUpdateAppHealthRequest {
859
+ Updates : []* agentproto.BatchUpdateAppHealthRequest_HealthUpdate {
860
+ {
861
+ Id : manifest .Apps [1 ].ID [:],
862
+ Health : 99 ,
863
+ },
846
864
},
847
865
})
848
866
require .Error (t , err )
849
867
// update to healthy
850
- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
851
- Healths : map [uuid.UUID ]codersdk.WorkspaceAppHealth {
852
- manifest .Apps [1 ].ID : codersdk .WorkspaceAppHealthHealthy ,
868
+ _ , err = aAPI .BatchUpdateAppHealths (ctx , & agentproto.BatchUpdateAppHealthRequest {
869
+ Updates : []* agentproto.BatchUpdateAppHealthRequest_HealthUpdate {
870
+ {
871
+ Id : manifest .Apps [1 ].ID [:],
872
+ Health : agentproto .AppHealth_HEALTHY ,
873
+ },
853
874
},
854
875
})
855
876
require .NoError (t , err )
856
- manifest = requireGetManifest (ctx , t , agentClient )
877
+ manifest = requireGetManifest (ctx , t , aAPI )
857
878
require .EqualValues (t , codersdk .WorkspaceAppHealthHealthy , manifest .Apps [1 ].Health )
858
879
// update to unhealthy
859
- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
860
- Healths : map [uuid.UUID ]codersdk.WorkspaceAppHealth {
861
- manifest .Apps [1 ].ID : codersdk .WorkspaceAppHealthUnhealthy ,
880
+ _ , err = aAPI .BatchUpdateAppHealths (ctx , & agentproto.BatchUpdateAppHealthRequest {
881
+ Updates : []* agentproto.BatchUpdateAppHealthRequest_HealthUpdate {
882
+ {
883
+ Id : manifest .Apps [1 ].ID [:],
884
+ Health : agentproto .AppHealth_UNHEALTHY ,
885
+ },
862
886
},
863
887
})
864
888
require .NoError (t , err )
865
- manifest = requireGetManifest (ctx , t , agentClient )
889
+ manifest = requireGetManifest (ctx , t , aAPI )
866
890
require .EqualValues (t , codersdk .WorkspaceAppHealthUnhealthy , manifest .Apps [1 ].Health )
867
891
}
868
892
@@ -1105,8 +1129,15 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
1105
1129
agentClient .SetSessionToken (r .AgentToken )
1106
1130
1107
1131
ctx := testutil .Context (t , testutil .WaitMedium )
1132
+ conn , err := agentClient .Listen (ctx )
1133
+ require .NoError (t , err )
1134
+ defer func () {
1135
+ cErr := conn .Close ()
1136
+ require .NoError (t , cErr )
1137
+ }()
1138
+ aAPI := agentproto .NewDRPCAgentClient (conn )
1108
1139
1109
- manifest := requireGetManifest (ctx , t , agentClient )
1140
+ manifest := requireGetManifest (ctx , t , aAPI )
1110
1141
1111
1142
// Verify manifest API response.
1112
1143
require .Equal (t , workspace .ID , manifest .WorkspaceID )
@@ -1276,8 +1307,15 @@ func TestWorkspaceAgent_Metadata_CatchMemoryLeak(t *testing.T) {
1276
1307
agentClient .SetSessionToken (r .AgentToken )
1277
1308
1278
1309
ctx , cancel := context .WithCancel (testutil .Context (t , testutil .WaitSuperLong ))
1310
+ conn , err := agentClient .Listen (ctx )
1311
+ require .NoError (t , err )
1312
+ defer func () {
1313
+ cErr := conn .Close ()
1314
+ require .NoError (t , cErr )
1315
+ }()
1316
+ aAPI := agentproto .NewDRPCAgentClient (conn )
1279
1317
1280
- manifest := requireGetManifest (ctx , t , agentClient )
1318
+ manifest := requireGetManifest (ctx , t , aAPI )
1281
1319
1282
1320
post := func (ctx context.Context , key , value string ) error {
1283
1321
return agentClient .PostMetadata (ctx , agentsdk.PostMetadataRequest {
@@ -1622,14 +1660,7 @@ func TestWorkspaceAgentExternalAuthListen(t *testing.T) {
1622
1660
})
1623
1661
}
1624
1662
1625
- func requireGetManifest (ctx context.Context , t testing.TB , client agent.Client ) agentsdk.Manifest {
1626
- conn , err := client .Listen (ctx )
1627
- require .NoError (t , err )
1628
- defer func () {
1629
- cErr := conn .Close ()
1630
- require .NoError (t , cErr )
1631
- }()
1632
- aAPI := agentproto .NewDRPCAgentClient (conn )
1663
+ func requireGetManifest (ctx context.Context , t testing.TB , aAPI agentproto.DRPCAgentClient ) agentsdk.Manifest {
1633
1664
mp , err := aAPI .GetManifest (ctx , & agentproto.GetManifestRequest {})
1634
1665
require .NoError (t , err )
1635
1666
manifest , err := agentsdk .ManifestFromProto (mp )
0 commit comments