Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
4487cc5e
Commit
4487cc5e
authored
Oct 27, 2017
by
ymqytw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
switch some commands to use its own scheme
parent
35468469
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
64 changed files
with
340 additions
and
415 deletions
+340
-415
BUILD
pkg/kubectl/BUILD
+4
-3
BUILD
pkg/kubectl/cmd/BUILD
+6
-3
annotate_test.go
pkg/kubectl/cmd/annotate_test.go
+10
-11
apply.go
pkg/kubectl/cmd/apply.go
+2
-2
apply_test.go
pkg/kubectl/cmd/apply_test.go
+1
-13
BUILD
pkg/kubectl/cmd/auth/BUILD
+1
-2
cani_test.go
pkg/kubectl/cmd/auth/cani_test.go
+3
-4
cmd_test.go
pkg/kubectl/cmd/cmd_test.go
+9
-12
convert.go
pkg/kubectl/cmd/convert.go
+6
-6
create_clusterrole.go
pkg/kubectl/cmd/create_clusterrole.go
+2
-2
create_clusterrole_test.go
pkg/kubectl/cmd/create_clusterrole_test.go
+1
-1
create_clusterrolebinding_test.go
pkg/kubectl/cmd/create_clusterrolebinding_test.go
+0
-4
create_configmap_test.go
pkg/kubectl/cmd/create_configmap_test.go
+4
-4
create_deployment_test.go
pkg/kubectl/cmd/create_deployment_test.go
+0
-4
create_namespace_test.go
pkg/kubectl/cmd/create_namespace_test.go
+4
-4
create_pdb_test.go
pkg/kubectl/cmd/create_pdb_test.go
+2
-3
create_quota_test.go
pkg/kubectl/cmd/create_quota_test.go
+4
-4
create_role.go
pkg/kubectl/cmd/create_role.go
+10
-10
create_role_test.go
pkg/kubectl/cmd/create_role_test.go
+1
-1
create_rolebinding_test.go
pkg/kubectl/cmd/create_rolebinding_test.go
+6
-5
create_secret_test.go
pkg/kubectl/cmd/create_secret_test.go
+6
-6
create_service.go
pkg/kubectl/cmd/create_service.go
+5
-5
create_service_test.go
pkg/kubectl/cmd/create_service_test.go
+8
-8
create_serviceaccount_test.go
pkg/kubectl/cmd/create_serviceaccount_test.go
+4
-4
create_test.go
pkg/kubectl/cmd/create_test.go
+4
-5
delete_test.go
pkg/kubectl/cmd/delete_test.go
+3
-19
describe_test.go
pkg/kubectl/cmd/describe_test.go
+0
-8
edit_test.go
pkg/kubectl/cmd/edit_test.go
+0
-3
exec_test.go
pkg/kubectl/cmd/exec_test.go
+1
-4
explain.go
pkg/kubectl/cmd/explain.go
+2
-2
expose_test.go
pkg/kubectl/cmd/expose_test.go
+8
-2
get_test.go
pkg/kubectl/cmd/get_test.go
+0
-0
label_test.go
pkg/kubectl/cmd/label_test.go
+4
-9
logs_test.go
pkg/kubectl/cmd/logs_test.go
+1
-5
patch.go
pkg/kubectl/cmd/patch.go
+2
-2
patch_test.go
pkg/kubectl/cmd/patch_test.go
+0
-6
portforward_test.go
pkg/kubectl/cmd/portforward_test.go
+3
-3
replace_test.go
pkg/kubectl/cmd/replace_test.go
+0
-5
run_test.go
pkg/kubectl/cmd/run_test.go
+10
-6
taint_test.go
pkg/kubectl/cmd/taint_test.go
+0
-3
top_node_test.go
pkg/kubectl/cmd/top_node_test.go
+0
-5
top_pod_test.go
pkg/kubectl/cmd/top_pod_test.go
+0
-4
BUILD
pkg/kubectl/cmd/util/editor/BUILD
+1
-1
editoptions.go
pkg/kubectl/cmd/util/editor/editoptions.go
+2
-2
configmap.go
pkg/kubectl/configmap.go
+7
-7
configmap_test.go
pkg/kubectl/configmap_test.go
+18
-18
pdb.go
pkg/kubectl/pdb.go
+1
-1
quota.go
pkg/kubectl/quota.go
+6
-6
quota_test.go
pkg/kubectl/quota_test.go
+14
-14
rolebinding.go
pkg/kubectl/rolebinding.go
+14
-14
rolebinding_test.go
pkg/kubectl/rolebinding_test.go
+1
-1
secret.go
pkg/kubectl/secret.go
+8
-8
secret_for_docker_registry.go
pkg/kubectl/secret_for_docker_registry.go
+4
-4
secret_for_docker_registry_test.go
pkg/kubectl/secret_for_docker_registry_test.go
+13
-13
secret_for_tls.go
pkg/kubectl/secret_for_tls.go
+5
-5
secret_for_tls_test.go
pkg/kubectl/secret_for_tls_test.go
+20
-20
secret_test.go
pkg/kubectl/secret_test.go
+18
-18
service_basic.go
pkg/kubectl/service_basic.go
+15
-15
service_basic_test.go
pkg/kubectl/service_basic_test.go
+23
-23
serviceaccount.go
pkg/kubectl/serviceaccount.go
+2
-2
serviceaccount_test.go
pkg/kubectl/serviceaccount_test.go
+5
-5
BUILD
pkg/kubectl/util/hash/BUILD
+2
-2
hash.go
pkg/kubectl/util/hash/hash.go
+5
-5
hash_test.go
pkg/kubectl/util/hash/hash_test.go
+19
-19
No files found.
pkg/kubectl/BUILD
View file @
4487cc5e
...
@@ -42,7 +42,6 @@ go_test(
...
@@ -42,7 +42,6 @@ go_test(
"//pkg/apis/apps:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset/fake:go_default_library",
"//pkg/client/clientset_generated/internalclientset/fake:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library",
...
@@ -58,6 +57,7 @@ go_test(
...
@@ -58,6 +57,7 @@ go_test(
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
...
@@ -121,8 +121,6 @@ go_library(
...
@@ -121,8 +121,6 @@ go_library(
"//pkg/apis/apps:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/policy:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library",
...
@@ -149,6 +147,8 @@ go_library(
...
@@ -149,6 +147,8 @@ go_library(
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/policy/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
...
@@ -198,6 +198,7 @@ filegroup(
...
@@ -198,6 +198,7 @@ filegroup(
"//pkg/kubectl/plugins:all-srcs",
"//pkg/kubectl/plugins:all-srcs",
"//pkg/kubectl/proxy:all-srcs",
"//pkg/kubectl/proxy:all-srcs",
"//pkg/kubectl/resource:all-srcs",
"//pkg/kubectl/resource:all-srcs",
"//pkg/kubectl/scheme:all-srcs",
"//pkg/kubectl/testing:all-srcs",
"//pkg/kubectl/testing:all-srcs",
"//pkg/kubectl/util:all-srcs",
"//pkg/kubectl/util:all-srcs",
"//pkg/kubectl/validation:all-srcs",
"//pkg/kubectl/validation:all-srcs",
...
...
pkg/kubectl/cmd/BUILD
View file @
4487cc5e
...
@@ -72,10 +72,8 @@ go_library(
...
@@ -72,10 +72,8 @@ go_library(
"//pkg/api/legacyscheme:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
"//pkg/api/validation:go_default_library",
"//pkg/api/validation:go_default_library",
"//pkg/apis/certificates:go_default_library",
"//pkg/apis/certificates:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion:go_default_library",
"//pkg/client/unversioned:go_default_library",
"//pkg/client/unversioned:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl/apply/parse:go_default_library",
"//pkg/kubectl/apply/parse:go_default_library",
...
@@ -93,6 +91,7 @@ go_library(
...
@@ -93,6 +91,7 @@ go_library(
"//pkg/kubectl/plugins:go_default_library",
"//pkg/kubectl/plugins:go_default_library",
"//pkg/kubectl/proxy:go_default_library",
"//pkg/kubectl/proxy:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/scheme:go_default_library",
"//pkg/kubectl/util:go_default_library",
"//pkg/kubectl/util:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
...
@@ -116,6 +115,7 @@ go_library(
...
@@ -116,6 +115,7 @@ go_library(
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
"//vendor/k8s.io/api/policy/v1beta1:go_default_library",
"//vendor/k8s.io/api/policy/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
...
@@ -140,6 +140,7 @@ go_library(
...
@@ -140,6 +140,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/tools/portforward:go_default_library",
"//vendor/k8s.io/client-go/tools/portforward:go_default_library",
...
@@ -205,15 +206,16 @@ go_test(
...
@@ -205,15 +206,16 @@ go_test(
"//pkg/api/ref:go_default_library",
"//pkg/api/ref:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/api/testing:go_default_library",
"//pkg/api/testing:go_default_library",
"//pkg/api/v1:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/batch:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/rbac:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl/cmd/testing:go_default_library",
"//pkg/kubectl/cmd/testing:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/cmd/util/openapi:go_default_library",
"//pkg/kubectl/cmd/util/openapi:go_default_library",
"//pkg/kubectl/plugins:go_default_library",
"//pkg/kubectl/plugins:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/scheme:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
"//pkg/printers:go_default_library",
"//pkg/printers:go_default_library",
...
@@ -224,6 +226,7 @@ go_test(
...
@@ -224,6 +226,7 @@ go_test(
"//vendor/gopkg.in/yaml.v2:go_default_library",
"//vendor/gopkg.in/yaml.v2:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/policy/v1beta1:go_default_library",
"//vendor/k8s.io/api/policy/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
...
...
pkg/kubectl/cmd/annotate_test.go
View file @
4487cc5e
...
@@ -25,10 +25,9 @@ import (
...
@@ -25,10 +25,9 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
restclient
"k8s.io/client-go/rest
"
"k8s.io/apimachinery/pkg/runtime/schema
"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -419,7 +418,7 @@ func TestAnnotateErrors(t *testing.T) {
...
@@ -419,7 +418,7 @@ func TestAnnotateErrors(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
...
@@ -452,7 +451,7 @@ func TestAnnotateObject(t *testing.T) {
...
@@ -452,7 +451,7 @@ func TestAnnotateObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
"testgroup"
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
req
.
Method
{
switch
req
.
Method
{
...
@@ -479,7 +478,7 @@ func TestAnnotateObject(t *testing.T) {
...
@@ -479,7 +478,7 @@ func TestAnnotateObject(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
...
@@ -503,7 +502,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
...
@@ -503,7 +502,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
"testgroup"
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
req
.
Method
{
switch
req
.
Method
{
...
@@ -530,7 +529,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
...
@@ -530,7 +529,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
...
@@ -552,7 +551,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
...
@@ -552,7 +551,7 @@ func TestAnnotateObjectFromFile(t *testing.T) {
func
TestAnnotateLocal
(
t
*
testing
.
T
)
{
func
TestAnnotateLocal
(
t
*
testing
.
T
)
{
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
"testgroup"
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
t
.
Fatalf
(
"unexpected request: %s %#v
\n
%#v"
,
req
.
Method
,
req
.
URL
,
req
)
t
.
Fatalf
(
"unexpected request: %s %#v
\n
%#v"
,
req
.
Method
,
req
.
URL
,
req
)
...
@@ -560,7 +559,7 @@ func TestAnnotateLocal(t *testing.T) {
...
@@ -560,7 +559,7 @@ func TestAnnotateLocal(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
...
@@ -585,7 +584,7 @@ func TestAnnotateMultipleObjects(t *testing.T) {
...
@@ -585,7 +584,7 @@ func TestAnnotateMultipleObjects(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
"testgroup"
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
req
.
Method
{
switch
req
.
Method
{
...
@@ -614,7 +613,7 @@ func TestAnnotateMultipleObjects(t *testing.T) {
...
@@ -614,7 +613,7 @@ func TestAnnotateMultipleObjects(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
cmd
:=
NewCmdAnnotate
(
f
,
buf
)
...
...
pkg/kubectl/cmd/apply.go
View file @
4487cc5e
...
@@ -38,12 +38,12 @@ import (
...
@@ -38,12 +38,12 @@ import (
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
)
)
...
@@ -581,7 +581,7 @@ func (p *patcher) patchSimple(obj runtime.Object, modified []byte, source, names
...
@@ -581,7 +581,7 @@ func (p *patcher) patchSimple(obj runtime.Object, modified []byte, source, names
// Create the versioned struct from the type defined in the restmapping
// Create the versioned struct from the type defined in the restmapping
// (which is the API version we'll be submitting the patch to)
// (which is the API version we'll be submitting the patch to)
versionedObject
,
err
:=
legacy
scheme
.
Scheme
.
New
(
p
.
mapping
.
GroupVersionKind
)
versionedObject
,
err
:=
scheme
.
Scheme
.
New
(
p
.
mapping
.
GroupVersionKind
)
var
patchType
types
.
PatchType
var
patchType
types
.
PatchType
var
patch
[]
byte
var
patch
[]
byte
createPatchErrFormat
:=
"creating patch with:
\n
original:
\n
%s
\n
modified:
\n
%s
\n
current:
\n
%s
\n
for:"
createPatchErrFormat
:=
"creating patch with:
\n
original:
\n
%s
\n
modified:
\n
%s
\n
current:
\n
%s
\n
for:"
...
...
pkg/kubectl/cmd/apply_test.go
View file @
4487cc5e
...
@@ -33,10 +33,8 @@ import (
...
@@ -33,10 +33,8 @@ import (
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/apis/extensions"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
...
@@ -358,7 +356,6 @@ func TestApplyObjectWithoutAnnotation(t *testing.T) {
...
@@ -358,7 +356,6 @@ func TestApplyObjectWithoutAnnotation(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -403,7 +400,6 @@ func TestApplyObject(t *testing.T) {
...
@@ -403,7 +400,6 @@ func TestApplyObject(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -460,7 +456,6 @@ func TestApplyObjectOutput(t *testing.T) {
...
@@ -460,7 +456,6 @@ func TestApplyObjectOutput(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
printers
.
YAMLPrinter
{}
tf
.
Printer
=
&
printers
.
YAMLPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -505,7 +500,6 @@ func TestApplyRetry(t *testing.T) {
...
@@ -505,7 +500,6 @@ func TestApplyRetry(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -559,7 +553,6 @@ func TestApplyNonExistObject(t *testing.T) {
...
@@ -559,7 +553,6 @@ func TestApplyNonExistObject(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -610,7 +603,6 @@ func testApplyMultipleObjects(t *testing.T, asList bool) {
...
@@ -610,7 +603,6 @@ func testApplyMultipleObjects(t *testing.T, asList bool) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -688,7 +680,6 @@ func TestApplyNULLPreservation(t *testing.T) {
...
@@ -688,7 +680,6 @@ func TestApplyNULLPreservation(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewTestFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewTestFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -757,7 +748,6 @@ func TestUnstructuredApply(t *testing.T) {
...
@@ -757,7 +748,6 @@ func TestUnstructuredApply(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -821,7 +811,6 @@ func TestUnstructuredIdempotentApply(t *testing.T) {
...
@@ -821,7 +811,6 @@ func TestUnstructuredIdempotentApply(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -1035,7 +1024,6 @@ func TestForceApply(t *testing.T) {
...
@@ -1035,7 +1024,6 @@ func TestForceApply(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
},
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -1093,7 +1081,7 @@ func TestForceApply(t *testing.T) {
...
@@ -1093,7 +1081,7 @@ func TestForceApply(t *testing.T) {
}),
}),
}
}
tf
.
Client
=
tf
.
UnstructuredClient
tf
.
Client
=
tf
.
UnstructuredClient
tf
.
ClientConfig
=
&
restclient
.
Config
{}
tf
.
ClientConfig
=
defaultClientConfig
()
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
errBuf
:=
bytes
.
NewBuffer
([]
byte
{})
errBuf
:=
bytes
.
NewBuffer
([]
byte
{})
...
...
pkg/kubectl/cmd/auth/BUILD
View file @
4487cc5e
...
@@ -53,9 +53,8 @@ go_test(
...
@@ -53,9 +53,8 @@ go_test(
importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/auth",
importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/auth",
library = ":go_default_library",
library = ":go_default_library",
deps = [
deps = [
"//pkg/api:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
"//pkg/kubectl/cmd/testing:go_default_library",
"//pkg/kubectl/cmd/testing:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/rest/fake:go_default_library",
"//vendor/k8s.io/client-go/rest/fake:go_default_library",
],
],
...
...
pkg/kubectl/cmd/auth/cani_test.go
View file @
4487cc5e
...
@@ -24,10 +24,9 @@ import (
...
@@ -24,10 +24,9 @@ import (
"strings"
"strings"
"testing"
"testing"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -122,7 +121,7 @@ func TestRunAccessCheck(t *testing.T) {
...
@@ -122,7 +121,7 @@ func TestRunAccessCheck(t *testing.T) {
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
""
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
expectPath
:=
"/apis/authorization.k8s.io/v1/selfsubjectaccessreviews"
expectPath
:=
"/apis/authorization.k8s.io/v1/selfsubjectaccessreviews"
...
@@ -153,7 +152,7 @@ func TestRunAccessCheck(t *testing.T) {
...
@@ -153,7 +152,7 @@ func TestRunAccessCheck(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
schema
.
GroupVersion
{
Group
:
""
,
Version
:
"v1"
}
}}
if
err
:=
test
.
o
.
Complete
(
f
,
test
.
args
);
err
!=
nil
{
if
err
:=
test
.
o
.
Complete
(
f
,
test
.
args
);
err
!=
nil
{
t
.
Errorf
(
"%s: %v"
,
test
.
name
,
err
)
t
.
Errorf
(
"%s: %v"
,
test
.
name
,
err
)
...
...
pkg/kubectl/cmd/cmd_test.go
View file @
4487cc5e
...
@@ -37,15 +37,20 @@ import (
...
@@ -37,15 +37,20 @@ import (
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
printersinternal
"k8s.io/kubernetes/pkg/printers/internalversion"
printersinternal
"k8s.io/kubernetes/pkg/printers/internalversion"
"k8s.io/kubernetes/pkg/util/strings"
"k8s.io/kubernetes/pkg/util/strings"
)
)
// This init should be removed after switching this command and its tests to user external types.
func
init
()
{
api
.
AddToScheme
(
scheme
.
Scheme
)
}
func
initTestErrorHandler
(
t
*
testing
.
T
)
{
func
initTestErrorHandler
(
t
*
testing
.
T
)
{
cmdutil
.
BehaviorOnFatal
(
func
(
str
string
,
code
int
)
{
cmdutil
.
BehaviorOnFatal
(
func
(
str
string
,
code
int
)
{
t
.
Errorf
(
"Error running command (exit code %d): %s"
,
code
,
str
)
t
.
Errorf
(
"Error running command (exit code %d): %s"
,
code
,
str
)
...
@@ -62,9 +67,9 @@ func defaultClientConfig() *restclient.Config {
...
@@ -62,9 +67,9 @@ func defaultClientConfig() *restclient.Config {
return
&
restclient
.
Config
{
return
&
restclient
.
Config
{
APIPath
:
"/api"
,
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
legacy
scheme
.
Codecs
,
NegotiatedSerializer
:
scheme
.
Codecs
,
ContentType
:
runtime
.
ContentTypeJSON
,
ContentType
:
runtime
.
ContentTypeJSON
,
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
&
schema
.
GroupVersion
{
Version
:
"v1"
}
,
},
},
}
}
}
}
...
@@ -73,7 +78,7 @@ func defaultClientConfigForVersion(version *schema.GroupVersion) *restclient.Con
...
@@ -73,7 +78,7 @@ func defaultClientConfigForVersion(version *schema.GroupVersion) *restclient.Con
return
&
restclient
.
Config
{
return
&
restclient
.
Config
{
APIPath
:
"/api"
,
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
legacy
scheme
.
Codecs
,
NegotiatedSerializer
:
scheme
.
Codecs
,
ContentType
:
runtime
.
ContentTypeJSON
,
ContentType
:
runtime
.
ContentTypeJSON
,
GroupVersion
:
version
,
GroupVersion
:
version
,
},
},
...
@@ -163,7 +168,6 @@ func Example_printReplicationControllerWithNamespace() {
...
@@ -163,7 +168,6 @@ func Example_printReplicationControllerWithNamespace() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -216,7 +220,6 @@ func Example_printMultiContainersReplicationControllerWithWide() {
...
@@ -216,7 +220,6 @@ func Example_printMultiContainersReplicationControllerWithWide() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -270,7 +273,6 @@ func Example_printReplicationController() {
...
@@ -270,7 +273,6 @@ func Example_printReplicationController() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -325,7 +327,6 @@ func Example_printPodWithWideFormat() {
...
@@ -325,7 +327,6 @@ func Example_printPodWithWideFormat() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -368,7 +369,6 @@ func Example_printPodWithShowLabels() {
...
@@ -368,7 +369,6 @@ func Example_printPodWithShowLabels() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -505,7 +505,6 @@ func Example_printPodHideTerminated() {
...
@@ -505,7 +505,6 @@ func Example_printPodHideTerminated() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -541,7 +540,6 @@ func Example_printPodShowAll() {
...
@@ -541,7 +540,6 @@ func Example_printPodShowAll() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
@@ -570,7 +568,6 @@ func Example_printServiceWithNamespacesAndLabels() {
...
@@ -570,7 +568,6 @@ func Example_printServiceWithNamespacesAndLabels() {
printersinternal
.
AddHandlers
(
p
)
printersinternal
.
AddHandlers
(
p
)
tf
.
Printer
=
p
tf
.
Printer
=
p
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
nil
,
Client
:
nil
,
}
}
...
...
pkg/kubectl/cmd/convert.go
View file @
4487cc5e
...
@@ -24,10 +24,10 @@ import (
...
@@ -24,10 +24,10 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
...
@@ -119,11 +119,11 @@ func outputVersion(cmd *cobra.Command, defaultVersion *schema.GroupVersion) (sch
...
@@ -119,11 +119,11 @@ func outputVersion(cmd *cobra.Command, defaultVersion *schema.GroupVersion) (sch
// Complete collects information required to run Convert command from command line.
// Complete collects information required to run Convert command from command line.
func
(
o
*
ConvertOptions
)
Complete
(
f
cmdutil
.
Factory
,
out
io
.
Writer
,
cmd
*
cobra
.
Command
)
(
err
error
)
{
func
(
o
*
ConvertOptions
)
Complete
(
f
cmdutil
.
Factory
,
out
io
.
Writer
,
cmd
*
cobra
.
Command
)
(
err
error
)
{
o
.
outputVersion
,
err
=
outputVersion
(
cmd
,
&
legacy
scheme
.
Registry
.
EnabledVersionsForGroup
(
api
.
GroupName
)[
0
])
o
.
outputVersion
,
err
=
outputVersion
(
cmd
,
&
scheme
.
Registry
.
EnabledVersionsForGroup
(
api
.
GroupName
)[
0
])
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
!
legacy
scheme
.
Registry
.
IsEnabledVersion
(
o
.
outputVersion
)
{
if
!
scheme
.
Registry
.
IsEnabledVersion
(
o
.
outputVersion
)
{
cmdutil
.
UsageErrorf
(
cmd
,
"'%s' is not a registered version."
,
o
.
outputVersion
)
cmdutil
.
UsageErrorf
(
cmd
,
"'%s' is not a registered version."
,
o
.
outputVersion
)
}
}
...
@@ -208,7 +208,7 @@ func (o *ConvertOptions) RunConvert() error {
...
@@ -208,7 +208,7 @@ func (o *ConvertOptions) RunConvert() error {
// and squashes the list's items into a single versioned runtime.Object.
// and squashes the list's items into a single versioned runtime.Object.
func
objectListToVersionedObject
(
objects
[]
runtime
.
Object
,
version
schema
.
GroupVersion
)
(
runtime
.
Object
,
error
)
{
func
objectListToVersionedObject
(
objects
[]
runtime
.
Object
,
version
schema
.
GroupVersion
)
(
runtime
.
Object
,
error
)
{
objectList
:=
&
api
.
List
{
Items
:
objects
}
objectList
:=
&
api
.
List
{
Items
:
objects
}
converted
,
err
:=
tryConvert
(
legacyscheme
.
Scheme
,
objectList
,
version
,
legacy
scheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
converted
,
err
:=
tryConvert
(
scheme
.
Scheme
,
objectList
,
version
,
scheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -230,7 +230,7 @@ func asVersionedObject(infos []*resource.Info, forceList bool, version schema.Gr
...
@@ -230,7 +230,7 @@ func asVersionedObject(infos []*resource.Info, forceList bool, version schema.Gr
object
=
objects
[
0
]
object
=
objects
[
0
]
}
else
{
}
else
{
object
=
&
api
.
List
{
Items
:
objects
}
object
=
&
api
.
List
{
Items
:
objects
}
converted
,
err
:=
tryConvert
(
legacyscheme
.
Scheme
,
object
,
version
,
legacy
scheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
converted
,
err
:=
tryConvert
(
scheme
.
Scheme
,
object
,
version
,
scheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -261,7 +261,7 @@ func asVersionedObjects(infos []*resource.Info, version schema.GroupVersion, enc
...
@@ -261,7 +261,7 @@ func asVersionedObjects(infos []*resource.Info, version schema.GroupVersion, enc
// objects that are not part of api.Scheme must be converted to JSON
// objects that are not part of api.Scheme must be converted to JSON
// TODO: convert to map[string]interface{}, attach to runtime.Unknown?
// TODO: convert to map[string]interface{}, attach to runtime.Unknown?
if
!
version
.
Empty
()
{
if
!
version
.
Empty
()
{
if
_
,
_
,
err
:=
legacy
scheme
.
Scheme
.
ObjectKinds
(
info
.
Object
);
runtime
.
IsNotRegisteredError
(
err
)
{
if
_
,
_
,
err
:=
scheme
.
Scheme
.
ObjectKinds
(
info
.
Object
);
runtime
.
IsNotRegisteredError
(
err
)
{
// TODO: ideally this would encode to version, but we don't expose multiple codecs here.
// TODO: ideally this would encode to version, but we don't expose multiple codecs here.
data
,
err
:=
runtime
.
Encode
(
encoder
,
info
.
Object
)
data
,
err
:=
runtime
.
Encode
(
encoder
,
info
.
Object
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/cmd/create_clusterrole.go
View file @
4487cc5e
...
@@ -23,7 +23,7 @@ import (
...
@@ -23,7 +23,7 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/apis/rbac
"
rbacv1
"k8s.io/api/rbac/v1
"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
...
@@ -155,7 +155,7 @@ func (c *CreateClusterRoleOptions) Validate() error {
...
@@ -155,7 +155,7 @@ func (c *CreateClusterRoleOptions) Validate() error {
}
}
func
(
c
*
CreateClusterRoleOptions
)
RunCreateRole
()
error
{
func
(
c
*
CreateClusterRoleOptions
)
RunCreateRole
()
error
{
clusterRole
:=
&
rbac
.
ClusterRole
{}
clusterRole
:=
&
rbac
v1
.
ClusterRole
{}
clusterRole
.
Name
=
c
.
Name
clusterRole
.
Name
=
c
.
Name
rules
,
err
:=
generateResourcePolicyRules
(
c
.
Mapper
,
c
.
Verbs
,
c
.
Resources
,
c
.
ResourceNames
,
c
.
NonResourceURLs
)
rules
,
err
:=
generateResourcePolicyRules
(
c
.
Mapper
,
c
.
Verbs
,
c
.
Resources
,
c
.
ResourceNames
,
c
.
NonResourceURLs
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/cmd/create_clusterrole_test.go
View file @
4487cc5e
...
@@ -22,10 +22,10 @@ import (
...
@@ -22,10 +22,10 @@ import (
"reflect"
"reflect"
"testing"
"testing"
rbac
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/apis/rbac"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
...
pkg/kubectl/cmd/create_clusterrolebinding_test.go
View file @
4487cc5e
...
@@ -30,8 +30,6 @@ import (
...
@@ -30,8 +30,6 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -78,7 +76,6 @@ func TestCreateClusterRoleBinding(t *testing.T) {
...
@@ -78,7 +76,6 @@ func TestCreateClusterRoleBinding(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
ClusterRoleBindingRESTClient
{
tf
.
Client
=
&
ClusterRoleBindingRESTClient
{
RESTClient
:
&
fake
.
RESTClient
{
RESTClient
:
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -131,7 +128,6 @@ type ClusterRoleBindingRESTClient struct {
...
@@ -131,7 +128,6 @@ type ClusterRoleBindingRESTClient struct {
func
(
c
*
ClusterRoleBindingRESTClient
)
Post
()
*
restclient
.
Request
{
func
(
c
*
ClusterRoleBindingRESTClient
)
Post
()
*
restclient
.
Request
{
config
:=
restclient
.
ContentConfig
{
config
:=
restclient
.
ContentConfig
{
ContentType
:
runtime
.
ContentTypeJSON
,
ContentType
:
runtime
.
ContentTypeJSON
,
GroupVersion
:
&
schema
.
GroupVersion
{
Group
:
"rbac.authorization.k8s.io"
,
Version
:
"v1beta1"
},
NegotiatedSerializer
:
c
.
NegotiatedSerializer
,
NegotiatedSerializer
:
c
.
NegotiatedSerializer
,
}
}
...
...
pkg/kubectl/cmd/create_configmap_test.go
View file @
4487cc5e
...
@@ -21,19 +21,19 @@ import (
...
@@ -21,19 +21,19 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateConfigMap
(
t
*
testing
.
T
)
{
func
TestCreateConfigMap
(
t
*
testing
.
T
)
{
configMap
:=
&
api
.
ConfigMap
{}
configMap
:=
&
v1
.
ConfigMap
{}
configMap
.
Name
=
"my-configmap"
configMap
.
Name
=
"my-configmap"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
""
,
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_deployment_test.go
View file @
4487cc5e
...
@@ -26,8 +26,6 @@ import (
...
@@ -26,8 +26,6 @@ import (
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -77,7 +75,6 @@ func TestCreateDeployment(t *testing.T) {
...
@@ -77,7 +75,6 @@ func TestCreateDeployment(t *testing.T) {
depName
:=
"jonny-dep"
depName
:=
"jonny-dep"
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
&
http
.
Response
{
return
&
http
.
Response
{
...
@@ -106,7 +103,6 @@ func TestCreateDeploymentNoImage(t *testing.T) {
...
@@ -106,7 +103,6 @@ func TestCreateDeploymentNoImage(t *testing.T) {
depName
:=
"jonny-dep"
depName
:=
"jonny-dep"
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
&
http
.
Response
{
return
&
http
.
Response
{
...
...
pkg/kubectl/cmd/create_namespace_test.go
View file @
4487cc5e
...
@@ -21,19 +21,19 @@ import (
...
@@ -21,19 +21,19 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateNamespace
(
t
*
testing
.
T
)
{
func
TestCreateNamespace
(
t
*
testing
.
T
)
{
namespaceObject
:=
&
api
.
Namespace
{}
namespaceObject
:=
&
v1
.
Namespace
{}
namespaceObject
.
Name
=
"my-namespace"
namespaceObject
.
Name
=
"my-namespace"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_pdb_test.go
View file @
4487cc5e
...
@@ -22,10 +22,9 @@ import (
...
@@ -22,10 +22,9 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -33,7 +32,7 @@ func TestCreatePdb(t *testing.T) {
...
@@ -33,7 +32,7 @@ func TestCreatePdb(t *testing.T) {
pdbName
:=
"my-pdb"
pdbName
:=
"my-pdb"
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
"policy"
,
Version
:
"v1beta1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
&
http
.
Response
{
return
&
http
.
Response
{
...
...
pkg/kubectl/cmd/create_quota_test.go
View file @
4487cc5e
...
@@ -21,19 +21,19 @@ import (
...
@@ -21,19 +21,19 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateQuota
(
t
*
testing
.
T
)
{
func
TestCreateQuota
(
t
*
testing
.
T
)
{
resourceQuotaObject
:=
&
api
.
ResourceQuota
{}
resourceQuotaObject
:=
&
v1
.
ResourceQuota
{}
resourceQuotaObject
.
Name
=
"my-quota"
resourceQuotaObject
.
Name
=
"my-quota"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_role.go
View file @
4487cc5e
...
@@ -23,12 +23,12 @@ import (
...
@@ -23,12 +23,12 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
rbacv1
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/apis/rbac"
clientgorbacv1
"k8s.io/client-go/kubernetes/typed/rbac/v1"
internalversionrbac
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
...
@@ -108,7 +108,7 @@ type CreateRoleOptions struct {
...
@@ -108,7 +108,7 @@ type CreateRoleOptions struct {
DryRun
bool
DryRun
bool
OutputFormat
string
OutputFormat
string
Namespace
string
Namespace
string
Client
internalversionrbac
.
Rbac
Interface
Client
clientgorbacv1
.
RbacV1
Interface
Mapper
meta
.
RESTMapper
Mapper
meta
.
RESTMapper
Out
io
.
Writer
Out
io
.
Writer
PrintObject
func
(
obj
runtime
.
Object
)
error
PrintObject
func
(
obj
runtime
.
Object
)
error
...
@@ -206,11 +206,11 @@ func (c *CreateRoleOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
...
@@ -206,11 +206,11 @@ func (c *CreateRoleOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
return
f
.
PrintObject
(
cmd
,
false
,
c
.
Mapper
,
obj
,
c
.
Out
)
return
f
.
PrintObject
(
cmd
,
false
,
c
.
Mapper
,
obj
,
c
.
Out
)
}
}
client
Set
,
err
:=
f
.
ClientSet
()
client
set
,
err
:=
f
.
Kubernetes
ClientSet
()
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
c
.
Client
=
client
Set
.
Rbac
()
c
.
Client
=
client
set
.
RbacV1
()
return
nil
return
nil
}
}
...
@@ -275,7 +275,7 @@ func (c *CreateRoleOptions) validateResource() error {
...
@@ -275,7 +275,7 @@ func (c *CreateRoleOptions) validateResource() error {
}
}
func
(
c
*
CreateRoleOptions
)
RunCreateRole
()
error
{
func
(
c
*
CreateRoleOptions
)
RunCreateRole
()
error
{
role
:=
&
rbac
.
Role
{}
role
:=
&
rbac
v1
.
Role
{}
role
.
Name
=
c
.
Name
role
.
Name
=
c
.
Name
rules
,
err
:=
generateResourcePolicyRules
(
c
.
Mapper
,
c
.
Verbs
,
c
.
Resources
,
c
.
ResourceNames
,
[]
string
{})
rules
,
err
:=
generateResourcePolicyRules
(
c
.
Mapper
,
c
.
Verbs
,
c
.
Resources
,
c
.
ResourceNames
,
[]
string
{})
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -308,7 +308,7 @@ func arrayContains(s []string, e string) bool {
...
@@ -308,7 +308,7 @@ func arrayContains(s []string, e string) bool {
return
false
return
false
}
}
func
generateResourcePolicyRules
(
mapper
meta
.
RESTMapper
,
verbs
[]
string
,
resources
[]
ResourceOptions
,
resourceNames
[]
string
,
nonResourceURLs
[]
string
)
([]
rbac
.
PolicyRule
,
error
)
{
func
generateResourcePolicyRules
(
mapper
meta
.
RESTMapper
,
verbs
[]
string
,
resources
[]
ResourceOptions
,
resourceNames
[]
string
,
nonResourceURLs
[]
string
)
([]
rbac
v1
.
PolicyRule
,
error
)
{
// groupResourceMapping is a apigroup-resource map. The key of this map is api group, while the value
// groupResourceMapping is a apigroup-resource map. The key of this map is api group, while the value
// is a string array of resources under this api group.
// is a string array of resources under this api group.
// E.g. groupResourceMapping = {"extensions": ["replicasets", "deployments"], "batch":["jobs"]}
// E.g. groupResourceMapping = {"extensions": ["replicasets", "deployments"], "batch":["jobs"]}
...
@@ -334,9 +334,9 @@ func generateResourcePolicyRules(mapper meta.RESTMapper, verbs []string, resourc
...
@@ -334,9 +334,9 @@ func generateResourcePolicyRules(mapper meta.RESTMapper, verbs []string, resourc
}
}
// Create separate rule for each of the api group.
// Create separate rule for each of the api group.
rules
:=
[]
rbac
.
PolicyRule
{}
rules
:=
[]
rbac
v1
.
PolicyRule
{}
for
_
,
g
:=
range
sets
.
StringKeySet
(
groupResourceMapping
)
.
List
()
{
for
_
,
g
:=
range
sets
.
StringKeySet
(
groupResourceMapping
)
.
List
()
{
rule
:=
rbac
.
PolicyRule
{}
rule
:=
rbac
v1
.
PolicyRule
{}
rule
.
Verbs
=
verbs
rule
.
Verbs
=
verbs
rule
.
Resources
=
groupResourceMapping
[
g
]
rule
.
Resources
=
groupResourceMapping
[
g
]
rule
.
APIGroups
=
[]
string
{
g
}
rule
.
APIGroups
=
[]
string
{
g
}
...
@@ -345,7 +345,7 @@ func generateResourcePolicyRules(mapper meta.RESTMapper, verbs []string, resourc
...
@@ -345,7 +345,7 @@ func generateResourcePolicyRules(mapper meta.RESTMapper, verbs []string, resourc
}
}
if
len
(
nonResourceURLs
)
>
0
{
if
len
(
nonResourceURLs
)
>
0
{
rule
:=
rbac
.
PolicyRule
{}
rule
:=
rbac
v1
.
PolicyRule
{}
rule
.
Verbs
=
verbs
rule
.
Verbs
=
verbs
rule
.
NonResourceURLs
=
nonResourceURLs
rule
.
NonResourceURLs
=
nonResourceURLs
rules
=
append
(
rules
,
rule
)
rules
=
append
(
rules
,
rule
)
...
...
pkg/kubectl/cmd/create_role_test.go
View file @
4487cc5e
...
@@ -22,10 +22,10 @@ import (
...
@@ -22,10 +22,10 @@ import (
"reflect"
"reflect"
"testing"
"testing"
rbac
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/apis/rbac"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
...
pkg/kubectl/cmd/create_rolebinding_test.go
View file @
4487cc5e
...
@@ -24,21 +24,23 @@ import (
...
@@ -24,21 +24,23 @@ import (
"reflect"
"reflect"
"testing"
"testing"
rbac
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/rbac"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
var
groupVersion
=
schema
.
GroupVersion
{
Group
:
"rbac.authorization.k8s.io"
,
Version
:
"v1
alpha1
"
}
var
groupVersion
=
schema
.
GroupVersion
{
Group
:
"rbac.authorization.k8s.io"
,
Version
:
"v1"
}
func
TestCreateRoleBinding
(
t
*
testing
.
T
)
{
func
TestCreateRoleBinding
(
t
*
testing
.
T
)
{
expectBinding
:=
&
rbac
.
RoleBinding
{
expectBinding
:=
&
rbac
.
RoleBinding
{
TypeMeta
:
v1
.
TypeMeta
{
APIVersion
:
"rbac.authorization.k8s.io/v1"
,
Kind
:
"RoleBinding"
,
},
ObjectMeta
:
v1
.
ObjectMeta
{
ObjectMeta
:
v1
.
ObjectMeta
{
Name
:
"fake-binding"
,
Name
:
"fake-binding"
,
},
},
...
@@ -76,7 +78,6 @@ func TestCreateRoleBinding(t *testing.T) {
...
@@ -76,7 +78,6 @@ func TestCreateRoleBinding(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
RoleBindingRESTClient
{
tf
.
Client
=
&
RoleBindingRESTClient
{
RESTClient
:
&
fake
.
RESTClient
{
RESTClient
:
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_secret_test.go
View file @
4487cc5e
...
@@ -21,14 +21,14 @@ import (
...
@@ -21,14 +21,14 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateSecretGeneric
(
t
*
testing
.
T
)
{
func
TestCreateSecretGeneric
(
t
*
testing
.
T
)
{
secretObject
:=
&
api
.
Secret
{
secretObject
:=
&
v1
.
Secret
{
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
"password"
:
[]
byte
(
"includes,comma"
),
"password"
:
[]
byte
(
"includes,comma"
),
"username"
:
[]
byte
(
"test_user"
),
"username"
:
[]
byte
(
"test_user"
),
...
@@ -38,7 +38,7 @@ func TestCreateSecretGeneric(t *testing.T) {
...
@@ -38,7 +38,7 @@ func TestCreateSecretGeneric(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -64,12 +64,12 @@ func TestCreateSecretGeneric(t *testing.T) {
...
@@ -64,12 +64,12 @@ func TestCreateSecretGeneric(t *testing.T) {
}
}
func
TestCreateSecretDockerRegistry
(
t
*
testing
.
T
)
{
func
TestCreateSecretDockerRegistry
(
t
*
testing
.
T
)
{
secretObject
:=
&
api
.
Secret
{}
secretObject
:=
&
v1
.
Secret
{}
secretObject
.
Name
=
"my-secret"
secretObject
.
Name
=
"my-secret"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_service.go
View file @
4487cc5e
...
@@ -21,7 +21,7 @@ import (
...
@@ -21,7 +21,7 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/
kubernetes/pkg/api
"
"k8s.io/
api/core/v1
"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -98,7 +98,7 @@ func CreateServiceClusterIP(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Comm
...
@@ -98,7 +98,7 @@ func CreateServiceClusterIP(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Comm
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
Name
:
name
,
Name
:
name
,
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
Type
:
api
.
ServiceTypeClusterIP
,
Type
:
v1
.
ServiceTypeClusterIP
,
ClusterIP
:
cmdutil
.
GetFlagString
(
cmd
,
"clusterip"
),
ClusterIP
:
cmdutil
.
GetFlagString
(
cmd
,
"clusterip"
),
}
}
default
:
default
:
...
@@ -154,7 +154,7 @@ func CreateServiceNodePort(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Comma
...
@@ -154,7 +154,7 @@ func CreateServiceNodePort(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Comma
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
Name
:
name
,
Name
:
name
,
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
Type
:
api
.
ServiceTypeNodePort
,
Type
:
v1
.
ServiceTypeNodePort
,
ClusterIP
:
""
,
ClusterIP
:
""
,
NodePort
:
cmdutil
.
GetFlagInt
(
cmd
,
"node-port"
),
NodePort
:
cmdutil
.
GetFlagInt
(
cmd
,
"node-port"
),
}
}
...
@@ -210,7 +210,7 @@ func CreateServiceLoadBalancer(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.C
...
@@ -210,7 +210,7 @@ func CreateServiceLoadBalancer(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.C
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
Name
:
name
,
Name
:
name
,
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
TCP
:
cmdutil
.
GetFlagStringSlice
(
cmd
,
"tcp"
),
Type
:
api
.
ServiceTypeLoadBalancer
,
Type
:
v1
.
ServiceTypeLoadBalancer
,
ClusterIP
:
""
,
ClusterIP
:
""
,
}
}
default
:
default
:
...
@@ -270,7 +270,7 @@ func CreateExternalNameService(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.C
...
@@ -270,7 +270,7 @@ func CreateExternalNameService(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.C
case
cmdutil
.
ServiceExternalNameGeneratorV1Name
:
case
cmdutil
.
ServiceExternalNameGeneratorV1Name
:
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
generator
=
&
kubectl
.
ServiceCommonGeneratorV1
{
Name
:
name
,
Name
:
name
,
Type
:
api
.
ServiceTypeExternalName
,
Type
:
v1
.
ServiceTypeExternalName
,
ExternalName
:
cmdutil
.
GetFlagString
(
cmd
,
"external-name"
),
ExternalName
:
cmdutil
.
GetFlagString
(
cmd
,
"external-name"
),
ClusterIP
:
""
,
ClusterIP
:
""
,
}
}
...
...
pkg/kubectl/cmd/create_service_test.go
View file @
4487cc5e
...
@@ -21,19 +21,19 @@ import (
...
@@ -21,19 +21,19 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateService
(
t
*
testing
.
T
)
{
func
TestCreateService
(
t
*
testing
.
T
)
{
service
:=
&
api
.
Service
{}
service
:=
&
v1
.
Service
{}
service
.
Name
=
"my-service"
service
.
Name
=
"my-service"
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
negSer
,
NegotiatedSerializer
:
negSer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -58,12 +58,12 @@ func TestCreateService(t *testing.T) {
...
@@ -58,12 +58,12 @@ func TestCreateService(t *testing.T) {
}
}
func
TestCreateServiceNodePort
(
t
*
testing
.
T
)
{
func
TestCreateServiceNodePort
(
t
*
testing
.
T
)
{
service
:=
&
api
.
Service
{}
service
:=
&
v1
.
Service
{}
service
.
Name
=
"my-node-port-service"
service
.
Name
=
"my-node-port-service"
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
negSer
,
NegotiatedSerializer
:
negSer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -88,12 +88,12 @@ func TestCreateServiceNodePort(t *testing.T) {
...
@@ -88,12 +88,12 @@ func TestCreateServiceNodePort(t *testing.T) {
}
}
func
TestCreateServiceExternalName
(
t
*
testing
.
T
)
{
func
TestCreateServiceExternalName
(
t
*
testing
.
T
)
{
service
:=
&
api
.
Service
{}
service
:=
&
v1
.
Service
{}
service
.
Name
=
"my-external-name-service"
service
.
Name
=
"my-external-name-service"
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
negSer
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
negSer
,
NegotiatedSerializer
:
negSer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_serviceaccount_test.go
View file @
4487cc5e
...
@@ -21,19 +21,19 @@ import (
...
@@ -21,19 +21,19 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
func
TestCreateServiceAccount
(
t
*
testing
.
T
)
{
func
TestCreateServiceAccount
(
t
*
testing
.
T
)
{
serviceAccountObject
:=
&
api
.
ServiceAccount
{}
serviceAccountObject
:=
&
v1
.
ServiceAccount
{}
serviceAccountObject
.
Name
=
"my-service-account"
serviceAccountObject
.
Name
=
"my-service-account"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/create_test.go
View file @
4487cc5e
...
@@ -21,9 +21,8 @@ import (
...
@@ -21,9 +21,8 @@ import (
"net/http"
"net/http"
"testing"
"testing"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -48,7 +47,7 @@ func TestCreateObject(t *testing.T) {
...
@@ -48,7 +47,7 @@ func TestCreateObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -82,7 +81,7 @@ func TestCreateMultipleObject(t *testing.T) {
...
@@ -82,7 +81,7 @@ func TestCreateMultipleObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -120,7 +119,7 @@ func TestCreateDirectory(t *testing.T) {
...
@@ -120,7 +119,7 @@ func TestCreateDirectory(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/delete_test.go
View file @
4487cc5e
...
@@ -32,10 +32,8 @@ import (
...
@@ -32,10 +32,8 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/dynamic"
"k8s.io/client-go/dynamic"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -58,7 +56,6 @@ func TestDeleteObjectByTuple(t *testing.T) {
...
@@ -58,7 +56,6 @@ func TestDeleteObjectByTuple(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -123,7 +120,6 @@ func TestOrphanDependentsInDeleteObject(t *testing.T) {
...
@@ -123,7 +120,6 @@ func TestOrphanDependentsInDeleteObject(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
var
expectedOrphanDependents
*
bool
var
expectedOrphanDependents
*
bool
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
,
b
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
Body
;
{
switch
p
,
m
,
b
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
Body
;
{
...
@@ -172,7 +168,6 @@ func TestDeleteNamedObject(t *testing.T) {
...
@@ -172,7 +168,6 @@ func TestDeleteNamedObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -223,7 +218,6 @@ func TestDeleteObject(t *testing.T) {
...
@@ -223,7 +218,6 @@ func TestDeleteObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -282,7 +276,6 @@ func TestDeleteObjectGraceZero(t *testing.T) {
...
@@ -282,7 +276,6 @@ func TestDeleteObjectGraceZero(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
t
.
Logf
(
"got request %s %s"
,
req
.
Method
,
req
.
URL
.
Path
)
t
.
Logf
(
"got request %s %s"
,
req
.
Method
,
req
.
URL
.
Path
)
...
@@ -332,7 +325,6 @@ func TestDeleteObjectNotFound(t *testing.T) {
...
@@ -332,7 +325,6 @@ func TestDeleteObjectNotFound(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -370,7 +362,6 @@ func TestDeleteObjectIgnoreNotFound(t *testing.T) {
...
@@ -370,7 +362,6 @@ func TestDeleteObjectIgnoreNotFound(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -408,7 +399,6 @@ func TestDeleteAllNotFound(t *testing.T) {
...
@@ -408,7 +399,6 @@ func TestDeleteAllNotFound(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -458,7 +448,6 @@ func TestDeleteAllIgnoreNotFound(t *testing.T) {
...
@@ -458,7 +448,6 @@ func TestDeleteAllIgnoreNotFound(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -495,7 +484,6 @@ func TestDeleteMultipleObject(t *testing.T) {
...
@@ -495,7 +484,6 @@ func TestDeleteMultipleObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -531,7 +519,6 @@ func TestDeleteMultipleObjectContinueOnMissing(t *testing.T) {
...
@@ -531,7 +519,6 @@ func TestDeleteMultipleObjectContinueOnMissing(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -576,7 +563,6 @@ func TestDeleteMultipleResourcesWithTheSameName(t *testing.T) {
...
@@ -576,7 +563,6 @@ func TestDeleteMultipleResourcesWithTheSameName(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -615,7 +601,6 @@ func TestDeleteDirectory(t *testing.T) {
...
@@ -615,7 +601,6 @@ func TestDeleteDirectory(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -648,17 +633,16 @@ func TestDeleteMultipleSelector(t *testing.T) {
...
@@ -648,17 +633,16 @@ func TestDeleteMultipleSelector(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
case
p
==
"/namespaces/test/pods"
&&
m
==
"GET"
:
case
p
==
"/namespaces/test/pods"
&&
m
==
"GET"
:
if
req
.
URL
.
Query
()
.
Get
(
metav1
.
LabelSelectorQueryParam
(
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
.
String
()
))
!=
"a=b"
{
if
req
.
URL
.
Query
()
.
Get
(
metav1
.
LabelSelectorQueryParam
(
"v1"
))
!=
"a=b"
{
t
.
Fatalf
(
"unexpected request: %#v
\n
%#v"
,
req
.
URL
,
req
)
t
.
Fatalf
(
"unexpected request: %#v
\n
%#v"
,
req
.
URL
,
req
)
}
}
return
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
nil
return
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
nil
case
p
==
"/namespaces/test/services"
&&
m
==
"GET"
:
case
p
==
"/namespaces/test/services"
&&
m
==
"GET"
:
if
req
.
URL
.
Query
()
.
Get
(
metav1
.
LabelSelectorQueryParam
(
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
.
String
()
))
!=
"a=b"
{
if
req
.
URL
.
Query
()
.
Get
(
metav1
.
LabelSelectorQueryParam
(
"v1"
))
!=
"a=b"
{
t
.
Fatalf
(
"unexpected request: %#v
\n
%#v"
,
req
.
URL
,
req
)
t
.
Fatalf
(
"unexpected request: %#v
\n
%#v"
,
req
.
URL
,
req
)
}
}
return
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
svc
)},
nil
return
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
svc
)},
nil
...
@@ -714,7 +698,7 @@ func TestResourceErrors(t *testing.T) {
...
@@ -714,7 +698,7 @@ func TestResourceErrors(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
,
errBuf
:=
bytes
.
NewBuffer
([]
byte
{}),
bytes
.
NewBuffer
([]
byte
{})
buf
,
errBuf
:=
bytes
.
NewBuffer
([]
byte
{}),
bytes
.
NewBuffer
([]
byte
{})
...
...
pkg/kubectl/cmd/describe_test.go
View file @
4487cc5e
...
@@ -23,8 +23,6 @@ import (
...
@@ -23,8 +23,6 @@ import (
"testing"
"testing"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -34,7 +32,6 @@ func TestDescribeUnknownSchemaObject(t *testing.T) {
...
@@ -34,7 +32,6 @@ func TestDescribeUnknownSchemaObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewTestFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewTestFactory
()
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalType
(
""
,
""
,
"foo"
))},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalType
(
""
,
""
,
"foo"
))},
}
}
...
@@ -59,7 +56,6 @@ func TestDescribeUnknownNamespacedSchemaObject(t *testing.T) {
...
@@ -59,7 +56,6 @@ func TestDescribeUnknownNamespacedSchemaObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewTestFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewTestFactory
()
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalNamespacedType
(
""
,
""
,
"foo"
,
"non-default"
))},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalNamespacedType
(
""
,
""
,
"foo"
,
"non-default"
))},
}
}
...
@@ -84,7 +80,6 @@ func TestDescribeObject(t *testing.T) {
...
@@ -84,7 +80,6 @@ func TestDescribeObject(t *testing.T) {
d
:=
&
testDescriber
{
Output
:
"test output"
}
d
:=
&
testDescriber
{
Output
:
"test output"
}
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -118,7 +113,6 @@ func TestDescribeListObjects(t *testing.T) {
...
@@ -118,7 +113,6 @@ func TestDescribeListObjects(t *testing.T) {
d
:=
&
testDescriber
{
Output
:
"test output"
}
d
:=
&
testDescriber
{
Output
:
"test output"
}
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
}
}
...
@@ -139,7 +133,6 @@ func TestDescribeObjectShowEvents(t *testing.T) {
...
@@ -139,7 +133,6 @@ func TestDescribeObjectShowEvents(t *testing.T) {
d
:=
&
testDescriber
{
Output
:
"test output"
}
d
:=
&
testDescriber
{
Output
:
"test output"
}
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
}
}
...
@@ -161,7 +154,6 @@ func TestDescribeObjectSkipEvents(t *testing.T) {
...
@@ -161,7 +154,6 @@ func TestDescribeObjectSkipEvents(t *testing.T) {
d
:=
&
testDescriber
{
Output
:
"test output"
}
d
:=
&
testDescriber
{
Output
:
"test output"
}
tf
.
Describer
=
d
tf
.
Describer
=
d
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
pods
)},
}
}
...
...
pkg/kubectl/cmd/edit_test.go
View file @
4487cc5e
...
@@ -36,8 +36,6 @@ import (
...
@@ -36,8 +36,6 @@ import (
"k8s.io/apimachinery/pkg/util/diff"
"k8s.io/apimachinery/pkg/util/diff"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
@@ -218,7 +216,6 @@ func TestEdit(t *testing.T) {
...
@@ -218,7 +216,6 @@ func TestEdit(t *testing.T) {
versionedAPIPath
=
"/apis/"
+
mapping
.
GroupVersionKind
.
Group
+
"/"
+
mapping
.
GroupVersionKind
.
Version
versionedAPIPath
=
"/apis/"
+
mapping
.
GroupVersionKind
.
Group
+
"/"
+
mapping
.
GroupVersionKind
.
Version
}
}
return
&
fake
.
RESTClient
{
return
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
VersionedAPIPath
:
versionedAPIPath
,
VersionedAPIPath
:
versionedAPIPath
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
reqResp
),
Client
:
fake
.
CreateHTTPClient
(
reqResp
),
...
...
pkg/kubectl/cmd/exec_test.go
View file @
4487cc5e
...
@@ -34,7 +34,6 @@ import (
...
@@ -34,7 +34,6 @@ import (
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/kubectl/util/term"
"k8s.io/kubernetes/pkg/kubectl/util/term"
)
)
...
@@ -131,7 +130,6 @@ func TestPodAndContainer(t *testing.T) {
...
@@ -131,7 +130,6 @@ func TestPodAndContainer(t *testing.T) {
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
nil
,
nil
}),
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
nil
,
nil
}),
}
}
...
@@ -163,7 +161,7 @@ func TestPodAndContainer(t *testing.T) {
...
@@ -163,7 +161,7 @@ func TestPodAndContainer(t *testing.T) {
}
}
func
TestExec
(
t
*
testing
.
T
)
{
func
TestExec
(
t
*
testing
.
T
)
{
version
:=
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
.
Version
version
:=
"v1"
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
,
podPath
,
execPath
,
container
string
name
,
podPath
,
execPath
,
container
string
pod
*
api
.
Pod
pod
*
api
.
Pod
...
@@ -186,7 +184,6 @@ func TestExec(t *testing.T) {
...
@@ -186,7 +184,6 @@ func TestExec(t *testing.T) {
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/explain.go
View file @
4487cc5e
...
@@ -23,10 +23,10 @@ import (
...
@@ -23,10 +23,10 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/explain"
"k8s.io/kubernetes/pkg/kubectl/explain"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
)
)
...
@@ -99,7 +99,7 @@ func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, ar
...
@@ -99,7 +99,7 @@ func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, ar
}
}
if
len
(
apiVersionString
)
==
0
{
if
len
(
apiVersionString
)
==
0
{
groupMeta
,
err
:=
legacy
scheme
.
Registry
.
Group
(
gvk
.
Group
)
groupMeta
,
err
:=
scheme
.
Registry
.
Group
(
gvk
.
Group
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
pkg/kubectl/cmd/expose_test.go
View file @
4487cc5e
...
@@ -25,14 +25,20 @@ import (
...
@@ -25,14 +25,20 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
)
)
// This init should be removed after switching this command and its tests to user external types.
func
init
()
{
api
.
AddToScheme
(
scheme
.
Scheme
)
}
func
TestRunExposeService
(
t
*
testing
.
T
)
{
func
TestRunExposeService
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
...
@@ -463,7 +469,7 @@ func TestRunExposeService(t *testing.T) {
...
@@ -463,7 +469,7 @@ func TestRunExposeService(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
printers
.
JSONPrinter
{}
tf
.
Printer
=
&
printers
.
JSONPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/get_test.go
View file @
4487cc5e
This diff is collapsed.
Click to expand it.
pkg/kubectl/cmd/label_test.go
View file @
4487cc5e
...
@@ -25,10 +25,8 @@ import (
...
@@ -25,10 +25,8 @@ import (
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
)
)
...
@@ -324,7 +322,7 @@ func TestLabelErrors(t *testing.T) {
...
@@ -324,7 +322,7 @@ func TestLabelErrors(t *testing.T) {
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdLabel
(
f
,
buf
)
cmd
:=
NewCmdLabel
(
f
,
buf
)
...
@@ -358,7 +356,6 @@ func TestLabelForResourceFromFile(t *testing.T) {
...
@@ -358,7 +356,6 @@ func TestLabelForResourceFromFile(t *testing.T) {
pods
,
_
,
_
:=
testData
()
pods
,
_
,
_
:=
testData
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
req
.
Method
{
switch
req
.
Method
{
...
@@ -385,7 +382,7 @@ func TestLabelForResourceFromFile(t *testing.T) {
...
@@ -385,7 +382,7 @@ func TestLabelForResourceFromFile(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdLabel
(
f
,
buf
)
cmd
:=
NewCmdLabel
(
f
,
buf
)
...
@@ -409,7 +406,6 @@ func TestLabelForResourceFromFile(t *testing.T) {
...
@@ -409,7 +406,6 @@ func TestLabelForResourceFromFile(t *testing.T) {
func
TestLabelLocal
(
t
*
testing
.
T
)
{
func
TestLabelLocal
(
t
*
testing
.
T
)
{
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
t
.
Fatalf
(
"unexpected request: %s %#v
\n
%#v"
,
req
.
Method
,
req
.
URL
,
req
)
t
.
Fatalf
(
"unexpected request: %s %#v
\n
%#v"
,
req
.
Method
,
req
.
URL
,
req
)
...
@@ -417,7 +413,7 @@ func TestLabelLocal(t *testing.T) {
...
@@ -417,7 +413,7 @@ func TestLabelLocal(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdLabel
(
f
,
buf
)
cmd
:=
NewCmdLabel
(
f
,
buf
)
...
@@ -443,7 +439,6 @@ func TestLabelMultipleObjects(t *testing.T) {
...
@@ -443,7 +439,6 @@ func TestLabelMultipleObjects(t *testing.T) {
pods
,
_
,
_
:=
testData
()
pods
,
_
,
_
:=
testData
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
req
.
Method
{
switch
req
.
Method
{
...
@@ -472,7 +467,7 @@ func TestLabelMultipleObjects(t *testing.T) {
...
@@ -472,7 +467,7 @@ func TestLabelMultipleObjects(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdLabel
(
f
,
buf
)
cmd
:=
NewCmdLabel
(
f
,
buf
)
...
...
pkg/kubectl/cmd/logs_test.go
View file @
4487cc5e
...
@@ -27,11 +27,8 @@ import (
...
@@ -27,11 +27,8 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -52,7 +49,6 @@ func TestLog(t *testing.T) {
...
@@ -52,7 +49,6 @@ func TestLog(t *testing.T) {
logContent
:=
"test log content"
logContent
:=
"test log content"
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -70,7 +66,7 @@ func TestLog(t *testing.T) {
...
@@ -70,7 +66,7 @@ func TestLog(t *testing.T) {
}),
}),
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
APIPath
:
"/api"
,
ContentConfig
:
restclient
.
ContentConfig
{
NegotiatedSerializer
:
legacyscheme
.
Codecs
,
GroupVersion
:
&
schema
.
GroupVersion
{
Version
:
test
.
version
}}}
tf
.
ClientConfig
=
defaultClientConfig
()
buf
:=
bytes
.
NewBuffer
([]
byte
{})
buf
:=
bytes
.
NewBuffer
([]
byte
{})
cmd
:=
NewCmdLogs
(
f
,
buf
)
cmd
:=
NewCmdLogs
(
f
,
buf
)
...
...
pkg/kubectl/cmd/patch.go
View file @
4487cc5e
...
@@ -34,11 +34,11 @@ import (
...
@@ -34,11 +34,11 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
)
)
...
@@ -249,7 +249,7 @@ func RunPatch(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []strin
...
@@ -249,7 +249,7 @@ func RunPatch(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []strin
return
err
return
err
}
}
originalPatchedObjJS
,
err
:=
getPatchedJSON
(
patchType
,
originalObjJS
,
patchBytes
,
mapping
.
GroupVersionKind
,
legacy
scheme
.
Scheme
)
originalPatchedObjJS
,
err
:=
getPatchedJSON
(
patchType
,
originalObjJS
,
patchBytes
,
mapping
.
GroupVersionKind
,
scheme
.
Scheme
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
pkg/kubectl/cmd/patch_test.go
View file @
4487cc5e
...
@@ -23,8 +23,6 @@ import (
...
@@ -23,8 +23,6 @@ import (
"testing"
"testing"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
)
)
...
@@ -34,7 +32,6 @@ func TestPatchObject(t *testing.T) {
...
@@ -34,7 +32,6 @@ func TestPatchObject(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -73,7 +70,6 @@ func TestPatchObjectFromFile(t *testing.T) {
...
@@ -73,7 +70,6 @@ func TestPatchObjectFromFile(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -108,7 +104,6 @@ func TestPatchNoop(t *testing.T) {
...
@@ -108,7 +104,6 @@ func TestPatchNoop(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -154,7 +149,6 @@ func TestPatchObjectFromFileOutput(t *testing.T) {
...
@@ -154,7 +149,6 @@ func TestPatchObjectFromFileOutput(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
printers
.
YAMLPrinter
{}
tf
.
Printer
=
&
printers
.
YAMLPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/portforward_test.go
View file @
4487cc5e
...
@@ -25,9 +25,9 @@ import (
...
@@ -25,9 +25,9 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -44,7 +44,7 @@ func (f *fakePortForwarder) ForwardPorts(method string, url *url.URL, opts PortF
...
@@ -44,7 +44,7 @@ func (f *fakePortForwarder) ForwardPorts(method string, url *url.URL, opts PortF
}
}
func
testPortForward
(
t
*
testing
.
T
,
flags
map
[
string
]
string
,
args
[]
string
)
{
func
testPortForward
(
t
*
testing
.
T
,
flags
map
[
string
]
string
,
args
[]
string
)
{
version
:=
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
.
Version
version
:=
"v1"
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
...
@@ -70,7 +70,7 @@ func testPortForward(t *testing.T, flags map[string]string, args []string) {
...
@@ -70,7 +70,7 @@ func testPortForward(t *testing.T, flags map[string]string, args []string) {
var
err
error
var
err
error
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Group
:
""
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/replace_test.go
View file @
4487cc5e
...
@@ -24,7 +24,6 @@ import (
...
@@ -24,7 +24,6 @@ import (
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
)
)
...
@@ -35,7 +34,6 @@ func TestReplaceObject(t *testing.T) {
...
@@ -35,7 +34,6 @@ func TestReplaceObject(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
deleted
:=
false
deleted
:=
false
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -92,7 +90,6 @@ func TestReplaceMultipleObject(t *testing.T) {
...
@@ -92,7 +90,6 @@ func TestReplaceMultipleObject(t *testing.T) {
redisMasterDeleted
:=
false
redisMasterDeleted
:=
false
frontendDeleted
:=
false
frontendDeleted
:=
false
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -161,7 +158,6 @@ func TestReplaceDirectory(t *testing.T) {
...
@@ -161,7 +158,6 @@ func TestReplaceDirectory(t *testing.T) {
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
created
:=
map
[
string
]
bool
{}
created
:=
map
[
string
]
bool
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -217,7 +213,6 @@ func TestForceReplaceObjectNotFound(t *testing.T) {
...
@@ -217,7 +213,6 @@ func TestForceReplaceObjectNotFound(t *testing.T) {
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
_
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
tf
.
UnstructuredClient
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
unstructuredSerializer
,
NegotiatedSerializer
:
unstructuredSerializer
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
...
pkg/kubectl/cmd/run_test.go
View file @
4487cc5e
...
@@ -36,12 +36,17 @@ import (
...
@@ -36,12 +36,17 @@ import (
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
)
)
// This init should be removed after switching this command and its tests to user external types.
func
init
()
{
api
.
AddToScheme
(
scheme
.
Scheme
)
}
func
TestGetRestartPolicy
(
t
*
testing
.
T
)
{
func
TestGetRestartPolicy
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
input
string
input
string
...
@@ -164,7 +169,7 @@ func TestRunArgsFollowDashRules(t *testing.T) {
...
@@ -164,7 +169,7 @@ func TestRunArgsFollowDashRules(t *testing.T) {
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
if
req
.
URL
.
Path
==
"/namespaces/test/replicationcontrollers"
{
if
req
.
URL
.
Path
==
"/namespaces/test/replicationcontrollers"
{
...
@@ -285,10 +290,10 @@ func TestGenerateService(t *testing.T) {
...
@@ -285,10 +290,10 @@ func TestGenerateService(t *testing.T) {
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
sawPOST
:=
false
sawPOST
:=
false
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
}}
tf
.
ClientConfig
=
defaultClientConfig
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
GroupVersion
:
schema
.
GroupVersion
{
Version
:
"v1"
}
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -429,12 +434,11 @@ func TestRunValidations(t *testing.T) {
...
@@ -429,12 +434,11 @@ func TestRunValidations(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewTestFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewTestFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalType
(
""
,
""
,
""
))},
Resp
:
&
http
.
Response
{
StatusCode
:
200
,
Header
:
defaultHeader
(),
Body
:
objBody
(
codec
,
cmdtesting
.
NewInternalType
(
""
,
""
,
""
))},
}
}
tf
.
Namespace
=
"test"
tf
.
Namespace
=
"test"
tf
.
ClientConfig
=
&
restclient
.
Config
{
ContentConfig
:
restclient
.
ContentConfig
{
GroupVersion
:
&
schema
.
GroupVersion
{
Version
:
"v1"
}}}
tf
.
ClientConfig
=
defaultClientConfig
()
inBuf
:=
bytes
.
NewReader
([]
byte
{})
inBuf
:=
bytes
.
NewReader
([]
byte
{})
outBuf
:=
bytes
.
NewBuffer
([]
byte
{})
outBuf
:=
bytes
.
NewBuffer
([]
byte
{})
errBuf
:=
bytes
.
NewBuffer
([]
byte
{})
errBuf
:=
bytes
.
NewBuffer
([]
byte
{})
...
...
pkg/kubectl/cmd/taint_test.go
View file @
4487cc5e
...
@@ -29,8 +29,6 @@ import (
...
@@ -29,8 +29,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
)
)
...
@@ -243,7 +241,6 @@ func TestTaint(t *testing.T) {
...
@@ -243,7 +241,6 @@ func TestTaint(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
m
:=
&
MyReq
{
req
}
m
:=
&
MyReq
{
req
}
...
...
pkg/kubectl/cmd/top_node_test.go
View file @
4487cc5e
...
@@ -27,7 +27,6 @@ import (
...
@@ -27,7 +27,6 @@ import (
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
)
)
...
@@ -46,7 +45,6 @@ func TestTopNodeAllMetrics(t *testing.T) {
...
@@ -46,7 +45,6 @@ func TestTopNodeAllMetrics(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -92,7 +90,6 @@ func TestTopNodeAllMetricsCustomDefaults(t *testing.T) {
...
@@ -92,7 +90,6 @@ func TestTopNodeAllMetricsCustomDefaults(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -148,7 +145,6 @@ func TestTopNodeWithNameMetrics(t *testing.T) {
...
@@ -148,7 +145,6 @@ func TestTopNodeWithNameMetrics(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
switch
p
,
m
:=
req
.
URL
.
Path
,
req
.
Method
;
{
...
@@ -208,7 +204,6 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) {
...
@@ -208,7 +204,6 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) {
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
codec
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
...
...
pkg/kubectl/cmd/top_pod_test.go
View file @
4487cc5e
...
@@ -29,8 +29,6 @@ import (
...
@@ -29,8 +29,6 @@ import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/api/resource"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/rest/fake"
"k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdtesting
"k8s.io/kubernetes/pkg/kubectl/cmd/testing"
metricsapi
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
metricsapi
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
)
)
...
@@ -119,7 +117,6 @@ func TestTopPod(t *testing.T) {
...
@@ -119,7 +117,6 @@ func TestTopPod(t *testing.T) {
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
...
@@ -255,7 +252,6 @@ func TestTopPodCustomDefaults(t *testing.T) {
...
@@ -255,7 +252,6 @@ func TestTopPodCustomDefaults(t *testing.T) {
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
f
,
tf
,
_
,
ns
:=
cmdtesting
.
NewAPIFactory
()
tf
.
Printer
=
&
testPrinter
{}
tf
.
Printer
=
&
testPrinter
{}
tf
.
Client
=
&
fake
.
RESTClient
{
tf
.
Client
=
&
fake
.
RESTClient
{
GroupVersion
:
legacyscheme
.
Registry
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
NegotiatedSerializer
:
ns
,
NegotiatedSerializer
:
ns
,
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
Client
:
fake
.
CreateHTTPClient
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
switch
p
,
m
,
q
:=
req
.
URL
.
Path
,
req
.
Method
,
req
.
URL
.
RawQuery
;
{
...
...
pkg/kubectl/cmd/util/editor/BUILD
View file @
4487cc5e
...
@@ -16,10 +16,10 @@ go_library(
...
@@ -16,10 +16,10 @@ go_library(
],
],
deps = [
deps = [
"//pkg/api:go_default_library",
"//pkg/api:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/resource:go_default_library",
"//pkg/kubectl/scheme:go_default_library",
"//pkg/kubectl/util/crlf:go_default_library",
"//pkg/kubectl/util/crlf:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
"//pkg/kubectl/util/term:go_default_library",
"//pkg/printers:go_default_library",
"//pkg/printers:go_default_library",
...
...
pkg/kubectl/cmd/util/editor/editoptions.go
View file @
4487cc5e
...
@@ -42,10 +42,10 @@ import (
...
@@ -42,10 +42,10 @@ import (
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/kubectl/util/crlf"
"k8s.io/kubernetes/pkg/kubectl/util/crlf"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/printers"
)
)
...
@@ -548,7 +548,7 @@ func (o *EditOptions) visitToPatch(originalInfos []*resource.Info, patchVisitor
...
@@ -548,7 +548,7 @@ func (o *EditOptions) visitToPatch(originalInfos []*resource.Info, patchVisitor
// Create the versioned struct from the type defined in the mapping
// Create the versioned struct from the type defined in the mapping
// (which is the API version we'll be submitting the patch to)
// (which is the API version we'll be submitting the patch to)
versionedObject
,
err
:=
legacy
scheme
.
Scheme
.
New
(
info
.
Mapping
.
GroupVersionKind
)
versionedObject
,
err
:=
scheme
.
Scheme
.
New
(
info
.
Mapping
.
GroupVersionKind
)
var
patchType
types
.
PatchType
var
patchType
types
.
PatchType
var
patch
[]
byte
var
patch
[]
byte
switch
{
switch
{
...
...
pkg/kubectl/configmap.go
View file @
4487cc5e
...
@@ -23,9 +23,9 @@ import (
...
@@ -23,9 +23,9 @@ import (
"path"
"path"
"strings"
"strings"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/kubectl/util"
"k8s.io/kubernetes/pkg/kubectl/util"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
)
)
...
@@ -127,7 +127,7 @@ func (s ConfigMapGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -127,7 +127,7 @@ func (s ConfigMapGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
err
:=
s
.
validate
();
err
!=
nil
{
if
err
:=
s
.
validate
();
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
configMap
:=
&
api
.
ConfigMap
{}
configMap
:=
&
v1
.
ConfigMap
{}
configMap
.
Name
=
s
.
Name
configMap
.
Name
=
s
.
Name
configMap
.
Data
=
map
[
string
]
string
{}
configMap
.
Data
=
map
[
string
]
string
{}
if
len
(
s
.
FileSources
)
>
0
{
if
len
(
s
.
FileSources
)
>
0
{
...
@@ -168,7 +168,7 @@ func (s ConfigMapGeneratorV1) validate() error {
...
@@ -168,7 +168,7 @@ func (s ConfigMapGeneratorV1) validate() error {
// handleConfigMapFromLiteralSources adds the specified literal source
// handleConfigMapFromLiteralSources adds the specified literal source
// information into the provided configMap.
// information into the provided configMap.
func
handleConfigMapFromLiteralSources
(
configMap
*
api
.
ConfigMap
,
literalSources
[]
string
)
error
{
func
handleConfigMapFromLiteralSources
(
configMap
*
v1
.
ConfigMap
,
literalSources
[]
string
)
error
{
for
_
,
literalSource
:=
range
literalSources
{
for
_
,
literalSource
:=
range
literalSources
{
keyName
,
value
,
err
:=
util
.
ParseLiteralSource
(
literalSource
)
keyName
,
value
,
err
:=
util
.
ParseLiteralSource
(
literalSource
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -184,7 +184,7 @@ func handleConfigMapFromLiteralSources(configMap *api.ConfigMap, literalSources
...
@@ -184,7 +184,7 @@ func handleConfigMapFromLiteralSources(configMap *api.ConfigMap, literalSources
// handleConfigMapFromFileSources adds the specified file source information
// handleConfigMapFromFileSources adds the specified file source information
// into the provided configMap
// into the provided configMap
func
handleConfigMapFromFileSources
(
configMap
*
api
.
ConfigMap
,
fileSources
[]
string
)
error
{
func
handleConfigMapFromFileSources
(
configMap
*
v1
.
ConfigMap
,
fileSources
[]
string
)
error
{
for
_
,
fileSource
:=
range
fileSources
{
for
_
,
fileSource
:=
range
fileSources
{
keyName
,
filePath
,
err
:=
util
.
ParseFileSource
(
fileSource
)
keyName
,
filePath
,
err
:=
util
.
ParseFileSource
(
fileSource
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -229,7 +229,7 @@ func handleConfigMapFromFileSources(configMap *api.ConfigMap, fileSources []stri
...
@@ -229,7 +229,7 @@ func handleConfigMapFromFileSources(configMap *api.ConfigMap, fileSources []stri
// handleConfigMapFromEnvFileSource adds the specified env file source information
// handleConfigMapFromEnvFileSource adds the specified env file source information
// into the provided configMap
// into the provided configMap
func
handleConfigMapFromEnvFileSource
(
configMap
*
api
.
ConfigMap
,
envFileSource
string
)
error
{
func
handleConfigMapFromEnvFileSource
(
configMap
*
v1
.
ConfigMap
,
envFileSource
string
)
error
{
info
,
err
:=
os
.
Stat
(
envFileSource
)
info
,
err
:=
os
.
Stat
(
envFileSource
)
if
err
!=
nil
{
if
err
!=
nil
{
switch
err
:=
err
.
(
type
)
{
switch
err
:=
err
.
(
type
)
{
...
@@ -250,7 +250,7 @@ func handleConfigMapFromEnvFileSource(configMap *api.ConfigMap, envFileSource st
...
@@ -250,7 +250,7 @@ func handleConfigMapFromEnvFileSource(configMap *api.ConfigMap, envFileSource st
// addKeyFromFileToConfigMap adds a key with the given name to a ConfigMap, populating
// addKeyFromFileToConfigMap adds a key with the given name to a ConfigMap, populating
// the value with the content of the given file path, or returns an error.
// the value with the content of the given file path, or returns an error.
func
addKeyFromFileToConfigMap
(
configMap
*
api
.
ConfigMap
,
keyName
,
filePath
string
)
error
{
func
addKeyFromFileToConfigMap
(
configMap
*
v1
.
ConfigMap
,
keyName
,
filePath
string
)
error
{
data
,
err
:=
ioutil
.
ReadFile
(
filePath
)
data
,
err
:=
ioutil
.
ReadFile
(
filePath
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -260,7 +260,7 @@ func addKeyFromFileToConfigMap(configMap *api.ConfigMap, keyName, filePath strin
...
@@ -260,7 +260,7 @@ func addKeyFromFileToConfigMap(configMap *api.ConfigMap, keyName, filePath strin
// addKeyFromLiteralToConfigMap adds the given key and data to the given config map,
// addKeyFromLiteralToConfigMap adds the given key and data to the given config map,
// returning an error if the key is not valid or if the key already exists.
// returning an error if the key is not valid or if the key already exists.
func
addKeyFromLiteralToConfigMap
(
configMap
*
api
.
ConfigMap
,
keyName
,
data
string
)
error
{
func
addKeyFromLiteralToConfigMap
(
configMap
*
v1
.
ConfigMap
,
keyName
,
data
string
)
error
{
// Note, the rules for ConfigMap keys are the exact same as the ones for SecretKeys.
// Note, the rules for ConfigMap keys are the exact same as the ones for SecretKeys.
if
errs
:=
validation
.
IsConfigMapKey
(
keyName
);
len
(
errs
)
!=
0
{
if
errs
:=
validation
.
IsConfigMapKey
(
keyName
);
len
(
errs
)
!=
0
{
return
fmt
.
Errorf
(
"%q is not a valid key name for a ConfigMap: %s"
,
keyName
,
strings
.
Join
(
errs
,
";"
))
return
fmt
.
Errorf
(
"%q is not a valid key name for a ConfigMap: %s"
,
keyName
,
strings
.
Join
(
errs
,
";"
))
...
...
pkg/kubectl/configmap_test.go
View file @
4487cc5e
...
@@ -22,22 +22,22 @@ import (
...
@@ -22,22 +22,22 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestConfigMapGenerate
(
t
*
testing
.
T
)
{
func
TestConfigMapGenerate
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
setup
func
(
t
*
testing
.
T
,
params
map
[
string
]
interface
{})
func
()
setup
func
(
t
*
testing
.
T
,
params
map
[
string
]
interface
{})
func
()
params
map
[
string
]
interface
{}
params
map
[
string
]
interface
{}
expected
*
api
.
ConfigMap
expected
*
v1
.
ConfigMap
expectErr
bool
expectErr
bool
}{
}{
{
{
params
:
map
[
string
]
interface
{}{
params
:
map
[
string
]
interface
{}{
"name"
:
"foo"
,
"name"
:
"foo"
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -50,7 +50,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -50,7 +50,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-867km9574f"
,
Name
:
"foo-867km9574f"
,
},
},
...
@@ -63,7 +63,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -63,7 +63,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"type"
:
"my-type"
,
"type"
:
"my-type"
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -77,7 +77,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -77,7 +77,7 @@ func TestConfigMapGenerate(t *testing.T) {
"type"
:
"my-type"
,
"type"
:
"my-type"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-867km9574f"
,
Name
:
"foo-867km9574f"
,
},
},
...
@@ -90,7 +90,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -90,7 +90,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -107,7 +107,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -107,7 +107,7 @@ func TestConfigMapGenerate(t *testing.T) {
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-gcb75dd9gb"
,
Name
:
"foo-gcb75dd9gb"
,
},
},
...
@@ -144,7 +144,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -144,7 +144,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"from-literal"
:
[]
string
{
"key1==value1"
},
"from-literal"
:
[]
string
{
"key1==value1"
},
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -160,7 +160,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -160,7 +160,7 @@ func TestConfigMapGenerate(t *testing.T) {
"from-literal"
:
[]
string
{
"key1==value1"
},
"from-literal"
:
[]
string
{
"key1==value1"
},
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-bdgk9ttt7m"
,
Name
:
"foo-bdgk9ttt7m"
,
},
},
...
@@ -176,7 +176,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -176,7 +176,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"valid_env"
,
"name"
:
"valid_env"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"valid_env"
,
Name
:
"valid_env"
,
},
},
...
@@ -194,7 +194,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -194,7 +194,7 @@ func TestConfigMapGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"valid_env-2cgh8552ch"
,
Name
:
"valid_env-2cgh8552ch"
,
},
},
...
@@ -215,7 +215,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -215,7 +215,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"getenv"
,
"name"
:
"getenv"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"getenv"
,
Name
:
"getenv"
,
},
},
...
@@ -237,7 +237,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -237,7 +237,7 @@ func TestConfigMapGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"getenv-b4hh92hgdk"
,
Name
:
"getenv-b4hh92hgdk"
,
},
},
...
@@ -270,7 +270,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -270,7 +270,7 @@ func TestConfigMapGenerate(t *testing.T) {
"name"
:
"with_spaces"
,
"name"
:
"with_spaces"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"with_spaces"
,
Name
:
"with_spaces"
,
},
},
...
@@ -287,7 +287,7 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -287,7 +287,7 @@ func TestConfigMapGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
ConfigMap
{
expected
:
&
v1
.
ConfigMap
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"with_spaces-bfc558b4ct"
,
Name
:
"with_spaces-bfc558b4ct"
,
},
},
...
@@ -312,8 +312,8 @@ func TestConfigMapGenerate(t *testing.T) {
...
@@ -312,8 +312,8 @@ func TestConfigMapGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
ConfigMap
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
ConfigMap
),
test
.
expected
)
{
t
.
Errorf
(
"
\n
case %d, expected:
\n
%#v
\n
saw:
\n
%#v"
,
i
,
test
.
expected
,
obj
.
(
*
api
.
ConfigMap
))
t
.
Errorf
(
"
\n
case %d, expected:
\n
%#v
\n
saw:
\n
%#v"
,
i
,
test
.
expected
,
obj
.
(
*
v1
.
ConfigMap
))
}
}
}
}
}
}
...
...
pkg/kubectl/pdb.go
View file @
4487cc5e
...
@@ -20,10 +20,10 @@ import (
...
@@ -20,10 +20,10 @@ import (
"fmt"
"fmt"
"os"
"os"
policy
"k8s.io/api/policy/v1beta1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/kubernetes/pkg/apis/policy"
)
)
// PodDisruptionBudgetV1Generator supports stable generation of a pod disruption budget.
// PodDisruptionBudgetV1Generator supports stable generation of a pod disruption budget.
...
...
pkg/kubectl/quota.go
View file @
4487cc5e
...
@@ -20,8 +20,8 @@ import (
...
@@ -20,8 +20,8 @@ import (
"fmt"
"fmt"
"strings"
"strings"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
)
)
// ResourceQuotaGeneratorV1 supports stable generation of a resource quota
// ResourceQuotaGeneratorV1 supports stable generation of a resource quota
...
@@ -79,7 +79,7 @@ func (g *ResourceQuotaGeneratorV1) StructuredGenerate() (runtime.Object, error)
...
@@ -79,7 +79,7 @@ func (g *ResourceQuotaGeneratorV1) StructuredGenerate() (runtime.Object, error)
return
nil
,
err
return
nil
,
err
}
}
resourceList
,
err
:=
populateResourceList
(
g
.
Hard
)
resourceList
,
err
:=
populateResourceList
V1
(
g
.
Hard
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -89,7 +89,7 @@ func (g *ResourceQuotaGeneratorV1) StructuredGenerate() (runtime.Object, error)
...
@@ -89,7 +89,7 @@ func (g *ResourceQuotaGeneratorV1) StructuredGenerate() (runtime.Object, error)
return
nil
,
err
return
nil
,
err
}
}
resourceQuota
:=
&
api
.
ResourceQuota
{}
resourceQuota
:=
&
v1
.
ResourceQuota
{}
resourceQuota
.
Name
=
g
.
Name
resourceQuota
.
Name
=
g
.
Name
resourceQuota
.
Spec
.
Hard
=
resourceList
resourceQuota
.
Spec
.
Hard
=
resourceList
resourceQuota
.
Spec
.
Scopes
=
scopes
resourceQuota
.
Spec
.
Scopes
=
scopes
...
@@ -104,14 +104,14 @@ func (r *ResourceQuotaGeneratorV1) validate() error {
...
@@ -104,14 +104,14 @@ func (r *ResourceQuotaGeneratorV1) validate() error {
return
nil
return
nil
}
}
func
parseScopes
(
spec
string
)
([]
api
.
ResourceQuotaScope
,
error
)
{
func
parseScopes
(
spec
string
)
([]
v1
.
ResourceQuotaScope
,
error
)
{
// empty input gets a nil response to preserve generator test expected behaviors
// empty input gets a nil response to preserve generator test expected behaviors
if
spec
==
""
{
if
spec
==
""
{
return
nil
,
nil
return
nil
,
nil
}
}
scopes
:=
strings
.
Split
(
spec
,
","
)
scopes
:=
strings
.
Split
(
spec
,
","
)
result
:=
make
([]
api
.
ResourceQuotaScope
,
0
,
len
(
scopes
))
result
:=
make
([]
v1
.
ResourceQuotaScope
,
0
,
len
(
scopes
))
for
_
,
scope
:=
range
scopes
{
for
_
,
scope
:=
range
scopes
{
// intentionally do not verify the scope against the valid scope list. This is done by the apiserver anyway.
// intentionally do not verify the scope against the valid scope list. This is done by the apiserver anyway.
...
@@ -119,7 +119,7 @@ func parseScopes(spec string) ([]api.ResourceQuotaScope, error) {
...
@@ -119,7 +119,7 @@ func parseScopes(spec string) ([]api.ResourceQuotaScope, error) {
return
nil
,
fmt
.
Errorf
(
"invalid resource quota scope
\"\"
"
)
return
nil
,
fmt
.
Errorf
(
"invalid resource quota scope
\"\"
"
)
}
}
result
=
append
(
result
,
api
.
ResourceQuotaScope
(
scope
))
result
=
append
(
result
,
v1
.
ResourceQuotaScope
(
scope
))
}
}
return
result
,
nil
return
result
,
nil
}
}
pkg/kubectl/quota_test.go
View file @
4487cc5e
...
@@ -20,20 +20,20 @@ import (
...
@@ -20,20 +20,20 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestQuotaGenerate
(
t
*
testing
.
T
)
{
func
TestQuotaGenerate
(
t
*
testing
.
T
)
{
hard
:=
"cpu=10,memory=5G,pods=10,services=7"
hard
:=
"cpu=10,memory=5G,pods=10,services=7"
resourceQuotaSpecList
,
err
:=
populateResourceList
(
hard
)
resourceQuotaSpecList
,
err
:=
populateResourceList
V1
(
hard
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
tests
:=
map
[
string
]
struct
{
tests
:=
map
[
string
]
struct
{
params
map
[
string
]
interface
{}
params
map
[
string
]
interface
{}
expected
*
api
.
ResourceQuota
expected
*
v1
.
ResourceQuota
expectErr
bool
expectErr
bool
}{
}{
"test-valid-use"
:
{
"test-valid-use"
:
{
...
@@ -41,11 +41,11 @@ func TestQuotaGenerate(t *testing.T) {
...
@@ -41,11 +41,11 @@ func TestQuotaGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"hard"
:
hard
,
"hard"
:
hard
,
},
},
expected
:
&
api
.
ResourceQuota
{
expected
:
&
v1
.
ResourceQuota
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Spec
:
api
.
ResourceQuotaSpec
{
Hard
:
resourceQuotaSpecList
},
Spec
:
v1
.
ResourceQuotaSpec
{
Hard
:
resourceQuotaSpecList
},
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -61,15 +61,15 @@ func TestQuotaGenerate(t *testing.T) {
...
@@ -61,15 +61,15 @@ func TestQuotaGenerate(t *testing.T) {
"hard"
:
hard
,
"hard"
:
hard
,
"scopes"
:
"BestEffort,NotTerminating"
,
"scopes"
:
"BestEffort,NotTerminating"
,
},
},
expected
:
&
api
.
ResourceQuota
{
expected
:
&
v1
.
ResourceQuota
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Spec
:
api
.
ResourceQuotaSpec
{
Spec
:
v1
.
ResourceQuotaSpec
{
Hard
:
resourceQuotaSpecList
,
Hard
:
resourceQuotaSpecList
,
Scopes
:
[]
api
.
ResourceQuotaScope
{
Scopes
:
[]
v1
.
ResourceQuotaScope
{
api
.
ResourceQuotaScopeBestEffort
,
v1
.
ResourceQuotaScopeBestEffort
,
api
.
ResourceQuotaScopeNotTerminating
,
v1
.
ResourceQuotaScopeNotTerminating
,
},
},
},
},
},
},
...
@@ -81,11 +81,11 @@ func TestQuotaGenerate(t *testing.T) {
...
@@ -81,11 +81,11 @@ func TestQuotaGenerate(t *testing.T) {
"hard"
:
hard
,
"hard"
:
hard
,
"scopes"
:
""
,
"scopes"
:
""
,
},
},
expected
:
&
api
.
ResourceQuota
{
expected
:
&
v1
.
ResourceQuota
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Spec
:
api
.
ResourceQuotaSpec
{
Hard
:
resourceQuotaSpecList
},
Spec
:
v1
.
ResourceQuotaSpec
{
Hard
:
resourceQuotaSpecList
},
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -108,8 +108,8 @@ func TestQuotaGenerate(t *testing.T) {
...
@@ -108,8 +108,8 @@ func TestQuotaGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
ResourceQuota
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
ResourceQuota
),
test
.
expected
)
{
t
.
Errorf
(
"%s:
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
name
,
test
.
expected
,
obj
.
(
*
api
.
ResourceQuota
))
t
.
Errorf
(
"%s:
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
name
,
test
.
expected
,
obj
.
(
*
v1
.
ResourceQuota
))
}
}
}
}
}
}
pkg/kubectl/rolebinding.go
View file @
4487cc5e
...
@@ -21,9 +21,9 @@ import (
...
@@ -21,9 +21,9 @@ import (
"strings"
"strings"
rbacv1
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/apis/rbac"
)
)
// RoleBindingGeneratorV1 supports stable generation of a roleBinding.
// RoleBindingGeneratorV1 supports stable generation of a roleBinding.
...
@@ -113,35 +113,35 @@ func (s RoleBindingGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -113,35 +113,35 @@ func (s RoleBindingGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
err
:=
s
.
validate
();
err
!=
nil
{
if
err
:=
s
.
validate
();
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
roleBinding
:=
&
rbac
.
RoleBinding
{}
roleBinding
:=
&
rbac
v1
.
RoleBinding
{}
roleBinding
.
Name
=
s
.
Name
roleBinding
.
Name
=
s
.
Name
switch
{
switch
{
case
len
(
s
.
Role
)
>
0
:
case
len
(
s
.
Role
)
>
0
:
roleBinding
.
RoleRef
=
rbac
.
RoleRef
{
roleBinding
.
RoleRef
=
rbac
v1
.
RoleRef
{
APIGroup
:
rbac
.
GroupName
,
APIGroup
:
rbac
v1
.
GroupName
,
Kind
:
"Role"
,
Kind
:
"Role"
,
Name
:
s
.
Role
,
Name
:
s
.
Role
,
}
}
case
len
(
s
.
ClusterRole
)
>
0
:
case
len
(
s
.
ClusterRole
)
>
0
:
roleBinding
.
RoleRef
=
rbac
.
RoleRef
{
roleBinding
.
RoleRef
=
rbac
v1
.
RoleRef
{
APIGroup
:
rbac
.
GroupName
,
APIGroup
:
rbac
v1
.
GroupName
,
Kind
:
"ClusterRole"
,
Kind
:
"ClusterRole"
,
Name
:
s
.
ClusterRole
,
Name
:
s
.
ClusterRole
,
}
}
}
}
for
_
,
user
:=
range
sets
.
NewString
(
s
.
Users
...
)
.
List
()
{
for
_
,
user
:=
range
sets
.
NewString
(
s
.
Users
...
)
.
List
()
{
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
.
Subject
{
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
v1
.
Subject
{
Kind
:
rbac
.
UserKind
,
Kind
:
rbac
v1
.
UserKind
,
APIGroup
:
rbac
.
GroupName
,
APIGroup
:
rbac
v1
.
GroupName
,
Name
:
user
,
Name
:
user
,
})
})
}
}
for
_
,
group
:=
range
sets
.
NewString
(
s
.
Groups
...
)
.
List
()
{
for
_
,
group
:=
range
sets
.
NewString
(
s
.
Groups
...
)
.
List
()
{
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
.
Subject
{
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
v1
.
Subject
{
Kind
:
rbac
.
GroupKind
,
Kind
:
rbac
v1
.
GroupKind
,
APIGroup
:
rbac
.
GroupName
,
APIGroup
:
rbac
v1
.
GroupName
,
Name
:
group
,
Name
:
group
,
})
})
}
}
...
@@ -150,8 +150,8 @@ func (s RoleBindingGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -150,8 +150,8 @@ func (s RoleBindingGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
len
(
tokens
)
!=
2
||
tokens
[
1
]
==
""
{
if
len
(
tokens
)
!=
2
||
tokens
[
1
]
==
""
{
return
nil
,
fmt
.
Errorf
(
"serviceaccount must be <namespace>:<name>"
)
return
nil
,
fmt
.
Errorf
(
"serviceaccount must be <namespace>:<name>"
)
}
}
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
.
Subject
{
roleBinding
.
Subjects
=
append
(
roleBinding
.
Subjects
,
rbac
v1
.
Subject
{
Kind
:
rbac
.
ServiceAccountKind
,
Kind
:
rbac
v1
.
ServiceAccountKind
,
APIGroup
:
""
,
APIGroup
:
""
,
Namespace
:
tokens
[
0
],
Namespace
:
tokens
[
0
],
Name
:
tokens
[
1
],
Name
:
tokens
[
1
],
...
...
pkg/kubectl/rolebinding_test.go
View file @
4487cc5e
...
@@ -20,8 +20,8 @@ import (
...
@@ -20,8 +20,8 @@ import (
"reflect"
"reflect"
"testing"
"testing"
rbac
"k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/rbac"
)
)
func
TestRoleBindingGenerate
(
t
*
testing
.
T
)
{
func
TestRoleBindingGenerate
(
t
*
testing
.
T
)
{
...
...
pkg/kubectl/secret.go
View file @
4487cc5e
...
@@ -23,9 +23,9 @@ import (
...
@@ -23,9 +23,9 @@ import (
"path"
"path"
"strings"
"strings"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/kubectl/util"
"k8s.io/kubernetes/pkg/kubectl/util"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
)
)
...
@@ -129,11 +129,11 @@ func (s SecretGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -129,11 +129,11 @@ func (s SecretGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
err
:=
s
.
validate
();
err
!=
nil
{
if
err
:=
s
.
validate
();
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
secret
:=
&
api
.
Secret
{}
secret
:=
&
v1
.
Secret
{}
secret
.
Name
=
s
.
Name
secret
.
Name
=
s
.
Name
secret
.
Data
=
map
[
string
][]
byte
{}
secret
.
Data
=
map
[
string
][]
byte
{}
if
len
(
s
.
Type
)
>
0
{
if
len
(
s
.
Type
)
>
0
{
secret
.
Type
=
api
.
SecretType
(
s
.
Type
)
secret
.
Type
=
v1
.
SecretType
(
s
.
Type
)
}
}
if
len
(
s
.
FileSources
)
>
0
{
if
len
(
s
.
FileSources
)
>
0
{
if
err
:=
handleFromFileSources
(
secret
,
s
.
FileSources
);
err
!=
nil
{
if
err
:=
handleFromFileSources
(
secret
,
s
.
FileSources
);
err
!=
nil
{
...
@@ -172,7 +172,7 @@ func (s SecretGeneratorV1) validate() error {
...
@@ -172,7 +172,7 @@ func (s SecretGeneratorV1) validate() error {
}
}
// handleFromLiteralSources adds the specified literal source information into the provided secret
// handleFromLiteralSources adds the specified literal source information into the provided secret
func
handleFromLiteralSources
(
secret
*
api
.
Secret
,
literalSources
[]
string
)
error
{
func
handleFromLiteralSources
(
secret
*
v1
.
Secret
,
literalSources
[]
string
)
error
{
for
_
,
literalSource
:=
range
literalSources
{
for
_
,
literalSource
:=
range
literalSources
{
keyName
,
value
,
err
:=
util
.
ParseLiteralSource
(
literalSource
)
keyName
,
value
,
err
:=
util
.
ParseLiteralSource
(
literalSource
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -186,7 +186,7 @@ func handleFromLiteralSources(secret *api.Secret, literalSources []string) error
...
@@ -186,7 +186,7 @@ func handleFromLiteralSources(secret *api.Secret, literalSources []string) error
}
}
// handleFromFileSources adds the specified file source information into the provided secret
// handleFromFileSources adds the specified file source information into the provided secret
func
handleFromFileSources
(
secret
*
api
.
Secret
,
fileSources
[]
string
)
error
{
func
handleFromFileSources
(
secret
*
v1
.
Secret
,
fileSources
[]
string
)
error
{
for
_
,
fileSource
:=
range
fileSources
{
for
_
,
fileSource
:=
range
fileSources
{
keyName
,
filePath
,
err
:=
util
.
ParseFileSource
(
fileSource
)
keyName
,
filePath
,
err
:=
util
.
ParseFileSource
(
fileSource
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -230,7 +230,7 @@ func handleFromFileSources(secret *api.Secret, fileSources []string) error {
...
@@ -230,7 +230,7 @@ func handleFromFileSources(secret *api.Secret, fileSources []string) error {
// handleFromEnvFileSource adds the specified env file source information
// handleFromEnvFileSource adds the specified env file source information
// into the provided secret
// into the provided secret
func
handleFromEnvFileSource
(
secret
*
api
.
Secret
,
envFileSource
string
)
error
{
func
handleFromEnvFileSource
(
secret
*
v1
.
Secret
,
envFileSource
string
)
error
{
info
,
err
:=
os
.
Stat
(
envFileSource
)
info
,
err
:=
os
.
Stat
(
envFileSource
)
if
err
!=
nil
{
if
err
!=
nil
{
switch
err
:=
err
.
(
type
)
{
switch
err
:=
err
.
(
type
)
{
...
@@ -249,7 +249,7 @@ func handleFromEnvFileSource(secret *api.Secret, envFileSource string) error {
...
@@ -249,7 +249,7 @@ func handleFromEnvFileSource(secret *api.Secret, envFileSource string) error {
})
})
}
}
func
addKeyFromFileToSecret
(
secret
*
api
.
Secret
,
keyName
,
filePath
string
)
error
{
func
addKeyFromFileToSecret
(
secret
*
v1
.
Secret
,
keyName
,
filePath
string
)
error
{
data
,
err
:=
ioutil
.
ReadFile
(
filePath
)
data
,
err
:=
ioutil
.
ReadFile
(
filePath
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -257,7 +257,7 @@ func addKeyFromFileToSecret(secret *api.Secret, keyName, filePath string) error
...
@@ -257,7 +257,7 @@ func addKeyFromFileToSecret(secret *api.Secret, keyName, filePath string) error
return
addKeyFromLiteralToSecret
(
secret
,
keyName
,
data
)
return
addKeyFromLiteralToSecret
(
secret
,
keyName
,
data
)
}
}
func
addKeyFromLiteralToSecret
(
secret
*
api
.
Secret
,
keyName
string
,
data
[]
byte
)
error
{
func
addKeyFromLiteralToSecret
(
secret
*
v1
.
Secret
,
keyName
string
,
data
[]
byte
)
error
{
if
errs
:=
validation
.
IsConfigMapKey
(
keyName
);
len
(
errs
)
!=
0
{
if
errs
:=
validation
.
IsConfigMapKey
(
keyName
);
len
(
errs
)
!=
0
{
return
fmt
.
Errorf
(
"%q is not a valid key name for a Secret: %s"
,
keyName
,
strings
.
Join
(
errs
,
";"
))
return
fmt
.
Errorf
(
"%q is not a valid key name for a Secret: %s"
,
keyName
,
strings
.
Join
(
errs
,
";"
))
}
}
...
...
pkg/kubectl/secret_for_docker_registry.go
View file @
4487cc5e
...
@@ -20,8 +20,8 @@ import (
...
@@ -20,8 +20,8 @@ import (
"encoding/json"
"encoding/json"
"fmt"
"fmt"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/credentialprovider"
"k8s.io/kubernetes/pkg/credentialprovider"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
)
)
...
@@ -89,11 +89,11 @@ func (s SecretForDockerRegistryGeneratorV1) StructuredGenerate() (runtime.Object
...
@@ -89,11 +89,11 @@ func (s SecretForDockerRegistryGeneratorV1) StructuredGenerate() (runtime.Object
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
secret
:=
&
api
.
Secret
{}
secret
:=
&
v1
.
Secret
{}
secret
.
Name
=
s
.
Name
secret
.
Name
=
s
.
Name
secret
.
Type
=
api
.
SecretTypeDockercfg
secret
.
Type
=
v1
.
SecretTypeDockercfg
secret
.
Data
=
map
[
string
][]
byte
{}
secret
.
Data
=
map
[
string
][]
byte
{}
secret
.
Data
[
api
.
DockerConfigKey
]
=
dockercfgContent
secret
.
Data
[
v1
.
DockerConfigKey
]
=
dockercfgContent
if
s
.
AppendHash
{
if
s
.
AppendHash
{
h
,
err
:=
hash
.
SecretHash
(
secret
)
h
,
err
:=
hash
.
SecretHash
(
secret
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/secret_for_docker_registry_test.go
View file @
4487cc5e
...
@@ -20,8 +20,8 @@ import (
...
@@ -20,8 +20,8 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestSecretForDockerRegistryGenerate
(
t
*
testing
.
T
)
{
func
TestSecretForDockerRegistryGenerate
(
t
*
testing
.
T
)
{
...
@@ -37,7 +37,7 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
...
@@ -37,7 +37,7 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
tests
:=
map
[
string
]
struct
{
tests
:=
map
[
string
]
struct
{
params
map
[
string
]
interface
{}
params
map
[
string
]
interface
{}
expected
*
api
.
Secret
expected
*
v1
.
Secret
expectErr
bool
expectErr
bool
}{
}{
"test-valid-use"
:
{
"test-valid-use"
:
{
...
@@ -48,14 +48,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
...
@@ -48,14 +48,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
"docker-password"
:
password
,
"docker-password"
:
password
,
"docker-email"
:
email
,
"docker-email"
:
email
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
DockerConfigKey
:
secretData
,
v1
.
DockerConfigKey
:
secretData
,
},
},
Type
:
api
.
SecretTypeDockercfg
,
Type
:
v1
.
SecretTypeDockercfg
,
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -68,14 +68,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
...
@@ -68,14 +68,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
"docker-email"
:
email
,
"docker-email"
:
email
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-94759gc65b"
,
Name
:
"foo-94759gc65b"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
DockerConfigKey
:
secretData
,
v1
.
DockerConfigKey
:
secretData
,
},
},
Type
:
api
.
SecretTypeDockercfg
,
Type
:
v1
.
SecretTypeDockercfg
,
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -86,14 +86,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
...
@@ -86,14 +86,14 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
"docker-username"
:
username
,
"docker-username"
:
username
,
"docker-password"
:
password
,
"docker-password"
:
password
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
DockerConfigKey
:
secretDataNoEmail
,
v1
.
DockerConfigKey
:
secretDataNoEmail
,
},
},
Type
:
api
.
SecretTypeDockercfg
,
Type
:
v1
.
SecretTypeDockercfg
,
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -117,8 +117,8 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
...
@@ -117,8 +117,8 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
Secret
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
Secret
),
test
.
expected
)
{
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
api
.
Secret
))
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
v1
.
Secret
))
}
}
}
}
}
}
pkg/kubectl/secret_for_tls.go
View file @
4487cc5e
...
@@ -21,8 +21,8 @@ import (
...
@@ -21,8 +21,8 @@ import (
"fmt"
"fmt"
"io/ioutil"
"io/ioutil"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
"k8s.io/kubernetes/pkg/kubectl/util/hash"
)
)
...
@@ -87,12 +87,12 @@ func (s SecretForTLSGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -87,12 +87,12 @@ func (s SecretForTLSGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
secret
:=
&
api
.
Secret
{}
secret
:=
&
v1
.
Secret
{}
secret
.
Name
=
s
.
Name
secret
.
Name
=
s
.
Name
secret
.
Type
=
api
.
SecretTypeTLS
secret
.
Type
=
v1
.
SecretTypeTLS
secret
.
Data
=
map
[
string
][]
byte
{}
secret
.
Data
=
map
[
string
][]
byte
{}
secret
.
Data
[
api
.
TLSCertKey
]
=
[]
byte
(
tlsCrt
)
secret
.
Data
[
v1
.
TLSCertKey
]
=
[]
byte
(
tlsCrt
)
secret
.
Data
[
api
.
TLSPrivateKeyKey
]
=
[]
byte
(
tlsKey
)
secret
.
Data
[
v1
.
TLSPrivateKeyKey
]
=
[]
byte
(
tlsKey
)
if
s
.
AppendHash
{
if
s
.
AppendHash
{
h
,
err
:=
hash
.
SecretHash
(
secret
)
h
,
err
:=
hash
.
SecretHash
(
secret
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/secret_for_tls_test.go
View file @
4487cc5e
...
@@ -23,9 +23,9 @@ import (
...
@@ -23,9 +23,9 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
utiltesting
"k8s.io/client-go/util/testing"
utiltesting
"k8s.io/client-go/util/testing"
"k8s.io/kubernetes/pkg/api"
)
)
var
rsaCertPEM
=
`-----BEGIN CERTIFICATE-----
var
rsaCertPEM
=
`-----BEGIN CERTIFICATE-----
...
@@ -124,7 +124,7 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -124,7 +124,7 @@ func TestSecretForTLSGenerate(t *testing.T) {
tests
:=
map
[
string
]
struct
{
tests
:=
map
[
string
]
struct
{
params
map
[
string
]
interface
{}
params
map
[
string
]
interface
{}
expected
*
api
.
Secret
expected
*
v1
.
Secret
expectErr
bool
expectErr
bool
}{
}{
"test-valid-tls-secret"
:
{
"test-valid-tls-secret"
:
{
...
@@ -133,15 +133,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -133,15 +133,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
"key"
:
validKeyPath
,
"key"
:
validKeyPath
,
"cert"
:
validCertPath
,
"cert"
:
validCertPath
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
v1
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
api
.
TLSPrivateKeyKey
:
[]
byte
(
rsaKeyPEM
),
v1
.
TLSPrivateKeyKey
:
[]
byte
(
rsaKeyPEM
),
},
},
Type
:
api
.
SecretTypeTLS
,
Type
:
v1
.
SecretTypeTLS
,
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -152,15 +152,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -152,15 +152,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
"cert"
:
validCertPath
,
"cert"
:
validCertPath
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-272h6tt825"
,
Name
:
"foo-272h6tt825"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
v1
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
api
.
TLSPrivateKeyKey
:
[]
byte
(
rsaKeyPEM
),
v1
.
TLSPrivateKeyKey
:
[]
byte
(
rsaKeyPEM
),
},
},
Type
:
api
.
SecretTypeTLS
,
Type
:
v1
.
SecretTypeTLS
,
},
},
expectErr
:
false
,
expectErr
:
false
,
},
},
...
@@ -170,15 +170,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -170,15 +170,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
"key"
:
invalidKeyPath
,
"key"
:
invalidKeyPath
,
"cert"
:
invalidCertPath
,
"cert"
:
invalidCertPath
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
TLSCertKey
:
[]
byte
(
"test"
),
v1
.
TLSCertKey
:
[]
byte
(
"test"
),
api
.
TLSPrivateKeyKey
:
[]
byte
(
"test"
),
v1
.
TLSPrivateKeyKey
:
[]
byte
(
"test"
),
},
},
Type
:
api
.
SecretTypeTLS
,
Type
:
v1
.
SecretTypeTLS
,
},
},
expectErr
:
true
,
expectErr
:
true
,
},
},
...
@@ -188,15 +188,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -188,15 +188,15 @@ func TestSecretForTLSGenerate(t *testing.T) {
"key"
:
mismatchKeyPath
,
"key"
:
mismatchKeyPath
,
"cert"
:
mismatchCertPath
,
"cert"
:
mismatchCertPath
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
Data
:
map
[
string
][]
byte
{
Data
:
map
[
string
][]
byte
{
api
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
v1
.
TLSCertKey
:
[]
byte
(
rsaCertPEM
),
api
.
TLSPrivateKeyKey
:
[]
byte
(
mismatchRSAKeyPEM
),
v1
.
TLSPrivateKeyKey
:
[]
byte
(
mismatchRSAKeyPEM
),
},
},
Type
:
api
.
SecretTypeTLS
,
Type
:
v1
.
SecretTypeTLS
,
},
},
expectErr
:
true
,
expectErr
:
true
,
},
},
...
@@ -218,8 +218,8 @@ func TestSecretForTLSGenerate(t *testing.T) {
...
@@ -218,8 +218,8 @@ func TestSecretForTLSGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
Secret
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
Secret
),
test
.
expected
)
{
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
api
.
Secret
))
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
v1
.
Secret
))
}
}
}
}
}
}
pkg/kubectl/secret_test.go
View file @
4487cc5e
...
@@ -21,22 +21,22 @@ import (
...
@@ -21,22 +21,22 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestSecretGenerate
(
t
*
testing
.
T
)
{
func
TestSecretGenerate
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
setup
func
(
t
*
testing
.
T
,
params
map
[
string
]
interface
{})
func
()
setup
func
(
t
*
testing
.
T
,
params
map
[
string
]
interface
{})
func
()
params
map
[
string
]
interface
{}
params
map
[
string
]
interface
{}
expected
*
api
.
Secret
expected
*
v1
.
Secret
expectErr
bool
expectErr
bool
}{
}{
{
{
params
:
map
[
string
]
interface
{}{
params
:
map
[
string
]
interface
{}{
"name"
:
"foo"
,
"name"
:
"foo"
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -49,7 +49,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -49,7 +49,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-949tdgdkgg"
,
Name
:
"foo-949tdgdkgg"
,
},
},
...
@@ -62,7 +62,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -62,7 +62,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"type"
:
"my-type"
,
"type"
:
"my-type"
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -77,7 +77,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -77,7 +77,7 @@ func TestSecretGenerate(t *testing.T) {
"type"
:
"my-type"
,
"type"
:
"my-type"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-dg474f9t76"
,
Name
:
"foo-dg474f9t76"
,
},
},
...
@@ -91,7 +91,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -91,7 +91,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -108,7 +108,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -108,7 +108,7 @@ func TestSecretGenerate(t *testing.T) {
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"from-literal"
:
[]
string
{
"key1=value1"
,
"key2=value2"
},
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-tf72c228m4"
,
Name
:
"foo-tf72c228m4"
,
},
},
...
@@ -145,7 +145,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -145,7 +145,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"foo"
,
"name"
:
"foo"
,
"from-literal"
:
[]
string
{
"key1==value1"
},
"from-literal"
:
[]
string
{
"key1==value1"
},
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -161,7 +161,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -161,7 +161,7 @@ func TestSecretGenerate(t *testing.T) {
"from-literal"
:
[]
string
{
"key1==value1"
},
"from-literal"
:
[]
string
{
"key1==value1"
},
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo-fdcc8tkhh5"
,
Name
:
"foo-fdcc8tkhh5"
,
},
},
...
@@ -177,7 +177,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -177,7 +177,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"valid_env"
,
"name"
:
"valid_env"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"valid_env"
,
Name
:
"valid_env"
,
},
},
...
@@ -195,7 +195,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -195,7 +195,7 @@ func TestSecretGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"valid_env-bkb2m2965h"
,
Name
:
"valid_env-bkb2m2965h"
,
},
},
...
@@ -216,7 +216,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -216,7 +216,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"getenv"
,
"name"
:
"getenv"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"getenv"
,
Name
:
"getenv"
,
},
},
...
@@ -238,7 +238,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -238,7 +238,7 @@ func TestSecretGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"getenv-m7kg2khdb4"
,
Name
:
"getenv-m7kg2khdb4"
,
},
},
...
@@ -271,7 +271,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -271,7 +271,7 @@ func TestSecretGenerate(t *testing.T) {
"name"
:
"with_spaces"
,
"name"
:
"with_spaces"
,
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"with_spaces"
,
Name
:
"with_spaces"
,
},
},
...
@@ -288,7 +288,7 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -288,7 +288,7 @@ func TestSecretGenerate(t *testing.T) {
"from-env-file"
:
"file.env"
,
"from-env-file"
:
"file.env"
,
"append-hash"
:
true
,
"append-hash"
:
true
,
},
},
expected
:
&
api
.
Secret
{
expected
:
&
v1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"with_spaces-4488d5b57d"
,
Name
:
"with_spaces-4488d5b57d"
,
},
},
...
@@ -314,8 +314,8 @@ func TestSecretGenerate(t *testing.T) {
...
@@ -314,8 +314,8 @@ func TestSecretGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
Secret
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
Secret
),
test
.
expected
)
{
t
.
Errorf
(
"
\n
case %d, expected:
\n
%#v
\n
saw:
\n
%#v"
,
i
,
test
.
expected
,
obj
.
(
*
api
.
Secret
))
t
.
Errorf
(
"
\n
case %d, expected:
\n
%#v
\n
saw:
\n
%#v"
,
i
,
test
.
expected
,
obj
.
(
*
v1
.
Secret
))
}
}
}
}
}
}
pkg/kubectl/service_basic.go
View file @
4487cc5e
...
@@ -21,17 +21,17 @@ import (
...
@@ -21,17 +21,17 @@ import (
"strconv"
"strconv"
"strings"
"strings"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/kubernetes/pkg/api"
)
)
type
ServiceCommonGeneratorV1
struct
{
type
ServiceCommonGeneratorV1
struct
{
Name
string
Name
string
TCP
[]
string
TCP
[]
string
Type
api
.
ServiceType
Type
v1
.
ServiceType
ClusterIP
string
ClusterIP
string
NodePort
int
NodePort
int
ExternalName
string
ExternalName
string
...
@@ -131,7 +131,7 @@ func (s ServiceLoadBalancerGeneratorV1) Generate(params map[string]interface{})
...
@@ -131,7 +131,7 @@ func (s ServiceLoadBalancerGeneratorV1) Generate(params map[string]interface{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
api
.
ServiceTypeLoadBalancer
,
ClusterIP
:
""
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
v1
.
ServiceTypeLoadBalancer
,
ClusterIP
:
""
}
err
=
delegate
.
GenerateCommon
(
params
)
err
=
delegate
.
GenerateCommon
(
params
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -144,7 +144,7 @@ func (s ServiceNodePortGeneratorV1) Generate(params map[string]interface{}) (run
...
@@ -144,7 +144,7 @@ func (s ServiceNodePortGeneratorV1) Generate(params map[string]interface{}) (run
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
api
.
ServiceTypeNodePort
,
ClusterIP
:
""
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
v1
.
ServiceTypeNodePort
,
ClusterIP
:
""
}
err
=
delegate
.
GenerateCommon
(
params
)
err
=
delegate
.
GenerateCommon
(
params
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -157,7 +157,7 @@ func (s ServiceClusterIPGeneratorV1) Generate(params map[string]interface{}) (ru
...
@@ -157,7 +157,7 @@ func (s ServiceClusterIPGeneratorV1) Generate(params map[string]interface{}) (ru
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
api
.
ServiceTypeClusterIP
,
ClusterIP
:
""
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
v1
.
ServiceTypeClusterIP
,
ClusterIP
:
""
}
err
=
delegate
.
GenerateCommon
(
params
)
err
=
delegate
.
GenerateCommon
(
params
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -170,7 +170,7 @@ func (s ServiceExternalNameGeneratorV1) Generate(params map[string]interface{})
...
@@ -170,7 +170,7 @@ func (s ServiceExternalNameGeneratorV1) Generate(params map[string]interface{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
api
.
ServiceTypeExternalName
,
ClusterIP
:
""
}
delegate
:=
&
ServiceCommonGeneratorV1
{
Type
:
v1
.
ServiceTypeExternalName
,
ClusterIP
:
""
}
err
=
delegate
.
GenerateCommon
(
params
)
err
=
delegate
.
GenerateCommon
(
params
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -187,13 +187,13 @@ func (s ServiceCommonGeneratorV1) validate() error {
...
@@ -187,13 +187,13 @@ func (s ServiceCommonGeneratorV1) validate() error {
if
len
(
s
.
Type
)
==
0
{
if
len
(
s
.
Type
)
==
0
{
return
fmt
.
Errorf
(
"type must be specified"
)
return
fmt
.
Errorf
(
"type must be specified"
)
}
}
if
s
.
ClusterIP
==
api
.
ClusterIPNone
&&
s
.
Type
!=
api
.
ServiceTypeClusterIP
{
if
s
.
ClusterIP
==
v1
.
ClusterIPNone
&&
s
.
Type
!=
v1
.
ServiceTypeClusterIP
{
return
fmt
.
Errorf
(
"ClusterIP=None can only be used with ClusterIP service type"
)
return
fmt
.
Errorf
(
"ClusterIP=None can only be used with ClusterIP service type"
)
}
}
if
s
.
ClusterIP
!=
api
.
ClusterIPNone
&&
len
(
s
.
TCP
)
==
0
&&
s
.
Type
!=
api
.
ServiceTypeExternalName
{
if
s
.
ClusterIP
!=
v1
.
ClusterIPNone
&&
len
(
s
.
TCP
)
==
0
&&
s
.
Type
!=
v1
.
ServiceTypeExternalName
{
return
fmt
.
Errorf
(
"at least one tcp port specifier must be provided"
)
return
fmt
.
Errorf
(
"at least one tcp port specifier must be provided"
)
}
}
if
s
.
Type
==
api
.
ServiceTypeExternalName
{
if
s
.
Type
==
v1
.
ServiceTypeExternalName
{
if
errs
:=
validation
.
IsDNS1123Subdomain
(
s
.
ExternalName
);
len
(
errs
)
!=
0
{
if
errs
:=
validation
.
IsDNS1123Subdomain
(
s
.
ExternalName
);
len
(
errs
)
!=
0
{
return
fmt
.
Errorf
(
"invalid service external name %s"
,
s
.
ExternalName
)
return
fmt
.
Errorf
(
"invalid service external name %s"
,
s
.
ExternalName
)
}
}
...
@@ -206,7 +206,7 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -206,7 +206,7 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
ports
:=
[]
api
.
ServicePort
{}
ports
:=
[]
v1
.
ServicePort
{}
for
_
,
tcpString
:=
range
s
.
TCP
{
for
_
,
tcpString
:=
range
s
.
TCP
{
port
,
targetPort
,
err
:=
parsePorts
(
tcpString
)
port
,
targetPort
,
err
:=
parsePorts
(
tcpString
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -214,11 +214,11 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -214,11 +214,11 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
}
}
portName
:=
strings
.
Replace
(
tcpString
,
":"
,
"-"
,
-
1
)
portName
:=
strings
.
Replace
(
tcpString
,
":"
,
"-"
,
-
1
)
ports
=
append
(
ports
,
api
.
ServicePort
{
ports
=
append
(
ports
,
v1
.
ServicePort
{
Name
:
portName
,
Name
:
portName
,
Port
:
port
,
Port
:
port
,
TargetPort
:
targetPort
,
TargetPort
:
targetPort
,
Protocol
:
api
.
Protocol
(
"TCP"
),
Protocol
:
v1
.
Protocol
(
"TCP"
),
NodePort
:
int32
(
s
.
NodePort
),
NodePort
:
int32
(
s
.
NodePort
),
})
})
}
}
...
@@ -229,13 +229,13 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
...
@@ -229,13 +229,13 @@ func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error) {
selector
:=
map
[
string
]
string
{}
selector
:=
map
[
string
]
string
{}
selector
[
"app"
]
=
s
.
Name
selector
[
"app"
]
=
s
.
Name
service
:=
api
.
Service
{
service
:=
v1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
s
.
Name
,
Name
:
s
.
Name
,
Labels
:
labels
,
Labels
:
labels
,
},
},
Spec
:
api
.
ServiceSpec
{
Spec
:
v1
.
ServiceSpec
{
Type
:
api
.
ServiceType
(
s
.
Type
),
Type
:
v1
.
ServiceType
(
s
.
Type
),
Selector
:
selector
,
Selector
:
selector
,
Ports
:
ports
,
Ports
:
ports
,
ExternalName
:
s
.
ExternalName
,
ExternalName
:
s
.
ExternalName
,
...
...
pkg/kubectl/service_basic_test.go
View file @
4487cc5e
...
@@ -20,32 +20,32 @@ import (
...
@@ -20,32 +20,32 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestServiceBasicGenerate
(
t
*
testing
.
T
)
{
func
TestServiceBasicGenerate
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
serviceType
api
.
ServiceType
serviceType
v1
.
ServiceType
tcp
[]
string
tcp
[]
string
clusterip
string
clusterip
string
expected
*
api
.
Service
expected
*
v1
.
Service
expectErr
bool
expectErr
bool
}{
}{
{
{
name
:
"clusterip-ok"
,
name
:
"clusterip-ok"
,
tcp
:
[]
string
{
"456"
,
"321:908"
},
tcp
:
[]
string
{
"456"
,
"321:908"
},
clusterip
:
""
,
clusterip
:
""
,
serviceType
:
api
.
ServiceTypeClusterIP
,
serviceType
:
v1
.
ServiceTypeClusterIP
,
expected
:
&
api
.
Service
{
expected
:
&
v1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"clusterip-ok"
,
Name
:
"clusterip-ok"
,
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-ok"
},
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-ok"
},
},
},
Spec
:
api
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Spec
:
v1
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Ports
:
[]
api
.
ServicePort
{{
Name
:
"456"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
456
,
StrVal
:
""
},
NodePort
:
0
},
Ports
:
[]
v1
.
ServicePort
{{
Name
:
"456"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
456
,
StrVal
:
""
},
NodePort
:
0
},
{
Name
:
"321-908"
,
Protocol
:
"TCP"
,
Port
:
321
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
908
,
StrVal
:
""
},
NodePort
:
0
}},
{
Name
:
"321-908"
,
Protocol
:
"TCP"
,
Port
:
321
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
908
,
StrVal
:
""
},
NodePort
:
0
}},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-ok"
},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-ok"
},
ClusterIP
:
""
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
ClusterIP
:
""
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
...
@@ -54,28 +54,28 @@ func TestServiceBasicGenerate(t *testing.T) {
...
@@ -54,28 +54,28 @@ func TestServiceBasicGenerate(t *testing.T) {
},
},
{
{
name
:
"clusterip-missing"
,
name
:
"clusterip-missing"
,
serviceType
:
api
.
ServiceTypeClusterIP
,
serviceType
:
v1
.
ServiceTypeClusterIP
,
expectErr
:
true
,
expectErr
:
true
,
},
},
{
{
name
:
"clusterip-none-wrong-type"
,
name
:
"clusterip-none-wrong-type"
,
tcp
:
[]
string
{},
tcp
:
[]
string
{},
clusterip
:
"None"
,
clusterip
:
"None"
,
serviceType
:
api
.
ServiceTypeNodePort
,
serviceType
:
v1
.
ServiceTypeNodePort
,
expectErr
:
true
,
expectErr
:
true
,
},
},
{
{
name
:
"clusterip-none-ok"
,
name
:
"clusterip-none-ok"
,
tcp
:
[]
string
{},
tcp
:
[]
string
{},
clusterip
:
"None"
,
clusterip
:
"None"
,
serviceType
:
api
.
ServiceTypeClusterIP
,
serviceType
:
v1
.
ServiceTypeClusterIP
,
expected
:
&
api
.
Service
{
expected
:
&
v1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"clusterip-none-ok"
,
Name
:
"clusterip-none-ok"
,
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-none-ok"
},
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-none-ok"
},
},
},
Spec
:
api
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Spec
:
v1
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Ports
:
[]
api
.
ServicePort
{},
Ports
:
[]
v1
.
ServicePort
{},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-none-ok"
},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-none-ok"
},
ClusterIP
:
"None"
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
ClusterIP
:
"None"
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
},
},
...
@@ -85,14 +85,14 @@ func TestServiceBasicGenerate(t *testing.T) {
...
@@ -85,14 +85,14 @@ func TestServiceBasicGenerate(t *testing.T) {
name
:
"clusterip-none-and-port-mapping"
,
name
:
"clusterip-none-and-port-mapping"
,
tcp
:
[]
string
{
"456:9898"
},
tcp
:
[]
string
{
"456:9898"
},
clusterip
:
"None"
,
clusterip
:
"None"
,
serviceType
:
api
.
ServiceTypeClusterIP
,
serviceType
:
v1
.
ServiceTypeClusterIP
,
expected
:
&
api
.
Service
{
expected
:
&
v1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"clusterip-none-and-port-mapping"
,
Name
:
"clusterip-none-and-port-mapping"
,
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-none-and-port-mapping"
},
Labels
:
map
[
string
]
string
{
"app"
:
"clusterip-none-and-port-mapping"
},
},
},
Spec
:
api
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Spec
:
v1
.
ServiceSpec
{
Type
:
"ClusterIP"
,
Ports
:
[]
api
.
ServicePort
{{
Name
:
"456-9898"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
9898
,
StrVal
:
""
},
NodePort
:
0
}},
Ports
:
[]
v1
.
ServicePort
{{
Name
:
"456-9898"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
9898
,
StrVal
:
""
},
NodePort
:
0
}},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-none-and-port-mapping"
},
Selector
:
map
[
string
]
string
{
"app"
:
"clusterip-none-and-port-mapping"
},
ClusterIP
:
"None"
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
ClusterIP
:
"None"
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
},
},
...
@@ -102,14 +102,14 @@ func TestServiceBasicGenerate(t *testing.T) {
...
@@ -102,14 +102,14 @@ func TestServiceBasicGenerate(t *testing.T) {
name
:
"loadbalancer-ok"
,
name
:
"loadbalancer-ok"
,
tcp
:
[]
string
{
"456:9898"
},
tcp
:
[]
string
{
"456:9898"
},
clusterip
:
""
,
clusterip
:
""
,
serviceType
:
api
.
ServiceTypeLoadBalancer
,
serviceType
:
v1
.
ServiceTypeLoadBalancer
,
expected
:
&
api
.
Service
{
expected
:
&
v1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"loadbalancer-ok"
,
Name
:
"loadbalancer-ok"
,
Labels
:
map
[
string
]
string
{
"app"
:
"loadbalancer-ok"
},
Labels
:
map
[
string
]
string
{
"app"
:
"loadbalancer-ok"
},
},
},
Spec
:
api
.
ServiceSpec
{
Type
:
"LoadBalancer"
,
Spec
:
v1
.
ServiceSpec
{
Type
:
"LoadBalancer"
,
Ports
:
[]
api
.
ServicePort
{{
Name
:
"456-9898"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
9898
,
StrVal
:
""
},
NodePort
:
0
}},
Ports
:
[]
v1
.
ServicePort
{{
Name
:
"456-9898"
,
Protocol
:
"TCP"
,
Port
:
456
,
TargetPort
:
intstr
.
IntOrString
{
Type
:
0
,
IntVal
:
9898
,
StrVal
:
""
},
NodePort
:
0
}},
Selector
:
map
[
string
]
string
{
"app"
:
"loadbalancer-ok"
},
Selector
:
map
[
string
]
string
{
"app"
:
"loadbalancer-ok"
},
ClusterIP
:
""
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
ClusterIP
:
""
,
ExternalIPs
:
[]
string
(
nil
),
LoadBalancerIP
:
""
},
},
},
...
@@ -133,8 +133,8 @@ func TestServiceBasicGenerate(t *testing.T) {
...
@@ -133,8 +133,8 @@ func TestServiceBasicGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
Service
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
Service
),
test
.
expected
)
{
t
.
Errorf
(
"test: %v
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
name
,
test
.
expected
,
obj
.
(
*
api
.
Service
))
t
.
Errorf
(
"test: %v
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
name
,
test
.
expected
,
obj
.
(
*
v1
.
Service
))
}
}
}
}
}
}
pkg/kubectl/serviceaccount.go
View file @
4487cc5e
...
@@ -19,8 +19,8 @@ package kubectl
...
@@ -19,8 +19,8 @@ package kubectl
import
(
import
(
"fmt"
"fmt"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
)
)
// ServiceAccountGeneratorV1 supports stable generation of a service account
// ServiceAccountGeneratorV1 supports stable generation of a service account
...
@@ -37,7 +37,7 @@ func (g *ServiceAccountGeneratorV1) StructuredGenerate() (runtime.Object, error)
...
@@ -37,7 +37,7 @@ func (g *ServiceAccountGeneratorV1) StructuredGenerate() (runtime.Object, error)
if
err
:=
g
.
validate
();
err
!=
nil
{
if
err
:=
g
.
validate
();
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
serviceAccount
:=
&
api
.
ServiceAccount
{}
serviceAccount
:=
&
v1
.
ServiceAccount
{}
serviceAccount
.
Name
=
g
.
Name
serviceAccount
.
Name
=
g
.
Name
return
serviceAccount
,
nil
return
serviceAccount
,
nil
}
}
...
...
pkg/kubectl/serviceaccount_test.go
View file @
4487cc5e
...
@@ -20,19 +20,19 @@ import (
...
@@ -20,19 +20,19 @@ import (
"reflect"
"reflect"
"testing"
"testing"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
)
)
func
TestServiceAccountGenerate
(
t
*
testing
.
T
)
{
func
TestServiceAccountGenerate
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
expected
*
api
.
ServiceAccount
expected
*
v1
.
ServiceAccount
expectErr
bool
expectErr
bool
}{
}{
{
{
name
:
"foo"
,
name
:
"foo"
,
expected
:
&
api
.
ServiceAccount
{
expected
:
&
v1
.
ServiceAccount
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
,
Name
:
"foo"
,
},
},
...
@@ -54,8 +54,8 @@ func TestServiceAccountGenerate(t *testing.T) {
...
@@ -54,8 +54,8 @@ func TestServiceAccountGenerate(t *testing.T) {
if
test
.
expectErr
&&
err
!=
nil
{
if
test
.
expectErr
&&
err
!=
nil
{
continue
continue
}
}
if
!
reflect
.
DeepEqual
(
obj
.
(
*
api
.
ServiceAccount
),
test
.
expected
)
{
if
!
reflect
.
DeepEqual
(
obj
.
(
*
v1
.
ServiceAccount
),
test
.
expected
)
{
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
api
.
ServiceAccount
))
t
.
Errorf
(
"
\n
expected:
\n
%#v
\n
saw:
\n
%#v"
,
test
.
expected
,
obj
.
(
*
v1
.
ServiceAccount
))
}
}
}
}
}
}
pkg/kubectl/util/hash/BUILD
View file @
4487cc5e
...
@@ -11,14 +11,14 @@ go_test(
...
@@ -11,14 +11,14 @@ go_test(
srcs = ["hash_test.go"],
srcs = ["hash_test.go"],
importpath = "k8s.io/kubernetes/pkg/kubectl/util/hash",
importpath = "k8s.io/kubernetes/pkg/kubectl/util/hash",
library = ":go_default_library",
library = ":go_default_library",
deps = ["//
pkg/api
:go_default_library"],
deps = ["//
vendor/k8s.io/api/core/v1
:go_default_library"],
)
)
go_library(
go_library(
name = "go_default_library",
name = "go_default_library",
srcs = ["hash.go"],
srcs = ["hash.go"],
importpath = "k8s.io/kubernetes/pkg/kubectl/util/hash",
importpath = "k8s.io/kubernetes/pkg/kubectl/util/hash",
deps = ["//
pkg/api
:go_default_library"],
deps = ["//
vendor/k8s.io/api/core/v1
:go_default_library"],
)
)
filegroup(
filegroup(
...
...
pkg/kubectl/util/hash/hash.go
View file @
4487cc5e
...
@@ -21,12 +21,12 @@ import (
...
@@ -21,12 +21,12 @@ import (
"encoding/json"
"encoding/json"
"fmt"
"fmt"
"k8s.io/
kubernetes/pkg/api
"
"k8s.io/
api/core/v1
"
)
)
// ConfigMapHash returns a hash of the ConfigMap.
// ConfigMapHash returns a hash of the ConfigMap.
// The Data, Kind, and Name are taken into account.
// The Data, Kind, and Name are taken into account.
func
ConfigMapHash
(
cm
*
api
.
ConfigMap
)
(
string
,
error
)
{
func
ConfigMapHash
(
cm
*
v1
.
ConfigMap
)
(
string
,
error
)
{
encoded
,
err
:=
encodeConfigMap
(
cm
)
encoded
,
err
:=
encodeConfigMap
(
cm
)
if
err
!=
nil
{
if
err
!=
nil
{
return
""
,
err
return
""
,
err
...
@@ -40,7 +40,7 @@ func ConfigMapHash(cm *api.ConfigMap) (string, error) {
...
@@ -40,7 +40,7 @@ func ConfigMapHash(cm *api.ConfigMap) (string, error) {
// SecretHash returns a hash of the Secret.
// SecretHash returns a hash of the Secret.
// The Data, Kind, Name, and Type are taken into account.
// The Data, Kind, Name, and Type are taken into account.
func
SecretHash
(
sec
*
api
.
Secret
)
(
string
,
error
)
{
func
SecretHash
(
sec
*
v1
.
Secret
)
(
string
,
error
)
{
encoded
,
err
:=
encodeSecret
(
sec
)
encoded
,
err
:=
encodeSecret
(
sec
)
if
err
!=
nil
{
if
err
!=
nil
{
return
""
,
err
return
""
,
err
...
@@ -54,7 +54,7 @@ func SecretHash(sec *api.Secret) (string, error) {
...
@@ -54,7 +54,7 @@ func SecretHash(sec *api.Secret) (string, error) {
// encodeConfigMap encodes a ConfigMap.
// encodeConfigMap encodes a ConfigMap.
// Data, Kind, and Name are taken into account.
// Data, Kind, and Name are taken into account.
func
encodeConfigMap
(
cm
*
api
.
ConfigMap
)
(
string
,
error
)
{
func
encodeConfigMap
(
cm
*
v1
.
ConfigMap
)
(
string
,
error
)
{
// json.Marshal sorts the keys in a stable order in the encoding
// json.Marshal sorts the keys in a stable order in the encoding
data
,
err
:=
json
.
Marshal
(
map
[
string
]
interface
{}{
"kind"
:
"ConfigMap"
,
"name"
:
cm
.
Name
,
"data"
:
cm
.
Data
})
data
,
err
:=
json
.
Marshal
(
map
[
string
]
interface
{}{
"kind"
:
"ConfigMap"
,
"name"
:
cm
.
Name
,
"data"
:
cm
.
Data
})
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -65,7 +65,7 @@ func encodeConfigMap(cm *api.ConfigMap) (string, error) {
...
@@ -65,7 +65,7 @@ func encodeConfigMap(cm *api.ConfigMap) (string, error) {
// encodeSecret encodes a Secret.
// encodeSecret encodes a Secret.
// Data, Kind, Name, and Type are taken into account.
// Data, Kind, Name, and Type are taken into account.
func
encodeSecret
(
sec
*
api
.
Secret
)
(
string
,
error
)
{
func
encodeSecret
(
sec
*
v1
.
Secret
)
(
string
,
error
)
{
// json.Marshal sorts the keys in a stable order in the encoding
// json.Marshal sorts the keys in a stable order in the encoding
data
,
err
:=
json
.
Marshal
(
map
[
string
]
interface
{}{
"kind"
:
"Secret"
,
"type"
:
sec
.
Type
,
"name"
:
sec
.
Name
,
"data"
:
sec
.
Data
})
data
,
err
:=
json
.
Marshal
(
map
[
string
]
interface
{}{
"kind"
:
"Secret"
,
"type"
:
sec
.
Type
,
"name"
:
sec
.
Name
,
"data"
:
sec
.
Data
})
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/util/hash/hash_test.go
View file @
4487cc5e
...
@@ -21,22 +21,22 @@ import (
...
@@ -21,22 +21,22 @@ import (
"strings"
"strings"
"testing"
"testing"
"k8s.io/
kubernetes/pkg/api
"
"k8s.io/
api/core/v1
"
)
)
func
TestConfigMapHash
(
t
*
testing
.
T
)
{
func
TestConfigMapHash
(
t
*
testing
.
T
)
{
cases
:=
[]
struct
{
cases
:=
[]
struct
{
desc
string
desc
string
cm
*
api
.
ConfigMap
cm
*
v1
.
ConfigMap
hash
string
hash
string
err
string
err
string
}{
}{
// empty map
// empty map
{
"empty data"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{}},
"42745tchd9"
,
""
},
{
"empty data"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{}},
"42745tchd9"
,
""
},
// one key
// one key
{
"one key"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"one"
:
""
}},
"9g67k2htb6"
,
""
},
{
"one key"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"one"
:
""
}},
"9g67k2htb6"
,
""
},
// three keys (tests sorting order)
// three keys (tests sorting order)
{
"three keys"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"two"
:
"2"
,
"one"
:
""
,
"three"
:
"3"
}},
"f5h7t85m9b"
,
""
},
{
"three keys"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"two"
:
"2"
,
"one"
:
""
,
"three"
:
"3"
}},
"f5h7t85m9b"
,
""
},
}
}
for
_
,
c
:=
range
cases
{
for
_
,
c
:=
range
cases
{
...
@@ -53,16 +53,16 @@ func TestConfigMapHash(t *testing.T) {
...
@@ -53,16 +53,16 @@ func TestConfigMapHash(t *testing.T) {
func
TestSecretHash
(
t
*
testing
.
T
)
{
func
TestSecretHash
(
t
*
testing
.
T
)
{
cases
:=
[]
struct
{
cases
:=
[]
struct
{
desc
string
desc
string
secret
*
api
.
Secret
secret
*
v1
.
Secret
hash
string
hash
string
err
string
err
string
}{
}{
// empty map
// empty map
{
"empty data"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{}},
"t75bgf6ctb"
,
""
},
{
"empty data"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{}},
"t75bgf6ctb"
,
""
},
// one key
// one key
{
"one key"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"one"
:
[]
byte
(
""
)}},
"74bd68bm66"
,
""
},
{
"one key"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"one"
:
[]
byte
(
""
)}},
"74bd68bm66"
,
""
},
// three keys (tests sorting order)
// three keys (tests sorting order)
{
"three keys"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"two"
:
[]
byte
(
"2"
),
"one"
:
[]
byte
(
""
),
"three"
:
[]
byte
(
"3"
)}},
"dgcb6h9tmk"
,
""
},
{
"three keys"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"two"
:
[]
byte
(
"2"
),
"one"
:
[]
byte
(
""
),
"three"
:
[]
byte
(
"3"
)}},
"dgcb6h9tmk"
,
""
},
}
}
for
_
,
c
:=
range
cases
{
for
_
,
c
:=
range
cases
{
...
@@ -79,16 +79,16 @@ func TestSecretHash(t *testing.T) {
...
@@ -79,16 +79,16 @@ func TestSecretHash(t *testing.T) {
func
TestEncodeConfigMap
(
t
*
testing
.
T
)
{
func
TestEncodeConfigMap
(
t
*
testing
.
T
)
{
cases
:=
[]
struct
{
cases
:=
[]
struct
{
desc
string
desc
string
cm
*
api
.
ConfigMap
cm
*
v1
.
ConfigMap
expect
string
expect
string
err
string
err
string
}{
}{
// empty map
// empty map
{
"empty data"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{}},
`{"data":{},"kind":"ConfigMap","name":""}`
,
""
},
{
"empty data"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{}},
`{"data":{},"kind":"ConfigMap","name":""}`
,
""
},
// one key
// one key
{
"one key"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"one"
:
""
}},
`{"data":{"one":""},"kind":"ConfigMap","name":""}`
,
""
},
{
"one key"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"one"
:
""
}},
`{"data":{"one":""},"kind":"ConfigMap","name":""}`
,
""
},
// three keys (tests sorting order)
// three keys (tests sorting order)
{
"three keys"
,
&
api
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"two"
:
"2"
,
"one"
:
""
,
"three"
:
"3"
}},
`{"data":{"one":"","three":"3","two":"2"},"kind":"ConfigMap","name":""}`
,
""
},
{
"three keys"
,
&
v1
.
ConfigMap
{
Data
:
map
[
string
]
string
{
"two"
:
"2"
,
"one"
:
""
,
"three"
:
"3"
}},
`{"data":{"one":"","three":"3","two":"2"},"kind":"ConfigMap","name":""}`
,
""
},
}
}
for
_
,
c
:=
range
cases
{
for
_
,
c
:=
range
cases
{
s
,
err
:=
encodeConfigMap
(
c
.
cm
)
s
,
err
:=
encodeConfigMap
(
c
.
cm
)
...
@@ -104,16 +104,16 @@ func TestEncodeConfigMap(t *testing.T) {
...
@@ -104,16 +104,16 @@ func TestEncodeConfigMap(t *testing.T) {
func
TestEncodeSecret
(
t
*
testing
.
T
)
{
func
TestEncodeSecret
(
t
*
testing
.
T
)
{
cases
:=
[]
struct
{
cases
:=
[]
struct
{
desc
string
desc
string
secret
*
api
.
Secret
secret
*
v1
.
Secret
expect
string
expect
string
err
string
err
string
}{
}{
// empty map
// empty map
{
"empty data"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{}},
`{"data":{},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
{
"empty data"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{}},
`{"data":{},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
// one key
// one key
{
"one key"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"one"
:
[]
byte
(
""
)}},
`{"data":{"one":""},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
{
"one key"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"one"
:
[]
byte
(
""
)}},
`{"data":{"one":""},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
// three keys (tests sorting order) - note json.Marshal base64 encodes the values because they come in as []byte
// three keys (tests sorting order) - note json.Marshal base64 encodes the values because they come in as []byte
{
"three keys"
,
&
api
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"two"
:
[]
byte
(
"2"
),
"one"
:
[]
byte
(
""
),
"three"
:
[]
byte
(
"3"
)}},
`{"data":{"one":"","three":"Mw==","two":"Mg=="},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
{
"three keys"
,
&
v1
.
Secret
{
Type
:
"my-type"
,
Data
:
map
[
string
][]
byte
{
"two"
:
[]
byte
(
"2"
),
"one"
:
[]
byte
(
""
),
"three"
:
[]
byte
(
"3"
)}},
`{"data":{"one":"","three":"Mw==","two":"Mg=="},"kind":"Secret","name":"","type":"my-type"}`
,
""
},
}
}
for
_
,
c
:=
range
cases
{
for
_
,
c
:=
range
cases
{
s
,
err
:=
encodeSecret
(
c
.
secret
)
s
,
err
:=
encodeSecret
(
c
.
secret
)
...
@@ -148,8 +148,8 @@ not their metadata (e.g. the Data of a ConfigMap, but nothing in ObjectMeta).
...
@@ -148,8 +148,8 @@ not their metadata (e.g. the Data of a ConfigMap, but nothing in ObjectMeta).
obj
interface
{}
obj
interface
{}
expect
int
expect
int
}{
}{
{
"ConfigMap"
,
api
.
ConfigMap
{},
3
},
{
"ConfigMap"
,
v1
.
ConfigMap
{},
3
},
{
"Secret"
,
api
.
Secret
{},
4
},
{
"Secret"
,
v1
.
Secret
{},
5
},
}
}
for
_
,
c
:=
range
cases
{
for
_
,
c
:=
range
cases
{
val
:=
reflect
.
ValueOf
(
c
.
obj
)
val
:=
reflect
.
ValueOf
(
c
.
obj
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment