From c4e259d93dcc837ecb434665aae9933aaa054e1a Mon Sep 17 00:00:00 2001 From: r0hansaxena Date: Tue, 7 Apr 2026 00:41:46 +0530 Subject: [PATCH 1/2] add owner uid tests Signed-off-by: r0hansaxena --- pkg/ddc/base/dataset_test.go | 75 ++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/pkg/ddc/base/dataset_test.go b/pkg/ddc/base/dataset_test.go index df01da02a17..86b2736bb91 100644 --- a/pkg/ddc/base/dataset_test.go +++ b/pkg/ddc/base/dataset_test.go @@ -22,6 +22,7 @@ import ( datav1alpha1 "github.com/fluid-cloudnative/fluid/api/v1alpha1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" ) func TestGetPhysicalDatasetFromMounts(t *testing.T) { @@ -266,3 +267,77 @@ func TestGetPhysicalDatasetSubPath(t *testing.T) { }) } } + +func TestGetOwnerDatasetUIDFromRuntimeMeta(t *testing.T) { + uid := types.UID("dataset-uid-1") + tests := []struct { + name string + meta metav1.ObjectMeta + wantUID types.UID + expectErr bool + }{ + { + name: "single dataset owner with same name", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + OwnerReferences: []metav1.OwnerReference{ + { + Kind: datav1alpha1.Datasetkind, + Name: "sample-runtime", + UID: uid, + }, + }, + }, + wantUID: uid, + expectErr: false, + }, + { + name: "dataset owner name mismatch", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + OwnerReferences: []metav1.OwnerReference{ + { + Kind: datav1alpha1.Datasetkind, + Name: "another-name", + UID: uid, + }, + }, + }, + wantUID: "", + expectErr: true, + }, + { + name: "multiple dataset owners", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + OwnerReferences: []metav1.OwnerReference{ + { + Kind: datav1alpha1.Datasetkind, + Name: "sample-runtime", + UID: uid, + }, + { + Kind: datav1alpha1.Datasetkind, + Name: "sample-runtime", + UID: types.UID("dataset-uid-2"), + }, + }, + }, + wantUID: "", + expectErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + gotUID, err := GetOwnerDatasetUIDFromRuntimeMeta(tt.meta) + if (err != nil) != tt.expectErr { + t.Errorf("GetOwnerDatasetUIDFromRuntimeMeta() error = %v, expectErr %v", err, tt.expectErr) + return + } + if gotUID != tt.wantUID { + t.Errorf("GetOwnerDatasetUIDFromRuntimeMeta() uid = %v, want %v", gotUID, tt.wantUID) + } + }) + } +} From 3043824dc783b33e3bc2b3afb04d45e9b2beeef9 Mon Sep 17 00:00:00 2001 From: r0hansaxena Date: Tue, 7 Apr 2026 00:50:56 +0530 Subject: [PATCH 2/2] add owner edge cases Signed-off-by: r0hansaxena --- pkg/ddc/base/dataset_test.go | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/pkg/ddc/base/dataset_test.go b/pkg/ddc/base/dataset_test.go index 86b2736bb91..c5a095bd881 100644 --- a/pkg/ddc/base/dataset_test.go +++ b/pkg/ddc/base/dataset_test.go @@ -276,6 +276,29 @@ func TestGetOwnerDatasetUIDFromRuntimeMeta(t *testing.T) { wantUID types.UID expectErr bool }{ + { + name: "no owner references", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + }, + wantUID: "", + expectErr: false, + }, + { + name: "no dataset owner", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + OwnerReferences: []metav1.OwnerReference{ + { + Kind: "Pod", + Name: "some-pod", + UID: types.UID("pod-uid"), + }, + }, + }, + wantUID: "", + expectErr: false, + }, { name: "single dataset owner with same name", meta: metav1.ObjectMeta{ @@ -326,6 +349,26 @@ func TestGetOwnerDatasetUIDFromRuntimeMeta(t *testing.T) { wantUID: "", expectErr: true, }, + { + name: "multiple owners with only one dataset owner", + meta: metav1.ObjectMeta{ + Name: "sample-runtime", + OwnerReferences: []metav1.OwnerReference{ + { + Kind: "Pod", + Name: "some-pod", + UID: types.UID("pod-uid"), + }, + { + Kind: datav1alpha1.Datasetkind, + Name: "sample-runtime", + UID: uid, + }, + }, + }, + wantUID: uid, + expectErr: false, + }, } for _, tt := range tests {