Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit 2943762

Browse files
author
odacremolbap
committed
add memorybroker deletion test
1 parent 6174e15 commit 2943762

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

pkg/reconciler/memorybroker/reconciler_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package memorybroker
33
import (
44
"context"
55
"testing"
6+
"time"
67

78
appsv1 "k8s.io/api/apps/v1"
89
corev1 "k8s.io/api/core/v1"
@@ -19,6 +20,7 @@ import (
1920
fakeeventingclient "github.com/triggermesh/triggermesh-core/pkg/client/generated/injection/client/fake"
2021
"github.com/triggermesh/triggermesh-core/pkg/client/generated/injection/reconciler/eventing/v1alpha1/memorybroker"
2122
"github.com/triggermesh/triggermesh-core/pkg/reconciler/common"
23+
"github.com/triggermesh/triggermesh-core/pkg/reconciler/resources"
2224
tmt "github.com/triggermesh/triggermesh-core/pkg/reconciler/testing"
2325
tmtv1alpha1 "github.com/triggermesh/triggermesh-core/pkg/reconciler/testing/v1alpha1"
2426
)
@@ -34,6 +36,7 @@ var (
3436
tKey = tNamespace + "/" + tName
3537
tTrue = true
3638
tReplicas int32 = 1
39+
tNow = metav1.NewTime(time.Now())
3740
)
3841

3942
func TestAllCases(t *testing.T) {
@@ -62,6 +65,16 @@ func TestAllCases(t *testing.T) {
6265
WantEvents: []string{
6366
knt.Eventf(corev1.EventTypeWarning, "UnavailableEndpoints", `Endpoints for broker service "`+tNamespace+`/`+tName+`-mb-broker" do not exist`),
6467
},
68+
}, {
69+
Name: "deleting broker",
70+
Key: tKey,
71+
Objects: []runtime.Object{
72+
tmtv1alpha1.NewMemoryBroker(tNamespace, tName,
73+
tmtv1alpha1.MemoryBrokerWithMetaOptions(resources.MetaSetDeletion(&tNow))),
74+
},
75+
WantCreates: []runtime.Object{
76+
// Reconciliation is skipped and no objects are created.
77+
},
6578
},
6679
}
6780

pkg/reconciler/resources/meta.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,9 @@ func MetaAddLabel(key, value string) MetaOption {
5858
m.Labels[key] = value
5959
}
6060
}
61+
62+
func MetaSetDeletion(t *metav1.Time) MetaOption {
63+
return func(m *metav1.ObjectMeta) {
64+
m.DeletionTimestamp = t
65+
}
66+
}

pkg/reconciler/resources/meta_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,18 @@ package resources
55

66
import (
77
"testing"
8+
"time"
89

910
"github.com/stretchr/testify/assert"
1011

1112
corev1 "k8s.io/api/core/v1"
1213
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314
)
1415

16+
var (
17+
tNow = metav1.NewTime(time.Now())
18+
)
19+
1520
func TestNewMeta(t *testing.T) {
1621
testCases := map[string]struct {
1722
options []MetaOption
@@ -50,6 +55,15 @@ func TestNewMeta(t *testing.T) {
5055
"key1": "label1",
5156
},
5257
}},
58+
"with deletion": {
59+
options: []MetaOption{
60+
MetaSetDeletion(&tNow),
61+
},
62+
expected: metav1.ObjectMeta{
63+
Name: tName,
64+
Namespace: tNamespace,
65+
DeletionTimestamp: &tNow,
66+
}},
5367
}
5468

5569
for name, tc := range testCases {

pkg/reconciler/testing/v1alpha1/memorybroker.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
55

66
eventingv1alpha1 "github.com/triggermesh/triggermesh-core/pkg/apis/eventing/v1alpha1"
7+
"github.com/triggermesh/triggermesh-core/pkg/reconciler/resources"
78
)
89

910
// MemoryBrokerOption enables further configuration of a v1alpha1.MemoryBroker.
@@ -25,3 +26,11 @@ func NewMemoryBroker(namespace, name string, opts ...MemoryBrokerOption) *eventi
2526

2627
return b
2728
}
29+
30+
func MemoryBrokerWithMetaOptions(opts ...resources.MetaOption) MemoryBrokerOption {
31+
return func(d *eventingv1alpha1.MemoryBroker) {
32+
for _, opt := range opts {
33+
opt(&d.ObjectMeta)
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)