@@ -22,6 +22,7 @@ import (
2222
2323 "github.com/golang/mock/gomock"
2424 "github.com/stretchr/testify/assert"
25+
2526 v1 "k8s.io/api/core/v1"
2627 "k8s.io/autoscaler/cluster-autoscaler/expander/grpcplugin/protos"
2728 "k8s.io/autoscaler/cluster-autoscaler/expander/mocks"
@@ -135,13 +136,17 @@ func makeFakeNodeInfos() map[string]*framework.NodeInfo {
135136
136137func TestPopulateNodeInfoForGRPC (t * testing.T ) {
137138 nodeInfos := makeFakeNodeInfos ()
138- grpcNodeInfoMap := populateNodeInfoForGRPC (nodeInfos )
139+ grpcNodeInfoMap , grpcNodeBytesMap := populateNodeInfoForGRPC (nodeInfos )
139140
140141 expectedGrpcNodeInfoMap := make (map [string ]* v1.Node )
142+ expectedGrpcNodeBytesMap := make (map [string ][]byte )
141143 for i , opt := range options {
142144 expectedGrpcNodeInfoMap [opt .NodeGroup .Id ()] = nodes [i ]
145+ expectedGrpcNodeBytesMap [opt .NodeGroup .Id ()], _ = nodes [i ].Marshal ()
143146 }
147+
144148 assert .Equal (t , expectedGrpcNodeInfoMap , grpcNodeInfoMap )
149+ assert .Equal (t , expectedGrpcNodeBytesMap , grpcNodeBytesMap )
145150}
146151
147152func TestValidTransformAndSanitizeOptionsFromGRPC (t * testing.T ) {
@@ -179,12 +184,15 @@ func TestBestOptionsValid(t *testing.T) {
179184
180185 nodeInfos := makeFakeNodeInfos ()
181186 grpcNodeInfoMap := make (map [string ]* v1.Node )
187+ grpcNodeBytesMap := make (map [string ][]byte )
182188 for i , opt := range options {
183189 grpcNodeInfoMap [opt .NodeGroup .Id ()] = nodes [i ]
190+ grpcNodeBytesMap [opt .NodeGroup .Id ()], _ = nodes [i ].Marshal ()
184191 }
185192 expectedBestOptionsReq := & protos.BestOptionsRequest {
186- Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
187- NodeMap : grpcNodeInfoMap ,
193+ Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
194+ NodeMap : grpcNodeInfoMap ,
195+ NodeBytesMap : grpcNodeBytesMap ,
188196 }
189197
190198 mockClient .EXPECT ().BestOptions (
@@ -220,12 +228,14 @@ func TestBestOptionsEmpty(t *testing.T) {
220228 },
221229 }
222230 for _ , tc := range testCases {
223- grpcNodeInfoMap := populateNodeInfoForGRPC (makeFakeNodeInfos ())
231+ grpcNodeInfoMap , grpcNodeBytesMap := populateNodeInfoForGRPC (makeFakeNodeInfos ())
232+ assert .NotNil (t , grpcNodeBytesMap )
224233 mockClient .EXPECT ().BestOptions (
225234 gomock .Any (), gomock .Eq (
226235 & protos.BestOptionsRequest {
227- Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
228- NodeMap : grpcNodeInfoMap ,
236+ Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
237+ NodeMap : grpcNodeInfoMap ,
238+ NodeBytesMap : grpcNodeBytesMap ,
229239 })).Return (& tc .mockResponse , nil )
230240 resp := g .BestOptions (options , makeFakeNodeInfos ())
231241
@@ -284,13 +294,15 @@ func TestBestOptionsErrors(t *testing.T) {
284294 },
285295 }
286296 for _ , tc := range testCases {
287- grpcNodeInfoMap := populateNodeInfoForGRPC (tc .nodeInfo )
297+ grpcNodeInfoMap , grpcNodeBytesMap := populateNodeInfoForGRPC (tc .nodeInfo )
298+ assert .NotNil (t , grpcNodeBytesMap )
288299 if tc .client .grpcClient != nil {
289300 mockClient .EXPECT ().BestOptions (
290301 gomock .Any (), gomock .Eq (
291302 & protos.BestOptionsRequest {
292- Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
293- NodeMap : grpcNodeInfoMap ,
303+ Options : []* protos.Option {& grpcEoT2Micro , & grpcEoT2Large , & grpcEoT3Large , & grpcEoM44XLarge },
304+ NodeMap : grpcNodeInfoMap ,
305+ NodeBytesMap : grpcNodeBytesMap ,
294306 })).Return (& tc .mockResponse , tc .errResponse )
295307 }
296308 resp := tc .client .BestOptions (options , tc .nodeInfo )
0 commit comments