@@ -63,7 +63,7 @@ func TestContainerWithImageOverridden(t *testing.T) {
63
63
assert .Equal (t , "overridden-image" , c .Image )
64
64
}
65
65
66
- func TestContainerPorts (t * testing.T ) {
66
+ func TestContainerDefaultPorts (t * testing.T ) {
67
67
// prepare
68
68
targetAllocator := v1alpha1.TargetAllocator {}
69
69
cfg := config .New ()
@@ -77,7 +77,7 @@ func TestContainerPorts(t *testing.T) {
77
77
assert .Equal (t , int32 (8080 ), c .Ports [0 ].ContainerPort )
78
78
}
79
79
80
- func TestContainerVolumes (t * testing.T ) {
80
+ func TestContainerDefaultVolumes (t * testing.T ) {
81
81
// prepare
82
82
targetAllocator := v1alpha1.TargetAllocator {}
83
83
cfg := config .New ()
@@ -383,3 +383,148 @@ func TestArgs(t *testing.T) {
383
383
expected := []string {"--akey=avalue" , "--key=value" }
384
384
assert .Equal (t , expected , c .Args )
385
385
}
386
+
387
+ func TestContainerCustomVolumes (t * testing.T ) {
388
+ // prepare
389
+ targetAllocator := v1alpha1.TargetAllocator {
390
+ Spec : v1alpha1.TargetAllocatorSpec {
391
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
392
+ VolumeMounts : []corev1.VolumeMount {{
393
+ Name : "custom-volume-mount" ,
394
+ }},
395
+ },
396
+ },
397
+ }
398
+ cfg := config .New ()
399
+
400
+ // test
401
+ c := Container (cfg , logger , targetAllocator )
402
+
403
+ // verify
404
+ assert .Len (t , c .VolumeMounts , 2 )
405
+ assert .Equal (t , "custom-volume-mount" , c .VolumeMounts [1 ].Name )
406
+ }
407
+
408
+ func TestContainerCustomPorts (t * testing.T ) {
409
+ // prepare
410
+ targetAllocator := v1alpha1.TargetAllocator {
411
+ Spec : v1alpha1.TargetAllocatorSpec {
412
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
413
+ Ports : []v1beta1.PortsSpec {
414
+ {
415
+ ServicePort : corev1.ServicePort {
416
+ Name : "testport1" ,
417
+ Port : 12345 ,
418
+ Protocol : corev1 .ProtocolTCP ,
419
+ },
420
+ HostPort : 54321 ,
421
+ },
422
+ },
423
+ },
424
+ },
425
+ }
426
+ cfg := config .New ()
427
+
428
+ // test
429
+ c := Container (cfg , logger , targetAllocator )
430
+
431
+ // verify
432
+ assert .Len (t , c .Ports , 2 )
433
+ actual := c .Ports [1 ]
434
+ expected := corev1.ContainerPort {
435
+ Name : "testport1" ,
436
+ ContainerPort : 12345 ,
437
+ Protocol : corev1 .ProtocolTCP ,
438
+ HostPort : 54321 ,
439
+ }
440
+ assert .Equal (t , expected , actual )
441
+ }
442
+
443
+ func TestContainerLifecycle (t * testing.T ) {
444
+ // prepare
445
+ targetAllocator := v1alpha1.TargetAllocator {
446
+ Spec : v1alpha1.TargetAllocatorSpec {
447
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
448
+ Lifecycle : & corev1.Lifecycle {
449
+ PostStart : & corev1.LifecycleHandler {
450
+ Exec : & corev1.ExecAction {Command : []string {"sh" , "sleep 100" }},
451
+ },
452
+ PreStop : & corev1.LifecycleHandler {
453
+ Exec : & corev1.ExecAction {Command : []string {"sh" , "sleep 300" }},
454
+ },
455
+ },
456
+ },
457
+ },
458
+ }
459
+ cfg := config .New ()
460
+
461
+ // test
462
+ c := Container (cfg , logger , targetAllocator )
463
+
464
+ expectedLifecycleHooks := corev1.Lifecycle {
465
+ PostStart : & corev1.LifecycleHandler {
466
+ Exec : & corev1.ExecAction {Command : []string {"sh" , "sleep 100" }},
467
+ },
468
+ PreStop : & corev1.LifecycleHandler {
469
+ Exec : & corev1.ExecAction {Command : []string {"sh" , "sleep 300" }},
470
+ },
471
+ }
472
+
473
+ // verify
474
+ assert .Equal (t , expectedLifecycleHooks , * c .Lifecycle )
475
+ }
476
+
477
+ func TestContainerEnvFrom (t * testing.T ) {
478
+ //prepare
479
+ envFrom1 := corev1.EnvFromSource {
480
+ SecretRef : & corev1.SecretEnvSource {
481
+ LocalObjectReference : corev1.LocalObjectReference {
482
+ Name : "env-as-secret" ,
483
+ },
484
+ },
485
+ }
486
+ envFrom2 := corev1.EnvFromSource {
487
+ ConfigMapRef : & corev1.ConfigMapEnvSource {
488
+ LocalObjectReference : corev1.LocalObjectReference {
489
+ Name : "env-as-configmap" ,
490
+ },
491
+ },
492
+ }
493
+ // prepare
494
+ targetAllocator := v1alpha1.TargetAllocator {
495
+ Spec : v1alpha1.TargetAllocatorSpec {
496
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
497
+ EnvFrom : []corev1.EnvFromSource {
498
+ envFrom1 ,
499
+ envFrom2 ,
500
+ },
501
+ },
502
+ },
503
+ }
504
+ cfg := config .New ()
505
+
506
+ // test
507
+ c := Container (cfg , logger , targetAllocator )
508
+
509
+ // verify
510
+ assert .Contains (t , c .EnvFrom , envFrom1 )
511
+ assert .Contains (t , c .EnvFrom , envFrom2 )
512
+ }
513
+
514
+ func TestContainerImagePullPolicy (t * testing.T ) {
515
+ // prepare
516
+ targetAllocator := v1alpha1.TargetAllocator {
517
+ Spec : v1alpha1.TargetAllocatorSpec {
518
+ OpenTelemetryCommonFields : v1beta1.OpenTelemetryCommonFields {
519
+ ImagePullPolicy : corev1 .PullIfNotPresent ,
520
+ },
521
+ },
522
+ }
523
+ cfg := config .New ()
524
+
525
+ // test
526
+ c := Container (cfg , logger , targetAllocator )
527
+
528
+ // verify
529
+ assert .Equal (t , c .ImagePullPolicy , corev1 .PullIfNotPresent )
530
+ }
0 commit comments