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
f45a4b27
Commit
f45a4b27
authored
Aug 13, 2015
by
Wojciech Tyczynski
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12641 from jszczepkowski/etcd-test-get
Refactoring of get etcd tests.
parents
1470b324
f09a08d1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
33 additions
and
442 deletions
+33
-442
resttest.go
pkg/api/rest/resttest/resttest.go
+0
-0
etcd_test.go
pkg/registry/controller/etcd/etcd_test.go
+4
-82
etcd_test.go
pkg/registry/endpoint/etcd/etcd_test.go
+2
-26
etcd_test.go
pkg/registry/horizontalpodautoscaler/etcd/etcd_test.go
+5
-26
etcd_test.go
pkg/registry/minion/etcd/etcd_test.go
+2
-33
etcd_test.go
pkg/registry/namespace/etcd/etcd_test.go
+3
-25
etcd_test.go
pkg/registry/persistentvolume/etcd/etcd_test.go
+2
-26
etcd_test.go
pkg/registry/persistentvolumeclaim/etcd/etcd_test.go
+4
-28
etcd_test.go
pkg/registry/pod/etcd/etcd_test.go
+5
-99
etcd_test.go
pkg/registry/resourcequota/etcd/etcd_test.go
+5
-96
fake_etcd_client.go
pkg/tools/fake_etcd_client.go
+1
-1
No files found.
pkg/api/rest/resttest/resttest.go
View file @
f45a4b27
This diff is collapsed.
Click to expand it.
pkg/registry/controller/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -205,25 +205,6 @@ func TestCreateControllerWithConflictingNamespace(t *testing.T) {
...
@@ -205,25 +205,6 @@ func TestCreateControllerWithConflictingNamespace(t *testing.T) {
}
}
}
}
func
TestEtcdGetController
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
key
,
_
:=
makeControllerKey
(
ctx
,
validController
.
Name
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
validController
),
0
)
ctrl
,
err
:=
storage
.
Get
(
ctx
,
validController
.
Name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
controller
,
ok
:=
ctrl
.
(
*
api
.
ReplicationController
)
if
!
ok
{
t
.
Errorf
(
"Expected a controller, got %#v"
,
ctrl
)
}
if
controller
.
Name
!=
validController
.
Name
{
t
.
Errorf
(
"Unexpected controller: %#v"
,
controller
)
}
}
func
TestEtcdControllerValidatesUpdate
(
t
*
testing
.
T
)
{
func
TestEtcdControllerValidatesUpdate
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
ctx
:=
api
.
NewDefaultContext
()
storage
,
_
:=
newStorage
(
t
)
storage
,
_
:=
newStorage
(
t
)
...
@@ -331,70 +312,11 @@ func TestGenerationNumber(t *testing.T) {
...
@@ -331,70 +312,11 @@ func TestGenerationNumber(t *testing.T) {
}
}
}
}
// TestEtcdGetControllerDifferentNamespace ensures same-name controllers in different namespaces do not clash
func
TestEtcdGetController
(
t
*
testing
.
T
)
{
func
TestEtcdGetControllerDifferentNamespace
(
t
*
testing
.
T
)
{
storage
,
fakeClient
:=
newStorage
(
t
)
otherNs
:=
"other"
ctx1
:=
api
.
NewDefaultContext
()
ctx2
:=
api
.
WithNamespace
(
api
.
NewContext
(),
otherNs
)
key1
,
_
:=
makeControllerKey
(
ctx1
,
validController
.
Name
)
key2
,
_
:=
makeControllerKey
(
ctx2
,
validController
.
Name
)
key1
=
etcdtest
.
AddPrefix
(
key1
)
key2
=
etcdtest
.
AddPrefix
(
key2
)
fakeClient
.
Set
(
key1
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
validController
),
0
)
otherNsController
:=
validController
otherNsController
.
Namespace
=
otherNs
fakeClient
.
Set
(
key2
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
otherNsController
),
0
)
obj
,
err
:=
storage
.
Get
(
ctx1
,
validController
.
Name
)
ctrl1
,
_
:=
obj
.
(
*
api
.
ReplicationController
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
if
ctrl1
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected controller: %#v"
,
ctrl1
)
}
if
ctrl1
.
Namespace
!=
"default"
{
t
.
Errorf
(
"Unexpected controller: %#v"
,
ctrl1
)
}
obj
,
err
=
storage
.
Get
(
ctx2
,
validController
.
Name
)
ctrl2
,
_
:=
obj
.
(
*
api
.
ReplicationController
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
if
ctrl2
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected controller: %#v"
,
ctrl2
)
}
if
ctrl2
.
Namespace
!=
"other"
{
t
.
Errorf
(
"Unexpected controller: %#v"
,
ctrl2
)
}
}
func
TestEtcdGetControllerNotFound
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
storage
,
fakeClient
:=
newStorage
(
t
)
key
,
_
:=
makeControllerKey
(
ctx
,
validController
.
Name
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeClient
.
SetError
)
key
=
etcdtest
.
AddPrefix
(
key
)
copy
:=
validController
test
.
TestGet
(
&
copy
)
fakeClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
nil
,
},
E
:
tools
.
EtcdErrorNotFound
,
}
ctrl
,
err
:=
storage
.
Get
(
ctx
,
validController
.
Name
)
if
ctrl
!=
nil
{
t
.
Errorf
(
"Unexpected non-nil controller: %#v"
,
ctrl
)
}
if
!
errors
.
IsNotFound
(
err
)
{
t
.
Errorf
(
"Unexpected error returned: %#v"
,
err
)
}
}
}
func
TestEtcdUpdateController
(
t
*
testing
.
T
)
{
func
TestEtcdUpdateController
(
t
*
testing
.
T
)
{
...
...
pkg/registry/endpoint/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -154,34 +154,10 @@ func TestEtcdListEndpoints(t *testing.T) {
...
@@ -154,34 +154,10 @@ func TestEtcdListEndpoints(t *testing.T) {
}
}
func
TestEtcdGetEndpoints
(
t
*
testing
.
T
)
{
func
TestEtcdGetEndpoints
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
storage
,
fakeClient
:=
newStorage
(
t
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeClient
.
SetError
)
endpoints
:=
validNewEndpoints
()
endpoints
:=
validNewEndpoints
()
name
:=
endpoints
.
Name
test
.
TestGet
(
endpoints
)
key
,
_
:=
storage
.
KeyFunc
(
ctx
,
name
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
endpoints
),
0
)
response
,
err
:=
fakeClient
.
Get
(
key
,
false
,
false
)
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error %v"
,
err
)
}
var
endpointsOut
api
.
Endpoints
err
=
latest
.
Codec
.
DecodeInto
([]
byte
(
response
.
Node
.
Value
),
&
endpointsOut
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
obj
,
err
:=
storage
.
Get
(
ctx
,
name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
got
:=
obj
.
(
*
api
.
Endpoints
)
endpoints
.
ObjectMeta
.
ResourceVersion
=
got
.
ObjectMeta
.
ResourceVersion
if
e
,
a
:=
endpoints
,
got
;
!
api
.
Semantic
.
DeepEqual
(
*
e
,
*
a
)
{
t
.
Errorf
(
"Unexpected endpoints: %#v, expected %#v"
,
e
,
a
)
}
}
}
func
TestListEmptyEndpointsList
(
t
*
testing
.
T
)
{
func
TestListEmptyEndpointsList
(
t
*
testing
.
T
)
{
...
...
pkg/registry/horizontalpodautoscaler/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -136,32 +136,11 @@ func TestDelete(t *testing.T) {
...
@@ -136,32 +136,11 @@ func TestDelete(t *testing.T) {
test
.
TestDeleteNoGraceful
(
createFn
,
gracefulSetFn
)
test
.
TestDeleteNoGraceful
(
createFn
,
gracefulSetFn
)
}
}
func
TestEtcdGet
(
t
*
testing
.
T
)
{
func
TestGet
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
storage
,
fakeEtcdClient
,
_
:=
newStorage
(
t
)
registry
,
fakeClient
,
_
:=
newStorage
(
t
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeEtcdClient
.
SetError
)
autoscaler
:=
validNewHorizontalPodAutoscaler
(
"foo3"
)
autoscaler
:=
validNewHorizontalPodAutoscaler
(
"foo"
)
name
:=
autoscaler
.
Name
test
.
TestGet
(
autoscaler
)
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
name
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
testapi
.
Codec
(),
autoscaler
),
0
)
response
,
err
:=
fakeClient
.
Get
(
key
,
false
,
false
)
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error %v"
,
err
)
}
var
autoscalerOut
expapi
.
HorizontalPodAutoscaler
err
=
testapi
.
Codec
()
.
DecodeInto
([]
byte
(
response
.
Node
.
Value
),
&
autoscalerOut
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
obj
,
err
:=
registry
.
Get
(
ctx
,
name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
got
:=
obj
.
(
*
expapi
.
HorizontalPodAutoscaler
)
autoscaler
.
ObjectMeta
.
ResourceVersion
=
got
.
ObjectMeta
.
ResourceVersion
if
e
,
a
:=
autoscaler
,
got
;
!
api
.
Semantic
.
DeepEqual
(
*
e
,
*
a
)
{
t
.
Errorf
(
"Unexpected autoscaler: %#v, expected %#v"
,
e
,
a
)
}
}
}
func
TestEmptyList
(
t
*
testing
.
T
)
{
func
TestEmptyList
(
t
*
testing
.
T
)
{
...
...
pkg/registry/minion/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"time"
"time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/rest/resttest"
"k8s.io/kubernetes/pkg/api/rest/resttest"
...
@@ -211,23 +210,10 @@ func TestEtcdListNodesMatch(t *testing.T) {
...
@@ -211,23 +210,10 @@ func TestEtcdListNodesMatch(t *testing.T) {
}
}
func
TestEtcdGetNode
(
t
*
testing
.
T
)
{
func
TestEtcdGetNode
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
storage
,
fakeClient
:=
newStorage
(
t
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeClient
.
SetError
)
.
ClusterScope
()
node
:=
validNewNode
()
node
:=
validNewNode
()
key
,
_
:=
storage
.
KeyFunc
(
ctx
,
node
.
Name
)
test
.
TestGet
(
node
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
node
),
0
)
nodeObj
,
err
:=
storage
.
Get
(
ctx
,
node
.
Name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
got
:=
nodeObj
.
(
*
api
.
Node
)
node
.
ObjectMeta
.
ResourceVersion
=
got
.
ObjectMeta
.
ResourceVersion
if
e
,
a
:=
node
,
got
;
!
api
.
Semantic
.
DeepEqual
(
*
e
,
*
a
)
{
t
.
Errorf
(
"Unexpected node: %#v, expected %#v"
,
e
,
a
)
}
}
}
func
TestEtcdUpdateEndpoints
(
t
*
testing
.
T
)
{
func
TestEtcdUpdateEndpoints
(
t
*
testing
.
T
)
{
...
@@ -260,23 +246,6 @@ func TestEtcdUpdateEndpoints(t *testing.T) {
...
@@ -260,23 +246,6 @@ func TestEtcdUpdateEndpoints(t *testing.T) {
}
}
}
}
func
TestEtcdGetNodeNotFound
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
key
:=
etcdtest
.
AddPrefix
(
"minions/foo"
)
fakeClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
nil
,
},
E
:
tools
.
EtcdErrorNotFound
,
}
_
,
err
:=
storage
.
Get
(
ctx
,
"foo"
)
if
!
errors
.
IsNotFound
(
err
)
{
t
.
Errorf
(
"Unexpected error returned: %#v"
,
err
)
}
}
func
TestEtcdDeleteNode
(
t
*
testing
.
T
)
{
func
TestEtcdDeleteNode
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewContext
()
ctx
:=
api
.
NewContext
()
storage
,
fakeClient
:=
newStorage
(
t
)
storage
,
fakeClient
:=
newStorage
(
t
)
...
...
pkg/registry/namespace/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -284,32 +284,10 @@ func TestNamespaceDecode(t *testing.T) {
...
@@ -284,32 +284,10 @@ func TestNamespaceDecode(t *testing.T) {
}
}
func
TestGet
(
t
*
testing
.
T
)
{
func
TestGet
(
t
*
testing
.
T
)
{
expect
:=
validNewNamespace
()
expect
.
Status
.
Phase
=
api
.
NamespaceActive
storage
,
fakeEtcdClient
,
_
:=
newStorage
(
t
)
storage
,
fakeEtcdClient
,
_
:=
newStorage
(
t
)
ctx
:=
api
.
NewContext
()
test
:=
resttest
.
New
(
t
,
storage
,
fakeEtcdClient
.
SetError
)
.
ClusterScope
()
key
,
err
:=
storage
.
Etcd
.
KeyFunc
(
ctx
,
"foo"
)
namespace
:=
validNewNamespace
()
key
=
etcdtest
.
AddPrefix
(
key
)
test
.
TestGet
(
namespace
)
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected key error: %v"
,
err
)
}
fakeEtcdClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
&
etcd
.
Node
{
Value
:
runtime
.
EncodeOrDie
(
latest
.
Codec
,
expect
),
},
},
}
obj
,
err
:=
storage
.
Get
(
api
.
NewContext
(),
"foo"
)
namespace
:=
obj
.
(
*
api
.
Namespace
)
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
expect
.
Status
.
Phase
=
api
.
NamespaceActive
if
e
,
a
:=
expect
,
namespace
;
!
api
.
Semantic
.
DeepEqual
(
e
,
a
)
{
t
.
Errorf
(
"Unexpected namespace: %s"
,
util
.
ObjectDiff
(
e
,
a
))
}
}
}
func
TestDeleteNamespace
(
t
*
testing
.
T
)
{
func
TestDeleteNamespace
(
t
*
testing
.
T
)
{
...
...
pkg/registry/persistentvolume/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -149,34 +149,10 @@ func TestEtcdListPersistentVolumes(t *testing.T) {
...
@@ -149,34 +149,10 @@ func TestEtcdListPersistentVolumes(t *testing.T) {
}
}
func
TestEtcdGetPersistentVolumes
(
t
*
testing
.
T
)
{
func
TestEtcdGetPersistentVolumes
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewContext
()
storage
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
storage
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeClient
.
SetError
)
.
ClusterScope
()
persistentVolume
:=
validNewPersistentVolume
(
"foo"
)
persistentVolume
:=
validNewPersistentVolume
(
"foo"
)
name
:=
persistentVolume
.
Name
test
.
TestGet
(
persistentVolume
)
key
,
_
:=
storage
.
KeyFunc
(
ctx
,
name
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
persistentVolume
),
0
)
response
,
err
:=
fakeClient
.
Get
(
key
,
false
,
false
)
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error %v"
,
err
)
}
var
persistentVolumeOut
api
.
PersistentVolume
err
=
latest
.
Codec
.
DecodeInto
([]
byte
(
response
.
Node
.
Value
),
&
persistentVolumeOut
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
obj
,
err
:=
storage
.
Get
(
ctx
,
name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
got
:=
obj
.
(
*
api
.
PersistentVolume
)
persistentVolume
.
ObjectMeta
.
ResourceVersion
=
got
.
ObjectMeta
.
ResourceVersion
if
e
,
a
:=
persistentVolume
,
got
;
!
api
.
Semantic
.
DeepEqual
(
*
e
,
*
a
)
{
t
.
Errorf
(
"Unexpected persistentVolume: %#v, expected %#v"
,
e
,
a
)
}
}
}
func
TestListEmptyPersistentVolumesList
(
t
*
testing
.
T
)
{
func
TestListEmptyPersistentVolumesList
(
t
*
testing
.
T
)
{
...
...
pkg/registry/persistentvolumeclaim/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -147,34 +147,10 @@ func TestEtcdListPersistentVolumeClaims(t *testing.T) {
...
@@ -147,34 +147,10 @@ func TestEtcdListPersistentVolumeClaims(t *testing.T) {
}
}
func
TestEtcdGetPersistentVolumeClaims
(
t
*
testing
.
T
)
{
func
TestEtcdGetPersistentVolumeClaims
(
t
*
testing
.
T
)
{
ctx
:=
api
.
NewDefaultContext
()
storage
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
registry
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeClient
.
SetError
)
persistentVolume
:=
validNewPersistentVolumeClaim
(
"foo"
,
api
.
NamespaceDefault
)
claim
:=
validNewPersistentVolumeClaim
(
"foo"
,
api
.
NamespaceDefault
)
name
:=
persistentVolume
.
Name
test
.
TestGet
(
claim
)
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
name
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
persistentVolume
),
0
)
response
,
err
:=
fakeClient
.
Get
(
key
,
false
,
false
)
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error %v"
,
err
)
}
var
persistentVolumeOut
api
.
PersistentVolumeClaim
err
=
latest
.
Codec
.
DecodeInto
([]
byte
(
response
.
Node
.
Value
),
&
persistentVolumeOut
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
obj
,
err
:=
registry
.
Get
(
ctx
,
name
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
got
:=
obj
.
(
*
api
.
PersistentVolumeClaim
)
persistentVolume
.
ObjectMeta
.
ResourceVersion
=
got
.
ObjectMeta
.
ResourceVersion
if
e
,
a
:=
persistentVolume
,
got
;
!
api
.
Semantic
.
DeepEqual
(
*
e
,
*
a
)
{
t
.
Errorf
(
"Unexpected persistentVolume: %#v, expected %#v"
,
e
,
a
)
}
}
}
func
TestListEmptyPersistentVolumeClaimsList
(
t
*
testing
.
T
)
{
func
TestListEmptyPersistentVolumeClaimsList
(
t
*
testing
.
T
)
{
...
...
pkg/registry/pod/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -388,33 +388,6 @@ func TestPodDecode(t *testing.T) {
...
@@ -388,33 +388,6 @@ func TestPodDecode(t *testing.T) {
}
}
}
}
func
TestGet
(
t
*
testing
.
T
)
{
expect
:=
validNewPod
()
expect
.
Status
.
Phase
=
api
.
PodRunning
expect
.
Spec
.
NodeName
=
"machine"
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
key
:=
etcdtest
.
AddPrefix
(
"/pods/test/foo"
)
fakeEtcdClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
&
etcd
.
Node
{
Value
:
runtime
.
EncodeOrDie
(
latest
.
Codec
,
expect
),
},
},
}
storage
:=
NewStorage
(
etcdStorage
,
nil
)
.
Pod
obj
,
err
:=
storage
.
Get
(
api
.
WithNamespace
(
api
.
NewContext
(),
"test"
),
"foo"
)
pod
:=
obj
.
(
*
api
.
Pod
)
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
if
e
,
a
:=
expect
,
pod
;
!
api
.
Semantic
.
DeepEqual
(
e
,
a
)
{
t
.
Errorf
(
"Unexpected pod: %s"
,
util
.
ObjectDiff
(
e
,
a
))
}
}
// TODO: remove, this is covered by RESTTest.TestCreate
// TODO: remove, this is covered by RESTTest.TestCreate
func
TestPodStorageValidatesCreate
(
t
*
testing
.
T
)
{
func
TestPodStorageValidatesCreate
(
t
*
testing
.
T
)
{
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
...
@@ -661,79 +634,12 @@ func TestDeletePod(t *testing.T) {
...
@@ -661,79 +634,12 @@ func TestDeletePod(t *testing.T) {
}
}
}
}
// TestEtcdGetDifferentNamespace ensures same-name pods in different namespaces do not clash
func
TestEtcdGetDifferentNamespace
(
t
*
testing
.
T
)
{
registry
,
_
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
ctx1
:=
api
.
NewDefaultContext
()
ctx2
:=
api
.
WithNamespace
(
api
.
NewContext
(),
"other"
)
key1
,
_
:=
registry
.
KeyFunc
(
ctx1
,
"foo"
)
key2
,
_
:=
registry
.
KeyFunc
(
ctx2
,
"foo"
)
key1
=
etcdtest
.
AddPrefix
(
key1
)
key2
=
etcdtest
.
AddPrefix
(
key2
)
fakeClient
.
Set
(
key1
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
Pod
{
ObjectMeta
:
api
.
ObjectMeta
{
Namespace
:
"default"
,
Name
:
"foo"
}}),
0
)
fakeClient
.
Set
(
key2
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
Pod
{
ObjectMeta
:
api
.
ObjectMeta
{
Namespace
:
"other"
,
Name
:
"foo"
}}),
0
)
obj
,
err
:=
registry
.
Get
(
ctx1
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
pod1
:=
obj
.
(
*
api
.
Pod
)
if
pod1
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected pod: %#v"
,
pod1
)
}
if
pod1
.
Namespace
!=
"default"
{
t
.
Errorf
(
"Unexpected pod: %#v"
,
pod1
)
}
obj
,
err
=
registry
.
Get
(
ctx2
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
pod2
:=
obj
.
(
*
api
.
Pod
)
if
pod2
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected pod: %#v"
,
pod2
)
}
if
pod2
.
Namespace
!=
"other"
{
t
.
Errorf
(
"Unexpected pod: %#v"
,
pod2
)
}
}
func
TestEtcdGet
(
t
*
testing
.
T
)
{
func
TestEtcdGet
(
t
*
testing
.
T
)
{
registry
,
_
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
ctx
:=
api
.
NewDefaultContext
()
storage
:=
NewStorage
(
etcdStorage
,
nil
)
.
Pod
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
"foo"
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeEtcdClient
.
SetError
)
key
=
etcdtest
.
AddPrefix
(
key
)
pod
:=
validNewPod
()
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
Pod
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"foo"
}}),
0
)
test
.
TestGet
(
pod
)
obj
,
err
:=
registry
.
Get
(
ctx
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
pod
:=
obj
.
(
*
api
.
Pod
)
if
pod
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected pod: %#v"
,
pod
)
}
}
func
TestEtcdGetNotFound
(
t
*
testing
.
T
)
{
registry
,
_
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
ctx
:=
api
.
NewDefaultContext
()
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
"foo"
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
nil
,
},
E
:
tools
.
EtcdErrorNotFound
,
}
_
,
err
:=
registry
.
Get
(
ctx
,
"foo"
)
if
!
errors
.
IsNotFound
(
err
)
{
t
.
Errorf
(
"Unexpected error returned: %#v"
,
err
)
}
}
}
func
TestEtcdCreate
(
t
*
testing
.
T
)
{
func
TestEtcdCreate
(
t
*
testing
.
T
)
{
...
...
pkg/registry/resourcequota/etcd/etcd_test.go
View file @
f45a4b27
...
@@ -314,30 +314,6 @@ func TestResourceQuotaDecode(t *testing.T) {
...
@@ -314,30 +314,6 @@ func TestResourceQuotaDecode(t *testing.T) {
}
}
}
}
func
TestGet
(
t
*
testing
.
T
)
{
expect
:=
validNewResourceQuota
()
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
storage
,
_
:=
NewStorage
(
etcdStorage
)
key
:=
"/resourcequotas/test/foo"
key
=
etcdtest
.
AddPrefix
(
key
)
fakeEtcdClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
&
etcd
.
Node
{
Value
:
runtime
.
EncodeOrDie
(
latest
.
Codec
,
expect
),
},
},
}
obj
,
err
:=
storage
.
Get
(
api
.
WithNamespace
(
api
.
NewContext
(),
"test"
),
"foo"
)
resourcequota
:=
obj
.
(
*
api
.
ResourceQuota
)
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
if
e
,
a
:=
expect
,
resourcequota
;
!
api
.
Semantic
.
DeepEqual
(
e
,
a
)
{
t
.
Errorf
(
"Unexpected resourcequota: %s"
,
util
.
ObjectDiff
(
e
,
a
))
}
}
func
TestDeleteResourceQuota
(
t
*
testing
.
T
)
{
func
TestDeleteResourceQuota
(
t
*
testing
.
T
)
{
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
fakeEtcdClient
.
ChangeIndex
=
1
fakeEtcdClient
.
ChangeIndex
=
1
...
@@ -366,79 +342,12 @@ func TestDeleteResourceQuota(t *testing.T) {
...
@@ -366,79 +342,12 @@ func TestDeleteResourceQuota(t *testing.T) {
}
}
}
}
// TestEtcdGetDifferentNamespace ensures same-name resourcequotas in different namespaces do not clash
func
TestEtcdGetDifferentNamespace
(
t
*
testing
.
T
)
{
registry
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
ctx1
:=
api
.
NewDefaultContext
()
ctx2
:=
api
.
WithNamespace
(
api
.
NewContext
(),
"other"
)
key1
,
_
:=
registry
.
KeyFunc
(
ctx1
,
"foo"
)
key2
,
_
:=
registry
.
KeyFunc
(
ctx2
,
"foo"
)
key1
=
etcdtest
.
AddPrefix
(
key1
)
key2
=
etcdtest
.
AddPrefix
(
key2
)
fakeClient
.
Set
(
key1
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
ResourceQuota
{
ObjectMeta
:
api
.
ObjectMeta
{
Namespace
:
"default"
,
Name
:
"foo"
}}),
0
)
fakeClient
.
Set
(
key2
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
ResourceQuota
{
ObjectMeta
:
api
.
ObjectMeta
{
Namespace
:
"other"
,
Name
:
"foo"
}}),
0
)
obj
,
err
:=
registry
.
Get
(
ctx1
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
resourcequota1
:=
obj
.
(
*
api
.
ResourceQuota
)
if
resourcequota1
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected resourcequota: %#v"
,
resourcequota1
)
}
if
resourcequota1
.
Namespace
!=
"default"
{
t
.
Errorf
(
"Unexpected resourcequota: %#v"
,
resourcequota1
)
}
obj
,
err
=
registry
.
Get
(
ctx2
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
resourcequota2
:=
obj
.
(
*
api
.
ResourceQuota
)
if
resourcequota2
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected resourcequota: %#v"
,
resourcequota2
)
}
if
resourcequota2
.
Namespace
!=
"other"
{
t
.
Errorf
(
"Unexpected resourcequota: %#v"
,
resourcequota2
)
}
}
func
TestEtcdGet
(
t
*
testing
.
T
)
{
func
TestEtcdGet
(
t
*
testing
.
T
)
{
registry
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
fakeEtcdClient
,
etcdStorage
:=
newEtcdStorage
(
t
)
ctx
:=
api
.
NewDefaultContext
()
storage
,
_
:=
NewStorage
(
etcdStorage
)
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
"foo"
)
test
:=
resttest
.
New
(
t
,
storage
,
fakeEtcdClient
.
SetError
)
key
=
etcdtest
.
AddPrefix
(
key
)
resourcequota
:=
validNewResourceQuota
()
fakeClient
.
Set
(
key
,
runtime
.
EncodeOrDie
(
latest
.
Codec
,
&
api
.
ResourceQuota
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"foo"
}}),
0
)
test
.
TestGet
(
resourcequota
)
obj
,
err
:=
registry
.
Get
(
ctx
,
"foo"
)
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
resourcequota
:=
obj
.
(
*
api
.
ResourceQuota
)
if
resourcequota
.
Name
!=
"foo"
{
t
.
Errorf
(
"Unexpected resourcequota: %#v"
,
resourcequota
)
}
}
func
TestEtcdGetNotFound
(
t
*
testing
.
T
)
{
registry
,
_
,
fakeClient
,
_
:=
newStorage
(
t
)
ctx
:=
api
.
NewDefaultContext
()
key
,
_
:=
registry
.
KeyFunc
(
ctx
,
"foo"
)
key
=
etcdtest
.
AddPrefix
(
key
)
fakeClient
.
Data
[
key
]
=
tools
.
EtcdResponseWithError
{
R
:
&
etcd
.
Response
{
Node
:
nil
,
},
E
:
tools
.
EtcdErrorNotFound
,
}
_
,
err
:=
registry
.
Get
(
ctx
,
"foo"
)
if
!
errors
.
IsNotFound
(
err
)
{
t
.
Errorf
(
"Unexpected error returned: %#v"
,
err
)
}
}
}
func
TestEtcdCreateFailsWithoutNamespace
(
t
*
testing
.
T
)
{
func
TestEtcdCreateFailsWithoutNamespace
(
t
*
testing
.
T
)
{
...
...
pkg/tools/fake_etcd_client.go
View file @
f45a4b27
...
@@ -136,7 +136,7 @@ func (f *FakeEtcdClient) Get(key string, sort, recursive bool) (*etcd.Response,
...
@@ -136,7 +136,7 @@ func (f *FakeEtcdClient) Get(key string, sort, recursive bool) (*etcd.Response,
result
:=
f
.
Data
[
key
]
result
:=
f
.
Data
[
key
]
if
result
.
R
==
nil
{
if
result
.
R
==
nil
{
if
_
,
ok
:=
f
.
expectNotFoundGetSet
[
key
];
!
ok
{
if
_
,
ok
:=
f
.
expectNotFoundGetSet
[
key
];
!
ok
{
f
.
t
.
Fatal
f
(
"data for %s was not defined prior to invoking Get"
,
key
)
f
.
t
.
Log
f
(
"data for %s was not defined prior to invoking Get"
,
key
)
}
}
return
&
etcd
.
Response
{},
f
.
NewError
(
EtcdErrorCodeNotFound
)
return
&
etcd
.
Response
{},
f
.
NewError
(
EtcdErrorCodeNotFound
)
}
}
...
...
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