@@ -32,9 +32,12 @@ import (
32
32
"k8s.io/apimachinery/pkg/runtime"
33
33
"k8s.io/apimachinery/pkg/types"
34
34
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
35
+ utilfeature "k8s.io/apiserver/pkg/util/feature"
35
36
"k8s.io/client-go/tools/cache"
37
+ featuregatetesting "k8s.io/component-base/featuregate/testing"
36
38
apitesting "k8s.io/kubernetes/pkg/api/testing"
37
39
api "k8s.io/kubernetes/pkg/apis/core"
40
+ "k8s.io/kubernetes/pkg/features"
38
41
"k8s.io/kubernetes/pkg/kubelet/client"
39
42
40
43
// ensure types are installed
@@ -321,6 +324,7 @@ func (g mockPodGetter) Get(context.Context, string, *metav1.GetOptions) (runtime
321
324
}
322
325
323
326
func TestCheckLogLocation (t * testing.T ) {
327
+ defer featuregatetesting .SetFeatureGateDuringTest (t , utilfeature .DefaultFeatureGate , features .EphemeralContainers , true )()
324
328
ctx := genericapirequest .NewDefaultContext ()
325
329
fakePodName := "test"
326
330
tcs := []struct {
@@ -407,7 +411,28 @@ func TestCheckLogLocation(t *testing.T) {
407
411
Status : api.PodStatus {},
408
412
},
409
413
opts : & api.PodLogOptions {},
410
- expectedErr : errors .NewBadRequest ("a container name must be specified for pod test, choose one of: [container1 container2] or one of the init containers: [initcontainer1]" ),
414
+ expectedErr : errors .NewBadRequest ("a container name must be specified for pod test, choose one of: [initcontainer1 container1 container2]" ),
415
+ expectedTransport : nil ,
416
+ },
417
+ {
418
+ in : & api.Pod {
419
+ ObjectMeta : metav1.ObjectMeta {Name : fakePodName },
420
+ Spec : api.PodSpec {
421
+ Containers : []api.Container {
422
+ {Name : "container1" },
423
+ {Name : "container2" },
424
+ },
425
+ InitContainers : []api.Container {
426
+ {Name : "initcontainer1" },
427
+ },
428
+ EphemeralContainers : []api.EphemeralContainer {
429
+ {EphemeralContainerCommon : api.EphemeralContainerCommon {Name : "debugger" }},
430
+ },
431
+ },
432
+ Status : api.PodStatus {},
433
+ },
434
+ opts : & api.PodLogOptions {},
435
+ expectedErr : errors .NewBadRequest ("a container name must be specified for pod test, choose one of: [initcontainer1 container1 container2 debugger]" ),
411
436
expectedTransport : nil ,
412
437
},
413
438
{
@@ -458,10 +483,10 @@ func TestCheckLogLocation(t *testing.T) {
458
483
459
484
_ , actualTransport , err := LogLocation (ctx , getter , connectionGetter , fakePodName , tc .opts )
460
485
if ! reflect .DeepEqual (err , tc .expectedErr ) {
461
- t .Errorf ("expected %v , got %v " , tc .expectedErr , err )
486
+ t .Errorf ("expected %q , got %q " , tc .expectedErr , err )
462
487
}
463
488
if actualTransport != tc .expectedTransport {
464
- t .Errorf ("expected %v , got %v " , tc .expectedTransport , actualTransport )
489
+ t .Errorf ("expected %q , got %q " , tc .expectedTransport , actualTransport )
465
490
}
466
491
})
467
492
}
0 commit comments