Merge pull request #1131 from smarterclayton/add_versioner_test

Expand api ResourceVersioner test
This commit is contained in:
Tim Hockin 2014-09-02 09:36:48 -07:00
commit bd45c33d15

View File

@ -68,11 +68,10 @@ func TestGenericJSONBase(t *testing.T) {
}
func TestResourceVersionerOfAPI(t *testing.T) {
type T struct {
testCases := map[string]struct {
Object interface{}
Expected uint64
}
testCases := map[string]T{
}{
"empty api object": {Service{}, 0},
"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},
}
for key, testCase := range failingCases {
@ -97,4 +99,36 @@ func TestResourceVersionerOfAPI(t *testing.T) {
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)
}
}
}