@@ -101,10 +101,22 @@ func (m *mockRevokeSSHStore) GetOrgRoleAttachments(_ string) ([]entity.OrgRoleAt
101101// fakeNodeService implements the server side of ExternalNodeService for testing.
102102type fakeNodeService struct {
103103 nodev1connect.UnimplementedExternalNodeServiceHandler
104+ listNodesFn func (* nodev1.ListNodesRequest ) (* nodev1.ListNodesResponse , error )
104105 getNodeFn func (* nodev1.GetNodeRequest ) (* nodev1.GetNodeResponse , error )
105106 revokeSSHFn func (* nodev1.RevokeNodeSSHAccessRequest ) (* nodev1.RevokeNodeSSHAccessResponse , error )
106107}
107108
109+ func (f * fakeNodeService ) ListNodes (_ context.Context , req * connect.Request [nodev1.ListNodesRequest ]) (* connect.Response [nodev1.ListNodesResponse ], error ) {
110+ if f .listNodesFn != nil {
111+ resp , err := f .listNodesFn (req .Msg )
112+ if err != nil {
113+ return nil , err
114+ }
115+ return connect .NewResponse (resp ), nil
116+ }
117+ return nil , connect .NewError (connect .CodeUnimplemented , fmt .Errorf ("listNodesFn not set" ))
118+ }
119+
108120func (f * fakeNodeService ) GetNode (_ context.Context , req * connect.Request [nodev1.GetNodeRequest ]) (* connect.Response [nodev1.GetNodeResponse ], error ) {
109121 resp , err := f .getNodeFn (req .Msg )
110122 if err != nil {
@@ -149,7 +161,11 @@ func Test_runRevokeSSH_NotRegistered(t *testing.T) {
149161 token : "tok" ,
150162 org : & entity.Organization {ID : "org_123" , Name : "TestOrg" },
151163 }
152- svc := & fakeNodeService {}
164+ svc := & fakeNodeService {
165+ listNodesFn : func (_ * nodev1.ListNodesRequest ) (* nodev1.ListNodesResponse , error ) {
166+ return & nodev1.ListNodesResponse {Items : nil }, nil // no nodes
167+ },
168+ }
153169
154170 deps , server := baseDeps (t , svc , regStore )
155171 defer server .Close ()
@@ -175,11 +191,14 @@ func Test_runRevokeSSH_NoSSHAccess(t *testing.T) {
175191 }
176192
177193 svc := & fakeNodeService {
178- getNodeFn : func (_ * nodev1.GetNodeRequest ) (* nodev1.GetNodeResponse , error ) {
179- return & nodev1.GetNodeResponse {
180- ExternalNode : & nodev1.ExternalNode {
181- ExternalNodeId : "unode_abc" ,
182- SshAccess : nil , // no SSH access
194+ listNodesFn : func (_ * nodev1.ListNodesRequest ) (* nodev1.ListNodesResponse , error ) {
195+ return & nodev1.ListNodesResponse {
196+ Items : []* nodev1.ExternalNode {
197+ {
198+ ExternalNodeId : "unode_abc" ,
199+ Name : "My Spark" ,
200+ SshAccess : nil , // no SSH access
201+ },
183202 },
184203 }, nil
185204 },
@@ -213,12 +232,15 @@ func Test_runRevokeSSH_RevokeAccess(t *testing.T) {
213232
214233 var gotReq * nodev1.RevokeNodeSSHAccessRequest
215234 svc := & fakeNodeService {
216- getNodeFn : func (_ * nodev1.GetNodeRequest ) (* nodev1.GetNodeResponse , error ) {
217- return & nodev1.GetNodeResponse {
218- ExternalNode : & nodev1.ExternalNode {
219- ExternalNodeId : "unode_abc" ,
220- SshAccess : []* nodev1.SSHAccess {
221- {UserId : "user_2" , LinuxUser : "ubuntu" },
235+ listNodesFn : func (_ * nodev1.ListNodesRequest ) (* nodev1.ListNodesResponse , error ) {
236+ return & nodev1.ListNodesResponse {
237+ Items : []* nodev1.ExternalNode {
238+ {
239+ ExternalNodeId : "unode_abc" ,
240+ Name : "My Spark" ,
241+ SshAccess : []* nodev1.SSHAccess {
242+ {UserId : "user_2" , LinuxUser : "ubuntu" },
243+ },
222244 },
223245 },
224246 }, nil
@@ -267,12 +289,15 @@ func Test_runRevokeSSH_RPCFailure(t *testing.T) {
267289 }
268290
269291 svc := & fakeNodeService {
270- getNodeFn : func (_ * nodev1.GetNodeRequest ) (* nodev1.GetNodeResponse , error ) {
271- return & nodev1.GetNodeResponse {
272- ExternalNode : & nodev1.ExternalNode {
273- ExternalNodeId : "unode_abc" ,
274- SshAccess : []* nodev1.SSHAccess {
275- {UserId : "user_3" , LinuxUser : "testuser" },
292+ listNodesFn : func (_ * nodev1.ListNodesRequest ) (* nodev1.ListNodesResponse , error ) {
293+ return & nodev1.ListNodesResponse {
294+ Items : []* nodev1.ExternalNode {
295+ {
296+ ExternalNodeId : "unode_abc" ,
297+ Name : "My Spark" ,
298+ SshAccess : []* nodev1.SSHAccess {
299+ {UserId : "user_3" , LinuxUser : "testuser" },
300+ },
276301 },
277302 },
278303 }, nil
0 commit comments