Error instead of crash on GetRef of nil object

This commit is contained in:
Daniel Smith 2014-10-17 10:47:21 -07:00
parent 34a64a270d
commit 0c58ee98c8
2 changed files with 11 additions and 0 deletions

View File

@ -17,18 +17,24 @@ limitations under the License.
package api
import (
"errors"
"fmt"
"regexp"
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
)
var ErrNilObject = errors.New("Can't reference a nil object")
var versionFromSelfLink = regexp.MustCompile("/api/([^/]*)/")
// GetReference returns an ObjectReference which refers to the given
// object, or an error if the object doesn't follow the conventions
// that would allow this.
func GetReference(obj runtime.Object) (*ObjectReference, error) {
if obj == nil {
return nil, ErrNilObject
}
jsonBase, err := runtime.FindTypeMeta(obj)
if err != nil {
return nil, err

View File

@ -80,6 +80,11 @@ func TestGetReference(t *testing.T) {
ref: nil,
shouldErr: true,
},
"errorNil": {
obj: nil,
ref: nil,
shouldErr: true,
},
}
for name, item := range table {