From 7660ce9a7eff317cb09581019c2ea6a2e60e08b5 Mon Sep 17 00:00:00 2001 From: Jian Zeng Date: Wed, 11 Sep 2024 21:42:32 +0800 Subject: [PATCH] feat: update conversion helpers Signed-off-by: Jian Zeng --- pkg/apis/core/v1/conversion.go | 10 ++++++++++ pkg/apis/core/v1/conversion_test.go | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/pkg/apis/core/v1/conversion.go b/pkg/apis/core/v1/conversion.go index 9980be6eac5..744bfda4a89 100644 --- a/pkg/apis/core/v1/conversion.go +++ b/pkg/apis/core/v1/conversion.go @@ -554,3 +554,13 @@ func Convert_core_PersistentVolumeSpec_To_v1_PersistentVolumeSpec(in *core.Persi func Convert_v1_PersistentVolumeSpec_To_core_PersistentVolumeSpec(in *v1.PersistentVolumeSpec, out *core.PersistentVolumeSpec, s conversion.Scope) error { return autoConvert_v1_PersistentVolumeSpec_To_core_PersistentVolumeSpec(in, out, s) } + +// Convert_Slice_string_To_Pointer_v1_LogStreamType is needed because decoding URL parameters requires manual assistance. +func Convert_Slice_string_To_Pointer_v1_LogStreamType(in *[]string, out **v1.LogStreamType, s conversion.Scope) error { + if len(*in) == 0 { + return nil + } + temp := v1.LogStreamType((*in)[0]) + *out = &temp + return nil +} diff --git a/pkg/apis/core/v1/conversion_test.go b/pkg/apis/core/v1/conversion_test.go index 05b7e5ccb9e..76c37c708d5 100644 --- a/pkg/apis/core/v1/conversion_test.go +++ b/pkg/apis/core/v1/conversion_test.go @@ -52,6 +52,8 @@ func TestPodLogOptions(t *testing.T) { sinceTime := metav1.NewTime(time.Date(2000, 1, 1, 12, 34, 56, 0, time.UTC).Local()) tailLines := int64(2) limitBytes := int64(3) + v1StreamStderr := v1.LogStreamTypeStderr + coreStreamStderr := core.LogStreamTypeStderr versionedLogOptions := &v1.PodLogOptions{ Container: "mycontainer", @@ -62,6 +64,7 @@ func TestPodLogOptions(t *testing.T) { Timestamps: true, TailLines: &tailLines, LimitBytes: &limitBytes, + Stream: &v1StreamStderr, } unversionedLogOptions := &core.PodLogOptions{ Container: "mycontainer", @@ -72,6 +75,7 @@ func TestPodLogOptions(t *testing.T) { Timestamps: true, TailLines: &tailLines, LimitBytes: &limitBytes, + Stream: &coreStreamStderr, } expectedParameters := url.Values{ "container": {"mycontainer"}, @@ -82,6 +86,7 @@ func TestPodLogOptions(t *testing.T) { "timestamps": {"true"}, "tailLines": {"2"}, "limitBytes": {"3"}, + "stream": {"Stderr"}, } codec := runtime.NewParameterCodec(legacyscheme.Scheme)