mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 06:54:01 +00:00
Merge pull request #1131 from smarterclayton/add_versioner_test
Expand api ResourceVersioner test
This commit is contained in:
commit
bd45c33d15
@ -68,11 +68,10 @@ func TestGenericJSONBase(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResourceVersionerOfAPI(t *testing.T) {
|
func TestResourceVersionerOfAPI(t *testing.T) {
|
||||||
type T struct {
|
testCases := map[string]struct {
|
||||||
Object interface{}
|
Object interface{}
|
||||||
Expected uint64
|
Expected uint64
|
||||||
}
|
}{
|
||||||
testCases := map[string]T{
|
|
||||||
"empty api object": {Service{}, 0},
|
"empty api object": {Service{}, 0},
|
||||||
"api object with version": {Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
"api object with version": {Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
||||||
"pointer to api object with version": {&Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
"pointer to api object with version": {&Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
||||||
@ -88,7 +87,10 @@ func TestResourceVersionerOfAPI(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
failingCases := map[string]T{
|
failingCases := map[string]struct {
|
||||||
|
Object interface{}
|
||||||
|
Expected uint64
|
||||||
|
}{
|
||||||
"not a valid object to try": {JSONBase{ResourceVersion: 1}, 1},
|
"not a valid object to try": {JSONBase{ResourceVersion: 1}, 1},
|
||||||
}
|
}
|
||||||
for key, testCase := range failingCases {
|
for key, testCase := range failingCases {
|
||||||
@ -97,4 +99,36 @@ func TestResourceVersionerOfAPI(t *testing.T) {
|
|||||||
t.Errorf("%s: expected error, got nil", key)
|
t.Errorf("%s: expected error, got nil", key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setCases := map[string]struct {
|
||||||
|
Object interface{}
|
||||||
|
Expected uint64
|
||||||
|
}{
|
||||||
|
"pointer to api object with version": {&Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
||||||
|
}
|
||||||
|
for key, testCase := range setCases {
|
||||||
|
if err := versioning.SetResourceVersion(testCase.Object, 5); err != nil {
|
||||||
|
t.Errorf("%s: unexpected error %#v", key, err)
|
||||||
|
}
|
||||||
|
actual, err := versioning.ResourceVersion(testCase.Object)
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("%s: unexpected error %#v", key, err)
|
||||||
|
}
|
||||||
|
if actual != 5 {
|
||||||
|
t.Errorf("%s: expected %d, got %d", key, 5, actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
failingSetCases := map[string]struct {
|
||||||
|
Object interface{}
|
||||||
|
Expected uint64
|
||||||
|
}{
|
||||||
|
"empty api object": {Service{}, 0},
|
||||||
|
"api object with version": {Service{JSONBase: JSONBase{ResourceVersion: 1}}, 1},
|
||||||
|
}
|
||||||
|
for key, testCase := range failingSetCases {
|
||||||
|
if err := versioning.SetResourceVersion(testCase.Object, 5); err == nil {
|
||||||
|
t.Errorf("%s: unexpected non-error", key)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user