mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-02-14 18:09:58 +00:00
* chore(refactor): project and api refactoring Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com> * chore(refactor): project and api refactoring Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com> --------- Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
64 lines
1.5 KiB
Go
64 lines
1.5 KiB
Go
// Copyright 2020-2025 Project Capsule Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package meta
|
|
|
|
import (
|
|
"testing"
|
|
|
|
corev1 "k8s.io/api/core/v1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/types"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestLooseOwnerReferenceHelpers(t *testing.T) {
|
|
scheme := runtime.NewScheme()
|
|
_ = corev1.AddToScheme(scheme)
|
|
|
|
owner := &corev1.ConfigMap{
|
|
ObjectMeta: metav1.ObjectMeta{
|
|
Name: "owner",
|
|
Namespace: "default",
|
|
UID: types.UID("owner-uid"),
|
|
},
|
|
}
|
|
|
|
target := &corev1.ConfigMap{
|
|
ObjectMeta: metav1.ObjectMeta{
|
|
Name: "target",
|
|
Namespace: "default",
|
|
},
|
|
}
|
|
|
|
t.Run("SetLooseOwnerReference adds and clears controller fields", func(t *testing.T) {
|
|
err := SetLooseOwnerReference(target, owner, scheme)
|
|
assert.NoError(t, err)
|
|
|
|
refs := target.GetOwnerReferences()
|
|
assert.Len(t, refs, 1)
|
|
ref := refs[0]
|
|
assert.Equal(t, owner.UID, ref.UID)
|
|
assert.Nil(t, ref.BlockOwnerDeletion)
|
|
assert.Nil(t, ref.Controller)
|
|
})
|
|
|
|
t.Run("HasLooseOwnerReference returns true if present", func(t *testing.T) {
|
|
result := HasLooseOwnerReference(target, owner)
|
|
assert.True(t, result)
|
|
})
|
|
|
|
t.Run("RemoveLooseOwnerReference removes the reference", func(t *testing.T) {
|
|
RemoveLooseOwnerReference(target, owner)
|
|
refs := target.GetOwnerReferences()
|
|
assert.Len(t, refs, 0)
|
|
})
|
|
|
|
t.Run("HasLooseOwnerReference returns false if not present", func(t *testing.T) {
|
|
result := HasLooseOwnerReference(target, owner)
|
|
assert.False(t, result)
|
|
})
|
|
}
|