func TestErrorNew(t *testing.T) { err := NewAlreadyExists(api.Resource("tests"), "1") if !IsAlreadyExists(err) { t.Errorf("expected to be %s", unversioned.StatusReasonAlreadyExists) } if IsConflict(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonConflict) } if IsNotFound(err) { t.Errorf(fmt.Sprintf("expected to not be %s", unversioned.StatusReasonNotFound)) } if IsInvalid(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonInvalid) } if IsBadRequest(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonBadRequest) } if IsForbidden(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonForbidden) } if IsServerTimeout(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonServerTimeout) } if IsMethodNotSupported(err) { t.Errorf("expected to not be %s", unversioned.StatusReasonMethodNotAllowed) } if !IsConflict(NewConflict(api.Resource("tests"), "2", errors.New("message"))) { t.Errorf("expected to be conflict") } if !IsNotFound(NewNotFound(api.Resource("tests"), "3")) { t.Errorf("expected to be %s", unversioned.StatusReasonNotFound) } if !IsInvalid(NewInvalid(api.Kind("Test"), "2", nil)) { t.Errorf("expected to be %s", unversioned.StatusReasonInvalid) } if !IsBadRequest(NewBadRequest("reason")) { t.Errorf("expected to be %s", unversioned.StatusReasonBadRequest) } if !IsForbidden(NewForbidden(api.Resource("tests"), "2", errors.New("reason"))) { t.Errorf("expected to be %s", unversioned.StatusReasonForbidden) } if !IsUnauthorized(NewUnauthorized("reason")) { t.Errorf("expected to be %s", unversioned.StatusReasonUnauthorized) } if !IsServerTimeout(NewServerTimeout(api.Resource("tests"), "reason", 0)) { t.Errorf("expected to be %s", unversioned.StatusReasonServerTimeout) } if time, ok := SuggestsClientDelay(NewServerTimeout(api.Resource("tests"), "doing something", 10)); time != 10 || !ok { t.Errorf("expected to be %s", unversioned.StatusReasonServerTimeout) } if time, ok := SuggestsClientDelay(NewTimeoutError("test reason", 10)); time != 10 || !ok { t.Errorf("expected to be %s", unversioned.StatusReasonTimeout) } if !IsMethodNotSupported(NewMethodNotSupported(api.Resource("foos"), "delete")) { t.Errorf("expected to be %s", unversioned.StatusReasonMethodNotAllowed) } }
func TestErrors(t *testing.T) { o := NewObjects(api.Scheme, api.Codecs.UniversalDecoder()) o.Add(&api.List{ Items: []runtime.Object{ // This first call to List will return this error &(errors.NewNotFound(api.Resource("ServiceList"), "").(*errors.StatusError).ErrStatus), // The second call to List will return this error &(errors.NewForbidden(api.Resource("ServiceList"), "", nil).(*errors.StatusError).ErrStatus), }, }) client := &Fake{} client.AddReactor("*", "*", ObjectReaction(o, testapi.Default.RESTMapper())) _, err := client.Services("test").List(api.ListOptions{}) if !errors.IsNotFound(err) { t.Fatalf("unexpected error: %v", err) } t.Logf("error: %#v", err.(*errors.StatusError).Status()) _, err = client.Services("test").List(api.ListOptions{}) if !errors.IsForbidden(err) { t.Fatalf("unexpected error: %v", err) } }