Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kp22424
dashboard
提交
1f9c707e
D
dashboard
项目概览
kp22424
/
dashboard
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dashboard
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
1f9c707e
编写于
1月 30, 2020
作者:
S
Sebastian Florek
提交者:
GitHub
1月 30, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Bump version to v2.0.0-rc3 (#4836)
* Bump version to v2.0.0-rc3 * Fix imports
上级
8484786d
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
134 addition
and
134 deletion
+134
-134
README.md
README.md
+1
-1
aio/deploy/alternative.yaml
aio/deploy/alternative.yaml
+2
-2
aio/deploy/alternative/06_dashboard-deployment.yaml
aio/deploy/alternative/06_dashboard-deployment.yaml
+1
-1
aio/deploy/alternative/08_scraper-deployment.yaml
aio/deploy/alternative/08_scraper-deployment.yaml
+1
-1
aio/deploy/recommended.yaml
aio/deploy/recommended.yaml
+2
-2
aio/deploy/recommended/06_dashboard-deployment.yaml
aio/deploy/recommended/06_dashboard-deployment.yaml
+1
-1
aio/deploy/recommended/08_scraper-deployment.yaml
aio/deploy/recommended/08_scraper-deployment.yaml
+1
-1
aio/gulp/conf.js
aio/gulp/conf.js
+1
-1
docs/user/installation.md
docs/user/installation.md
+3
-3
src/app/backend/client/verber_test.go
src/app/backend/client/verber_test.go
+121
-121
未找到文件。
README.md
浏览文件 @
1f9c707e
...
...
@@ -17,7 +17,7 @@ Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters.
To deploy Dashboard, execute following command:
```
sh
$
kubectl apply
-f
https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
2
/aio/deploy/recommended.yaml
$
kubectl apply
-f
https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
3
/aio/deploy/recommended.yaml
```
To access Dashboard from your local workstation you must create a secure channel to your Kubernetes cluster. Run the following command:
...
...
aio/deploy/alternative.yaml
浏览文件 @
1f9c707e
...
...
@@ -176,7 +176,7 @@ spec:
spec
:
containers
:
-
name
:
kubernetes-dashboard
image
:
kubernetesui/dashboard:v2.0.0-rc
2
image
:
kubernetesui/dashboard:v2.0.0-rc
3
ports
:
-
containerPort
:
9090
protocol
:
TCP
...
...
@@ -253,7 +253,7 @@ spec:
spec
:
containers
:
-
name
:
dashboard-metrics-scraper
image
:
kubernetesui/metrics-scraper:v1.0.
2
image
:
kubernetesui/metrics-scraper:v1.0.
3
ports
:
-
containerPort
:
8000
protocol
:
TCP
...
...
aio/deploy/alternative/06_dashboard-deployment.yaml
浏览文件 @
1f9c707e
...
...
@@ -34,7 +34,7 @@ spec:
spec
:
containers
:
-
name
:
kubernetes-dashboard
image
:
kubernetesui/dashboard:v2.0.0-rc
2
image
:
kubernetesui/dashboard:v2.0.0-rc
3
ports
:
-
containerPort
:
9090
protocol
:
TCP
...
...
aio/deploy/alternative/08_scraper-deployment.yaml
浏览文件 @
1f9c707e
...
...
@@ -34,7 +34,7 @@ spec:
spec
:
containers
:
-
name
:
dashboard-metrics-scraper
image
:
kubernetesui/metrics-scraper:v1.0.
2
image
:
kubernetesui/metrics-scraper:v1.0.
3
ports
:
-
containerPort
:
8000
protocol
:
TCP
...
...
aio/deploy/recommended.yaml
浏览文件 @
1f9c707e
...
...
@@ -187,7 +187,7 @@ spec:
spec
:
containers
:
-
name
:
kubernetes-dashboard
image
:
kubernetesui/dashboard:v2.0.0-rc
2
image
:
kubernetesui/dashboard:v2.0.0-rc
3
imagePullPolicy
:
Always
ports
:
-
containerPort
:
8443
...
...
@@ -271,7 +271,7 @@ spec:
spec
:
containers
:
-
name
:
dashboard-metrics-scraper
image
:
kubernetesui/metrics-scraper:v1.0.
2
image
:
kubernetesui/metrics-scraper:v1.0.
3
ports
:
-
containerPort
:
8000
protocol
:
TCP
...
...
aio/deploy/recommended/06_dashboard-deployment.yaml
浏览文件 @
1f9c707e
...
...
@@ -34,7 +34,7 @@ spec:
spec
:
containers
:
-
name
:
kubernetes-dashboard
image
:
kubernetesui/dashboard:v2.0.0-rc
2
image
:
kubernetesui/dashboard:v2.0.0-rc
3
imagePullPolicy
:
Always
ports
:
-
containerPort
:
8443
...
...
aio/deploy/recommended/08_scraper-deployment.yaml
浏览文件 @
1f9c707e
...
...
@@ -34,7 +34,7 @@ spec:
spec
:
containers
:
-
name
:
dashboard-metrics-scraper
image
:
kubernetesui/metrics-scraper:v1.0.
2
image
:
kubernetesui/metrics-scraper:v1.0.
3
ports
:
-
containerPort
:
8000
protocol
:
TCP
...
...
aio/gulp/conf.js
浏览文件 @
1f9c707e
...
...
@@ -53,7 +53,7 @@ const version = {
/**
* Current release version of the project.
*/
release
:
'
v2.0.0-rc
2
'
,
release
:
'
v2.0.0-rc
3
'
,
/**
* Version name of the head release of the project.
*/
...
...
docs/user/installation.md
浏览文件 @
1f9c707e
...
...
@@ -23,7 +23,7 @@ kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs
For Dashboard to pickup the certificates, you must pass arguments
`--tls-cert-file=/tls.crt`
and
`--tls-key-file=/tls.key`
to the container. You can edit YAML definition and deploy Dashboard in one go:
```
kubectl create --edit -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
2
/aio/deploy/recommended.yaml
kubectl create --edit -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
3
/aio/deploy/recommended.yaml
```
Under Deployment section, add arguments to pod definition, it should look as follows:
...
...
@@ -42,7 +42,7 @@ This setup is not fully secure. Certificates are not used and Dashboard is expos
To deploy Dashboard execute following command:
```
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
2
/aio/deploy/alternative.yaml
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
3
/aio/deploy/alternative.yaml
```
...
...
@@ -55,7 +55,7 @@ Besides official releases, there are also development releases, that are pushed
In most of the use cases you need to execute the following command to deploy latest development release:
```
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
2
/aio/deploy/head.yaml
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc
3
/aio/deploy/head.yaml
```
### Update
...
...
src/app/backend/client/verber_test.go
浏览文件 @
1f9c707e
...
...
@@ -15,209 +15,209 @@
package
client
import
(
"net/http"
"net/url"
"reflect"
"testing"
metaV1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/kubernetes/scheme"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"github.com/kubernetes/dashboard/src/app/backend/errors"
"net/http"
"net/url"
"reflect"
"testing"
metaV1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/kubernetes/scheme"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake"
"github.com/kubernetes/dashboard/src/app/backend/errors"
)
type
clientFunc
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
func
(
f
clientFunc
)
Do
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
f
(
req
)
return
f
(
req
)
}
type
FakeRESTClient
struct
{
response
*
http
.
Response
err
error
response
*
http
.
Response
err
error
}
func
NewFakeClientFunc
(
c
*
FakeRESTClient
)
clientFunc
{
return
clientFunc
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
c
.
response
,
c
.
err
})
return
clientFunc
(
func
(
req
*
http
.
Request
)
(
*
http
.
Response
,
error
)
{
return
c
.
response
,
c
.
err
})
}
func
(
c
*
FakeRESTClient
)
Delete
()
*
restclient
.
Request
{
runtimeScheme
:=
runtime
.
NewScheme
()
groupVersion
:=
schema
.
GroupVersion
{
Group
:
"meta.k8s.io"
,
Version
:
"v1"
}
runtimeScheme
.
AddKnownTypes
(
groupVersion
,
&
metaV1
.
DeleteOptions
{})
contentConfig
:=
restclient
.
ContentConfig
{
ContentType
:
"application/json"
,
GroupVersion
:
&
groupVersion
,
NegotiatedSerializer
:
scheme
.
Codecs
.
WithoutConversion
(),
}
runtimeScheme
:=
runtime
.
NewScheme
()
groupVersion
:=
schema
.
GroupVersion
{
Group
:
"meta.k8s.io"
,
Version
:
"v1"
}
runtimeScheme
.
AddKnownTypes
(
groupVersion
,
&
metaV1
.
DeleteOptions
{})
contentConfig
:=
restclient
.
ContentConfig
{
ContentType
:
"application/json"
,
GroupVersion
:
&
groupVersion
,
NegotiatedSerializer
:
scheme
.
Codecs
.
WithoutConversion
(),
}
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{
Negotiator
:
runtime
.
NewClientNegotiator
(
contentConfig
.
NegotiatedSerializer
,
groupVersion
),
},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"DELETE"
)
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{
Negotiator
:
runtime
.
NewClientNegotiator
(
contentConfig
.
NegotiatedSerializer
,
groupVersion
),
},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"DELETE"
)
}
func
(
c
*
FakeRESTClient
)
Put
()
*
restclient
.
Request
{
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"PUT"
)
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"PUT"
)
}
func
(
c
*
FakeRESTClient
)
Get
()
*
restclient
.
Request
{
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"GET"
)
return
restclient
.
NewRequestWithClient
(
&
url
.
URL
{
Path
:
"/api/v1/"
},
""
,
restclient
.
ClientContentConfig
{},
fake
.
CreateHTTPClient
(
NewFakeClientFunc
(
c
)))
.
Verb
(
"GET"
)
}
func
TestDeleteShouldPropagateErrorsAndChooseClient
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err"
)},
extensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from extensions"
)},
appsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from apps"
)},
}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err"
)},
extensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from extensions"
)},
appsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from apps"
)},
}
err
:=
verber
.
Delete
(
"replicaset"
,
true
,
"bar"
,
"baz"
)
err
:=
verber
.
Delete
(
"replicaset"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/replicasets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/replicasets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
err
=
verber
.
Delete
(
"service"
,
true
,
"bar"
,
"baz"
)
err
=
verber
.
Delete
(
"service"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/services/baz: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/services/baz: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
err
=
verber
.
Delete
(
"statefulset"
,
true
,
"bar"
,
"baz"
)
err
=
verber
.
Delete
(
"statefulset"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/statefulsets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Delete /api/v1/namespaces/bar/statefulsets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
}
func
TestGetShouldPropagateErrorsAndChoseClient
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err"
)},
extensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from extensions"
)},
appsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from apps"
)},
}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err"
)},
extensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from extensions"
)},
appsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewInvalid
(
"err from apps"
)},
}
_
,
err
:=
verber
.
Get
(
"replicaset"
,
true
,
"bar"
,
"baz"
)
_
,
err
:=
verber
.
Get
(
"replicaset"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/replicasets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/replicasets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
_
,
err
=
verber
.
Get
(
"service"
,
true
,
"bar"
,
"baz"
)
_
,
err
=
verber
.
Get
(
"service"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/services/baz: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/services/baz: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
_
,
err
=
verber
.
Get
(
"statefulset"
,
true
,
"bar"
,
"baz"
)
_
,
err
=
verber
.
Get
(
"statefulset"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/statefulsets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/namespaces/bar/statefulsets/baz: err from apps"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
}
func
TestDeleteShouldThrowErrorOnUnknownResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
err
:=
verber
.
Delete
(
"foo"
,
true
,
"bar"
,
"baz"
)
err
:=
verber
.
Delete
(
"foo"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
.
Error
())
}
}
func
TestGetShouldThrowErrorOnUnknownResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
_
,
err
:=
verber
.
Get
(
"foo"
,
true
,
"bar"
,
"baz"
)
_
,
err
:=
verber
.
Get
(
"foo"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
.
Error
())
}
}
func
TestPutShouldThrowErrorOnUnknownResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{},
apiExtensionsClient
:
&
FakeRESTClient
{
err
:
errors
.
NewNotFound
(
"err"
)},
}
err
:=
verber
.
Put
(
"foo"
,
false
,
""
,
"baz"
,
nil
)
err
:=
verber
.
Put
(
"foo"
,
false
,
""
,
"baz"
,
nil
)
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
.
Error
())
}
if
!
reflect
.
DeepEqual
(
err
.
Error
(),
"Get /api/v1/customresourcedefinitions/foo: err"
)
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
.
Error
())
}
}
func
TestGetShouldRespectNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
_
,
err
:=
verber
.
Get
(
"service"
,
false
,
""
,
"baz"
)
_
,
err
:=
verber
.
Get
(
"service"
,
false
,
""
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
)
}
}
func
TestPutShouldRespectNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
err
:=
verber
.
Put
(
"service"
,
false
,
""
,
"baz"
,
nil
)
err
:=
verber
.
Put
(
"service"
,
false
,
""
,
"baz"
,
nil
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
)
}
}
func
TestDeleteShouldRespectNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
err
:=
verber
.
Delete
(
"service"
,
false
,
""
,
"baz"
)
err
:=
verber
.
Delete
(
"service"
,
false
,
""
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set no namespace for namespaced resource kind: service"
))
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
)
}
}
func
TestGetShouldRespectNotNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
_
,
err
:=
verber
.
Get
(
"namespace"
,
true
,
"bar"
,
"baz"
)
_
,
err
:=
verber
.
Get
(
"namespace"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber get but got %#v"
,
err
)
}
}
func
TestPutShouldRespectNotNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
err
:=
verber
.
Put
(
"namespace"
,
true
,
"bar"
,
"baz"
,
nil
)
err
:=
verber
.
Put
(
"namespace"
,
true
,
"bar"
,
"baz"
,
nil
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber put but got %#v"
,
err
)
}
}
func
TestDeleteShouldRespectNotNamespacednessOfResourceKind
(
t
*
testing
.
T
)
{
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
verber
:=
resourceVerber
{
client
:
&
FakeRESTClient
{}}
err
:=
verber
.
Delete
(
"namespace"
,
true
,
"bar"
,
"baz"
)
err
:=
verber
.
Delete
(
"namespace"
,
true
,
"bar"
,
"baz"
)
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
err
,
errors
.
NewInvalid
(
"Set namespace for not-namespaced resource kind: namespace"
))
{
t
.
Fatalf
(
"Expected error on verber delete but got %#v"
,
err
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录