From e208952c702135009e49ab32f6a9b50ef1ab77e5 Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Mon, 6 Feb 2017 18:28:36 +0100 Subject: [PATCH] Add replace patch strategy for DockerImageMetadata and cmd tests for oc edit istag --- pkg/image/api/v1/types.go | 2 +- test/cmd/edit.sh | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/image/api/v1/types.go b/pkg/image/api/v1/types.go index e47e9e914f67..73895331f3c0 100644 --- a/pkg/image/api/v1/types.go +++ b/pkg/image/api/v1/types.go @@ -27,7 +27,7 @@ type Image struct { // DockerImageReference is the string that can be used to pull this image. DockerImageReference string `json:"dockerImageReference,omitempty" protobuf:"bytes,2,opt,name=dockerImageReference"` // DockerImageMetadata contains metadata about this image - DockerImageMetadata runtime.RawExtension `json:"dockerImageMetadata,omitempty" protobuf:"bytes,3,opt,name=dockerImageMetadata"` + DockerImageMetadata runtime.RawExtension `json:"dockerImageMetadata,omitempty" patchStrategy:"replace" protobuf:"bytes,3,opt,name=dockerImageMetadata"` // DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" DockerImageMetadataVersion string `json:"dockerImageMetadataVersion,omitempty" protobuf:"bytes,4,opt,name=dockerImageMetadataVersion"` // DockerImageManifest is the raw JSON of the manifest diff --git a/test/cmd/edit.sh b/test/cmd/edit.sh index f853f7da61e8..affa62f2130c 100755 --- a/test/cmd/edit.sh +++ b/test/cmd/edit.sh @@ -22,5 +22,17 @@ os::cmd::expect_success_and_not_text 'OC_EDITOR=cat oc edit --windows-line-endin os::cmd::expect_success 'oc create -f test/testdata/services.yaml' os::cmd::expect_success_and_text 'OC_EDITOR=cat oc edit svc' 'kind: List' + +os::cmd::expect_success 'oc create imagestream test' +os::cmd::expect_success 'oc create -f test/testdata/mysql-image-stream-mapping.yaml' +os::cmd::expect_success_and_not_text 'oc get istag/test:new -o jsonpath={.metadata.annotations}' "tags:hidden" +editorfile="$(mktemp -d)/tmp-editor.sh" +echo '#!/bin/bash' > ${editorfile} +echo 'sed -i "s/^tag: null/tag:\n referencePolicy:\n type: Source/g" $1' >> ${editorfile} +echo 'sed -i "s/^metadata:$/metadata:\n annotations:\n tags: hidden/g" $1' >> ${editorfile} +chmod +x ${editorfile} +os::cmd::expect_success "EDITOR=${editorfile} oc edit istag/test:new" +os::cmd::expect_success_and_text 'oc get istag/test:new -o jsonpath={.metadata.annotations}' "tags:hidden" + echo "edit: ok" os::test::junit::declare_suite_end