rename mocks to fakes and add nil check

This commit is contained in:
Kevin Wiesmüller
2019-02-19 19:13:49 +01:00
parent 2f8e8fa3af
commit 96d4fa7e46
2 changed files with 28 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library") load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@@ -34,3 +34,16 @@ filegroup(
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
) )
go_test(
name = "go_default_test",
srcs = ["fieldmanager_test.go"],
embed = [":go_default_library"],
deps = [
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
],
)

View File

@@ -29,24 +29,24 @@ import (
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager" "k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager"
) )
type mockObjectConvertor struct{} type fakeObjectConvertor struct{}
func (c *mockObjectConvertor) Convert(in, out, context interface{}) error { func (c *fakeObjectConvertor) Convert(in, out, context interface{}) error {
out = in out = in
return nil return nil
} }
func (c *mockObjectConvertor) ConvertToVersion(in runtime.Object, _ runtime.GroupVersioner) (runtime.Object, error) { func (c *fakeObjectConvertor) ConvertToVersion(in runtime.Object, _ runtime.GroupVersioner) (runtime.Object, error) {
return in, nil return in, nil
} }
func (c *mockObjectConvertor) ConvertFieldLabel(_ schema.GroupVersionKind, _, _ string) (string, string, error) { func (c *fakeObjectConvertor) ConvertFieldLabel(_ schema.GroupVersionKind, _, _ string) (string, string, error) {
return "", "", errors.New("not implemented") return "", "", errors.New("not implemented")
} }
type mockObjectDefaulter struct{} type fakeObjectDefaulter struct{}
func (d *mockObjectDefaulter) Default(in runtime.Object) {} func (d *fakeObjectDefaulter) Default(in runtime.Object) {}
func NewTestFieldManager(t *testing.T) *fieldmanager.FieldManager { func NewTestFieldManager(t *testing.T) *fieldmanager.FieldManager {
gv := schema.GroupVersion{ gv := schema.GroupVersion{
@@ -55,25 +55,28 @@ func NewTestFieldManager(t *testing.T) *fieldmanager.FieldManager {
} }
return fieldmanager.NewCRDFieldManager( return fieldmanager.NewCRDFieldManager(
&mockObjectConvertor{}, &fakeObjectConvertor{},
&mockObjectDefaulter{}, &fakeObjectDefaulter{},
gv, gv,
gv, gv,
) )
} }
func TestFieldManagerCreation(t *testing.T) { func TestFieldManagerCreation(t *testing.T) {
_ = NewTestFieldManager(t) if NewTestFieldManager(t) == nil {
t.Fatal("failed to create FieldManager")
}
} }
func TestApplyStripsFields(t *testing.T) { func TestApplyStripsFields(t *testing.T) {
f := NewTestFieldManager(t) f := NewTestFieldManager(t)
ti, _ := time.Parse(time.RFC3339, "2016-05-19T09:59:00Z")
obj := &corev1.Pod{ obj := &corev1.Pod{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "a", Name: "a",
Namespace: "a", Namespace: "a",
CreationTimestamp: metav1.Time{Time: time.Now().UTC()}, CreationTimestamp: metav1.Time{Time: ti},
SelfLink: "a", SelfLink: "a",
}, },
} }
@@ -84,7 +87,7 @@ func TestApplyStripsFields(t *testing.T) {
"metadata": { "metadata": {
"name": "b", "name": "b",
"namespace": "b", "namespace": "b",
"creationTimestamp": "`+time.Now().UTC().Format(time.RFC3339)+`", "creationTimestamp": "`+ti.Add(1*time.Minute).Format(time.RFC3339)+`",
"selfLink": "b", "selfLink": "b",
"uid": "b", "uid": "b",
"resourceVersion": "b" "resourceVersion": "b"
@@ -137,4 +140,3 @@ func TestApplyDoesNotStripLabels(t *testing.T) {
t.Fatalf("labels shouldn't get stripped on apply: %v", m) t.Fatalf("labels shouldn't get stripped on apply: %v", m)
} }
} }