Accept TypedReference in AsOwner and AsController
This updates the AsOwner and AsController to use TypedReference, which is a more scoped version of ObjectReference that still contains all necessary fields to create a controller or owner reference for an object. Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
This commit is contained in:
parent
adb65bc635
commit
1d97e32d05
|
|
@ -81,7 +81,7 @@ func TypedReferenceTo(o metav1.Object, of schema.GroupVersionKind) *v1alpha1.Typ
|
||||||
}
|
}
|
||||||
|
|
||||||
// AsOwner converts the supplied object reference to an owner reference.
|
// AsOwner converts the supplied object reference to an owner reference.
|
||||||
func AsOwner(r *corev1.ObjectReference) metav1.OwnerReference {
|
func AsOwner(r *v1alpha1.TypedReference) metav1.OwnerReference {
|
||||||
return metav1.OwnerReference{
|
return metav1.OwnerReference{
|
||||||
APIVersion: r.APIVersion,
|
APIVersion: r.APIVersion,
|
||||||
Kind: r.Kind,
|
Kind: r.Kind,
|
||||||
|
|
@ -92,7 +92,7 @@ func AsOwner(r *corev1.ObjectReference) metav1.OwnerReference {
|
||||||
|
|
||||||
// AsController converts the supplied object reference to a controller
|
// AsController converts the supplied object reference to a controller
|
||||||
// reference. You may also consider using metav1.NewControllerRef.
|
// reference. You may also consider using metav1.NewControllerRef.
|
||||||
func AsController(r *corev1.ObjectReference) metav1.OwnerReference {
|
func AsController(r *v1alpha1.TypedReference) metav1.OwnerReference {
|
||||||
c := true
|
c := true
|
||||||
ref := AsOwner(r)
|
ref := AsOwner(r)
|
||||||
ref.Controller = &c
|
ref.Controller = &c
|
||||||
|
|
|
||||||
|
|
@ -131,14 +131,13 @@ func TestTypedReferenceTo(t *testing.T) {
|
||||||
|
|
||||||
func TestAsOwner(t *testing.T) {
|
func TestAsOwner(t *testing.T) {
|
||||||
tests := map[string]struct {
|
tests := map[string]struct {
|
||||||
r *corev1.ObjectReference
|
r *v1alpha1.TypedReference
|
||||||
want metav1.OwnerReference
|
want metav1.OwnerReference
|
||||||
}{
|
}{
|
||||||
"Successful": {
|
"Successful": {
|
||||||
r: &corev1.ObjectReference{
|
r: &v1alpha1.TypedReference{
|
||||||
APIVersion: groupVersion,
|
APIVersion: groupVersion,
|
||||||
Kind: kind,
|
Kind: kind,
|
||||||
Namespace: name,
|
|
||||||
Name: name,
|
Name: name,
|
||||||
UID: uid,
|
UID: uid,
|
||||||
},
|
},
|
||||||
|
|
@ -165,14 +164,13 @@ func TestAsController(t *testing.T) {
|
||||||
controller := true
|
controller := true
|
||||||
|
|
||||||
tests := map[string]struct {
|
tests := map[string]struct {
|
||||||
r *corev1.ObjectReference
|
r *v1alpha1.TypedReference
|
||||||
want metav1.OwnerReference
|
want metav1.OwnerReference
|
||||||
}{
|
}{
|
||||||
"Successful": {
|
"Successful": {
|
||||||
r: &corev1.ObjectReference{
|
r: &v1alpha1.TypedReference{
|
||||||
APIVersion: groupVersion,
|
APIVersion: groupVersion,
|
||||||
Kind: kind,
|
Kind: kind,
|
||||||
Namespace: name,
|
|
||||||
Name: name,
|
Name: name,
|
||||||
UID: uid,
|
UID: uid,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@ import (
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
"github.com/google/go-cmp/cmp/cmpopts"
|
"github.com/google/go-cmp/cmp/cmpopts"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
corev1 "k8s.io/api/core/v1"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
|
|
@ -77,7 +76,7 @@ func TestResolve(t *testing.T) {
|
||||||
controlled := &fake.Managed{}
|
controlled := &fake.Managed{}
|
||||||
controlled.SetName(value)
|
controlled.SetName(value)
|
||||||
meta.SetExternalName(controlled, value)
|
meta.SetExternalName(controlled, value)
|
||||||
meta.AddControllerReference(controlled, meta.AsController(&corev1.ObjectReference{UID: types.UID("very-unique")}))
|
meta.AddControllerReference(controlled, meta.AsController(&v1alpha1.TypedReference{UID: types.UID("very-unique")}))
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
ctx context.Context
|
ctx context.Context
|
||||||
|
|
@ -268,7 +267,7 @@ func TestResolveMultiple(t *testing.T) {
|
||||||
controlled := &fake.Managed{}
|
controlled := &fake.Managed{}
|
||||||
controlled.SetName(value)
|
controlled.SetName(value)
|
||||||
meta.SetExternalName(controlled, value)
|
meta.SetExternalName(controlled, value)
|
||||||
meta.AddControllerReference(controlled, meta.AsController(&corev1.ObjectReference{UID: types.UID("very-unique")}))
|
meta.AddControllerReference(controlled, meta.AsController(&v1alpha1.TypedReference{UID: types.UID("very-unique")}))
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
ctx context.Context
|
ctx context.Context
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ func LocalConnectionSecretFor(o LocalConnectionSecretOwner, kind schema.GroupVer
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Namespace: o.GetNamespace(),
|
Namespace: o.GetNamespace(),
|
||||||
Name: o.GetWriteConnectionSecretToReference().Name,
|
Name: o.GetWriteConnectionSecretToReference().Name,
|
||||||
OwnerReferences: []metav1.OwnerReference{meta.AsController(meta.ReferenceTo(o, kind))},
|
OwnerReferences: []metav1.OwnerReference{meta.AsController(meta.TypedReferenceTo(o, kind))},
|
||||||
},
|
},
|
||||||
Type: SecretTypeConnection,
|
Type: SecretTypeConnection,
|
||||||
Data: make(map[string][]byte),
|
Data: make(map[string][]byte),
|
||||||
|
|
@ -141,7 +141,7 @@ func ConnectionSecretFor(o ConnectionSecretOwner, kind schema.GroupVersionKind)
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Namespace: o.GetWriteConnectionSecretToReference().Namespace,
|
Namespace: o.GetWriteConnectionSecretToReference().Namespace,
|
||||||
Name: o.GetWriteConnectionSecretToReference().Name,
|
Name: o.GetWriteConnectionSecretToReference().Name,
|
||||||
OwnerReferences: []metav1.OwnerReference{meta.AsController(meta.ReferenceTo(o, kind))},
|
OwnerReferences: []metav1.OwnerReference{meta.AsController(meta.TypedReferenceTo(o, kind))},
|
||||||
},
|
},
|
||||||
Type: SecretTypeConnection,
|
Type: SecretTypeConnection,
|
||||||
Data: make(map[string][]byte),
|
Data: make(map[string][]byte),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue