Skip to content

Commit 938f0b3

Browse files
Updated CreateLocalQueue function parameters to use variadic arguments of type *kueuev1beta1.localQueue
1 parent 6557482 commit 938f0b3

File tree

3 files changed

+36
-11
lines changed

3 files changed

+36
-11
lines changed

support/kueue.go

+26-8
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package support
1818

1919
import (
2020
"github.com/onsi/gomega"
21-
2221
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2322
kueuev1beta1 "sigs.k8s.io/kueue/apis/kueue/v1beta1"
2423
)
@@ -65,7 +64,25 @@ func CreateKueueClusterQueue(t Test, clusterQueueSpec kueuev1beta1.ClusterQueueS
6564
return clusterQueue
6665
}
6766

68-
func CreateKueueLocalQueue(t Test, namespace, clusterQueueName string, annotations map[string]string) *kueuev1beta1.LocalQueue {
67+
type DefaultLocalQueueOption struct {
68+
namespace string
69+
clusterQueueName string
70+
annotations map[string]string
71+
}
72+
73+
func (d DefaultLocalQueueOption) applyTo(to *kueuev1beta1.LocalQueue) error {
74+
to.Namespace = d.namespace
75+
to.Spec.ClusterQueue = kueuev1beta1.ClusterQueueReference(d.clusterQueueName)
76+
if to.Annotations == nil {
77+
to.Annotations = make(map[string]string)
78+
}
79+
for key, value := range d.annotations {
80+
to.Annotations[key] = value
81+
}
82+
return nil
83+
}
84+
85+
func CreateKueueLocalQueue(t Test, options ...Option[*kueuev1beta1.LocalQueue]) *kueuev1beta1.LocalQueue {
6986
t.T().Helper()
7087

7188
localQueue := &kueuev1beta1.LocalQueue{
@@ -75,15 +92,16 @@ func CreateKueueLocalQueue(t Test, namespace, clusterQueueName string, annotatio
7592
},
7693
ObjectMeta: metav1.ObjectMeta{
7794
GenerateName: "lq-",
78-
Namespace: namespace,
79-
Annotations: annotations,
80-
},
81-
Spec: kueuev1beta1.LocalQueueSpec{
82-
ClusterQueue: kueuev1beta1.ClusterQueueReference(clusterQueueName),
8395
},
96+
Spec: kueuev1beta1.LocalQueueSpec{},
97+
}
98+
99+
//Apply options
100+
for _, opt := range options {
101+
t.Expect(opt.applyTo(localQueue)).To(gomega.Succeed())
84102
}
85103

86-
localQueue, err := t.Client().Kueue().KueueV1beta1().LocalQueues(namespace).Create(t.Ctx(), localQueue, metav1.CreateOptions{})
104+
localQueue, err := t.Client().Kueue().KueueV1beta1().LocalQueues(localQueue.Namespace).Create(t.Ctx(), localQueue, metav1.CreateOptions{})
87105
t.Expect(err).NotTo(gomega.HaveOccurred())
88106
t.T().Logf("Created Kueue LocalQueue %s/%s successfully", localQueue.Namespace, localQueue.Name)
89107

support/kueue_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,14 @@ func TestCreateKueueClusterQueue(t *testing.T) {
5252
func TestCreateKueueLocalQueue(t *testing.T) {
5353
test := NewTest(t)
5454

55-
annotations := map[string]string{
56-
"kueue.x-k8s.io/default-queue": "true",
55+
options := DefaultLocalQueueOption{
56+
namespace: "ns-1",
57+
clusterQueueName: "cq-1",
58+
annotations: map[string]string{
59+
"kueue.x-k8s.io/default-queue": "true",
60+
},
5761
}
58-
lq := CreateKueueLocalQueue(test, "ns-1", "cq-1", annotations)
62+
lq := CreateKueueLocalQueue(test, options)
5963

6064
test.Expect(lq).To(gomega.Not(gomega.BeNil()))
6165
test.Expect(lq.GenerateName).To(gomega.Equal("lq-"))

support/utils.go

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"path"
2323

2424
"github.com/onsi/gomega"
25+
kueuev1beta1 "sigs.k8s.io/kueue/apis/kueue/v1beta1"
2526
)
2627

2728
func Ptr[T any](v T) *T {
@@ -30,6 +31,8 @@ func Ptr[T any](v T) *T {
3031

3132
type OutputType string
3233

34+
type LocalQueueOption func(*kueuev1beta1.LocalQueue)
35+
3336
const (
3437
Log OutputType = "log"
3538
)

0 commit comments

Comments
 (0)