@@ -23,6 +23,7 @@ import (
23
23
"cdr.dev/slog/sloggers/slogtest"
24
24
"github.com/coder/coder/v2/agent"
25
25
"github.com/coder/coder/v2/agent/agenttest"
26
+ agentproto "github.com/coder/coder/v2/agent/proto"
26
27
"github.com/coder/coder/v2/coderd"
27
28
"github.com/coder/coder/v2/coderd/coderdtest"
28
29
"github.com/coder/coder/v2/coderd/coderdtest/oidctest"
@@ -500,8 +501,7 @@ func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
500
501
// Verify that the manifest has DisableDirectConnections set to true.
501
502
agentClient := agentsdk .New (client .URL )
502
503
agentClient .SetSessionToken (r .AgentToken )
503
- manifest , err := agentClient .Manifest (ctx )
504
- require .NoError (t , err )
504
+ manifest := requireGetManifest (ctx , t , agentClient )
505
505
require .True (t , manifest .DisableDirectConnections )
506
506
507
507
_ = agenttest .New (t , client .URL , r .AgentToken )
@@ -825,11 +825,10 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
825
825
agentClient := agentsdk .New (client .URL )
826
826
agentClient .SetSessionToken (r .AgentToken )
827
827
828
- manifest , err := agentClient .Manifest (ctx )
829
- require .NoError (t , err )
828
+ manifest := requireGetManifest (ctx , t , agentClient )
830
829
require .EqualValues (t , codersdk .WorkspaceAppHealthDisabled , manifest .Apps [0 ].Health )
831
830
require .EqualValues (t , codersdk .WorkspaceAppHealthInitializing , manifest .Apps [1 ].Health )
832
- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
831
+ err : = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
833
832
require .Error (t , err )
834
833
// empty
835
834
err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
@@ -855,8 +854,7 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
855
854
},
856
855
})
857
856
require .NoError (t , err )
858
- manifest , err = agentClient .Manifest (ctx )
859
- require .NoError (t , err )
857
+ manifest = requireGetManifest (ctx , t , agentClient )
860
858
require .EqualValues (t , codersdk .WorkspaceAppHealthHealthy , manifest .Apps [1 ].Health )
861
859
// update to unhealthy
862
860
err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
@@ -865,8 +863,7 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
865
863
},
866
864
})
867
865
require .NoError (t , err )
868
- manifest , err = agentClient .Manifest (ctx )
869
- require .NoError (t , err )
866
+ manifest = requireGetManifest (ctx , t , agentClient )
870
867
require .EqualValues (t , codersdk .WorkspaceAppHealthUnhealthy , manifest .Apps [1 ].Health )
871
868
}
872
869
@@ -1110,8 +1107,7 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
1110
1107
1111
1108
ctx := testutil .Context (t , testutil .WaitMedium )
1112
1109
1113
- manifest , err := agentClient .Manifest (ctx )
1114
- require .NoError (t , err )
1110
+ manifest := requireGetManifest (ctx , t , agentClient )
1115
1111
1116
1112
// Verify manifest API response.
1117
1113
require .Equal (t , workspace .ID , manifest .WorkspaceID )
@@ -1282,8 +1278,7 @@ func TestWorkspaceAgent_Metadata_CatchMemoryLeak(t *testing.T) {
1282
1278
1283
1279
ctx , cancel := context .WithCancel (testutil .Context (t , testutil .WaitSuperLong ))
1284
1280
1285
- manifest , err := agentClient .Manifest (ctx )
1286
- require .NoError (t , err )
1281
+ manifest := requireGetManifest (ctx , t , agentClient )
1287
1282
1288
1283
post := func (ctx context.Context , key , value string ) error {
1289
1284
return agentClient .PostMetadata (ctx , agentsdk.PostMetadataRequest {
@@ -1629,3 +1624,18 @@ func TestWorkspaceAgentExternalAuthListen(t *testing.T) {
1629
1624
require .Equal (t , 1 , validateCalls , "validate calls duplicated on same token" )
1630
1625
})
1631
1626
}
1627
+
1628
+ func requireGetManifest (ctx context.Context , t testing.TB , client agent.Client ) agentsdk.Manifest {
1629
+ conn , err := client .Listen (ctx )
1630
+ require .NoError (t , err )
1631
+ defer func () {
1632
+ cErr := conn .Close ()
1633
+ require .NoError (t , cErr )
1634
+ }()
1635
+ aAPI := agentproto .NewDRPCAgentClient (conn )
1636
+ mp , err := aAPI .GetManifest (ctx , & agentproto.GetManifestRequest {})
1637
+ require .NoError (t , err )
1638
+ manifest , err := agentsdk .ManifestFromProto (mp )
1639
+ require .NoError (t , err )
1640
+ return manifest
1641
+ }
0 commit comments