@@ -23,6 +23,7 @@ import (
2323 "cdr.dev/slog/sloggers/slogtest"
2424 "github.com/coder/coder/v2/agent"
2525 "github.com/coder/coder/v2/agent/agenttest"
26+ agentproto "github.com/coder/coder/v2/agent/proto"
2627 "github.com/coder/coder/v2/coderd"
2728 "github.com/coder/coder/v2/coderd/coderdtest"
2829 "github.com/coder/coder/v2/coderd/coderdtest/oidctest"
@@ -500,8 +501,7 @@ func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
500501 // Verify that the manifest has DisableDirectConnections set to true.
501502 agentClient := agentsdk .New (client .URL )
502503 agentClient .SetSessionToken (r .AgentToken )
503- manifest , err := agentClient .Manifest (ctx )
504- require .NoError (t , err )
504+ manifest := requireGetManifest (ctx , t , agentClient )
505505 require .True (t , manifest .DisableDirectConnections )
506506
507507 _ = agenttest .New (t , client .URL , r .AgentToken )
@@ -825,11 +825,10 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
825825 agentClient := agentsdk .New (client .URL )
826826 agentClient .SetSessionToken (r .AgentToken )
827827
828- manifest , err := agentClient .Manifest (ctx )
829- require .NoError (t , err )
828+ manifest := requireGetManifest (ctx , t , agentClient )
830829 require .EqualValues (t , codersdk .WorkspaceAppHealthDisabled , manifest .Apps [0 ].Health )
831830 require .EqualValues (t , codersdk .WorkspaceAppHealthInitializing , manifest .Apps [1 ].Health )
832- err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
831+ err : = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
833832 require .Error (t , err )
834833 // empty
835834 err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {})
@@ -855,8 +854,7 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
855854 },
856855 })
857856 require .NoError (t , err )
858- manifest , err = agentClient .Manifest (ctx )
859- require .NoError (t , err )
857+ manifest = requireGetManifest (ctx , t , agentClient )
860858 require .EqualValues (t , codersdk .WorkspaceAppHealthHealthy , manifest .Apps [1 ].Health )
861859 // update to unhealthy
862860 err = agentClient .PostAppHealth (ctx , agentsdk.PostAppHealthsRequest {
@@ -865,8 +863,7 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
865863 },
866864 })
867865 require .NoError (t , err )
868- manifest , err = agentClient .Manifest (ctx )
869- require .NoError (t , err )
866+ manifest = requireGetManifest (ctx , t , agentClient )
870867 require .EqualValues (t , codersdk .WorkspaceAppHealthUnhealthy , manifest .Apps [1 ].Health )
871868}
872869
@@ -1110,8 +1107,7 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
11101107
11111108 ctx := testutil .Context (t , testutil .WaitMedium )
11121109
1113- manifest , err := agentClient .Manifest (ctx )
1114- require .NoError (t , err )
1110+ manifest := requireGetManifest (ctx , t , agentClient )
11151111
11161112 // Verify manifest API response.
11171113 require .Equal (t , workspace .ID , manifest .WorkspaceID )
@@ -1282,8 +1278,7 @@ func TestWorkspaceAgent_Metadata_CatchMemoryLeak(t *testing.T) {
12821278
12831279 ctx , cancel := context .WithCancel (testutil .Context (t , testutil .WaitSuperLong ))
12841280
1285- manifest , err := agentClient .Manifest (ctx )
1286- require .NoError (t , err )
1281+ manifest := requireGetManifest (ctx , t , agentClient )
12871282
12881283 post := func (ctx context.Context , key , value string ) error {
12891284 return agentClient .PostMetadata (ctx , agentsdk.PostMetadataRequest {
@@ -1630,3 +1625,18 @@ func TestWorkspaceAgentExternalAuthListen(t *testing.T) {
16301625 require .Equal (t , 1 , validateCalls , "validate calls duplicated on same token" )
16311626 })
16321627}
1628+
1629+ func requireGetManifest (ctx context.Context , t testing.TB , client agent.Client ) agentsdk.Manifest {
1630+ conn , err := client .Listen (ctx )
1631+ require .NoError (t , err )
1632+ defer func () {
1633+ cErr := conn .Close ()
1634+ require .NoError (t , cErr )
1635+ }()
1636+ aAPI := agentproto .NewDRPCAgentClient (conn )
1637+ mp , err := aAPI .GetManifest (ctx , & agentproto.GetManifestRequest {})
1638+ require .NoError (t , err )
1639+ manifest , err := agentsdk .ManifestFromProto (mp )
1640+ require .NoError (t , err )
1641+ return manifest
1642+ }
0 commit comments