@@ -237,8 +237,12 @@ var oldStatusTests = []struct {
237237}
238238
239239func TestGetStatuses (t * testing.T ) {
240+ var serviceReconciler = ServiceReconciler {
241+ ServiceNameTemplate : "{namespace}-{name}-{port}-{hash}" ,
242+ AllowServiceName : true ,
243+ }
240244 for _ , st := range statusTests {
241- _ , valid , err := getStatuses ("ns" , "test" , st .annotations , "{namespace}-{name}-{port}-{hash}" , true )
245+ _ , valid , err := getStatuses ("ns" , "test" , st .annotations , & serviceReconciler )
242246 if err != nil && ! st .err {
243247 t .Errorf ("Set %q: expected no error, got one: %v" , st .name , err )
244248 }
@@ -255,8 +259,12 @@ func TestGetStatuses(t *testing.T) {
255259}
256260
257261func TestGetOldStatuses (t * testing.T ) {
262+ var serviceReconciler = ServiceReconciler {
263+ ServiceNameTemplate : "{namespace}-{name}-{port}-{hash}" ,
264+ AllowServiceName : true ,
265+ }
258266 for _ , st := range oldStatusTests {
259- _ , valid , err := getStatuses ("ns" , "test" , st .annotations , "{namespace}-{name}-{port}-{hash}" , true )
267+ _ , valid , err := getStatuses ("ns" , "test" , st .annotations , & serviceReconciler )
260268 if err != nil && ! st .err {
261269 t .Errorf ("Set %q: expected no error, got one: %v" , st .name , err )
262270 }
@@ -273,8 +281,12 @@ func TestGetOldStatuses(t *testing.T) {
273281}
274282
275283func TestGetStatusesServiceNameNotAllowed (t * testing.T ) {
284+ var serviceReconciler = ServiceReconciler {
285+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
286+ AllowServiceName : false ,
287+ }
276288 validConf := `{"backend_services":{"80":[{"name":"http-be","max_rate_per_endpoint":100}]}}`
277- statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, "{namespace}-{name}-{port}" , false )
289+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
278290 if err != nil {
279291 t .Errorf ("Expected no error, got one: %v" , err )
280292 }
@@ -288,8 +300,12 @@ func TestGetStatusesServiceNameNotAllowed(t *testing.T) {
288300}
289301
290302func TestGetStatusesServiceNameAllowed (t * testing.T ) {
303+ var serviceReconciler = ServiceReconciler {
304+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
305+ AllowServiceName : true ,
306+ }
291307 validConf := `{"backend_services":{"80":[{"name":"http-be","max_rate_per_endpoint":100}]}}`
292- statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, "{namespace}-{name}-{port}" , true )
308+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
293309 if err != nil {
294310 t .Errorf ("Expected no error, got one: %v" , err )
295311 }
@@ -302,6 +318,98 @@ func TestGetStatusesServiceNameAllowed(t *testing.T) {
302318 }
303319}
304320
321+ func TestDefaultMaxRatePerEndpointWhenOverrideIsSet (t * testing.T ) {
322+ var serviceReconciler = ServiceReconciler {
323+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
324+ AllowServiceName : true ,
325+ MaxRatePerEndpointDefault : 1234 ,
326+ }
327+ validConf := `{"backend_services":{"80":[{"name":"http-be","max_rate_per_endpoint":100}]}}`
328+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
329+ if err != nil {
330+ t .Errorf ("Expected no error, got one: %v" , err )
331+ }
332+ if ! valid {
333+ t .Errorf ("Expected autoneg config, got none" )
334+ }
335+ cfg , ok := statuses .config .BackendServices ["80" ]["http-be" ]
336+ if ! ok {
337+ t .Errorf ("Expected service config for http-be but got none, service statuses: \n %v" , statuses .config .BackendServices )
338+ }
339+ if cfg .Rate != 100 {
340+ t .Errorf ("Expected max_rate_per_endpoint to be 100 but got: \n %v" , cfg .Rate )
341+ }
342+ }
343+
344+ func TestDefaultMaxRatePerEndpointWhenOverrideIsNotSet (t * testing.T ) {
345+ var serviceReconciler = ServiceReconciler {
346+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
347+ AllowServiceName : true ,
348+ MaxRatePerEndpointDefault : 1234 ,
349+ }
350+ validConf := `{"backend_services":{"80":[{"name":"http-be"}]}}`
351+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
352+ if err != nil {
353+ t .Errorf ("Expected no error, got one: %v" , err )
354+ }
355+ if ! valid {
356+ t .Errorf ("Expected autoneg config, got none" )
357+ }
358+ cfg , ok := statuses .config .BackendServices ["80" ]["http-be" ]
359+ if ! ok {
360+ t .Errorf ("Expected service config for http-be but got none, service statuses: \n %v" , statuses .config .BackendServices )
361+ }
362+ if cfg .Rate != 1234 {
363+ t .Errorf ("Expected max_rate_per_endpoint to be 1234 but got: \n %v" , cfg .Rate )
364+ }
365+ }
366+
367+ func TestDefaultConnectionPerEndpointWhenOverrideIsSet (t * testing.T ) {
368+ var serviceReconciler = ServiceReconciler {
369+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
370+ AllowServiceName : true ,
371+ MaxConnectionsPerEndpointDefault : 1234 ,
372+ }
373+ validConf := `{"backend_services":{"80":[{"name":"http-be","max_connections_per_endpoint":100}]}}`
374+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
375+ if err != nil {
376+ t .Errorf ("Expected no error, got one: %v" , err )
377+ }
378+ if ! valid {
379+ t .Errorf ("Expected autoneg config, got none" )
380+ }
381+ cfg , ok := statuses .config .BackendServices ["80" ]["http-be" ]
382+ if ! ok {
383+ t .Errorf ("Expected service config for http-be but got none, service statuses: \n %v" , statuses .config .BackendServices )
384+ }
385+ if cfg .Connections != 100 {
386+ t .Errorf ("Expected max_rate_per_endpoint to be 100 but got: \n %v" , cfg .Rate )
387+ }
388+ }
389+
390+ func TestDefaultMaxConnectionsEndpointWhenOverrideIsNotSet (t * testing.T ) {
391+ var serviceReconciler = ServiceReconciler {
392+ ServiceNameTemplate : "{namespace}-{name}-{port}" ,
393+ AllowServiceName : true ,
394+ MaxConnectionsPerEndpointDefault : 1234 ,
395+ }
396+ validConf := `{"backend_services":{"80":[{"name":"http-be"}]}}`
397+ statuses , valid , err := getStatuses ("ns" , "test" , map [string ]string {autonegAnnotation : validConf }, & serviceReconciler )
398+ if err != nil {
399+ t .Errorf ("Expected no error, got one: %v" , err )
400+ }
401+ if ! valid {
402+ t .Errorf ("Expected autoneg config, got none" )
403+ }
404+ cfg , ok := statuses .config .BackendServices ["80" ]["http-be" ]
405+ if ! ok {
406+ t .Errorf ("Expected service config for http-be but got none, service statuses: \n %v" , statuses .config .BackendServices )
407+ }
408+ if cfg .Connections != 1234 {
409+ t .Errorf ("Expected max_connections_per_endpoint to be 1234 but got: \n %v" , cfg .Rate )
410+ }
411+ }
412+
305413func TestValidateOldConfig (t * testing.T ) {
306414 tests := []struct {
307415 name string
0 commit comments