From 328439ab38a8273c15dd3834c9cdaf874dae3361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Suszy=C5=84ski?= Date: Thu, 27 May 2021 14:52:34 +0200 Subject: [PATCH 1/3] Reproduce of knative/eventing#5442 --- test/e2e/trigger_no_subscriber_test.go | 88 ++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 test/e2e/trigger_no_subscriber_test.go diff --git a/test/e2e/trigger_no_subscriber_test.go b/test/e2e/trigger_no_subscriber_test.go new file mode 100644 index 00000000000..849352fc1f8 --- /dev/null +++ b/test/e2e/trigger_no_subscriber_test.go @@ -0,0 +1,88 @@ +// +build e2e + +/* +Copyright 2021 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package e2e + +import ( + "testing" + + eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" + testlib "knative.dev/eventing/test/lib" + "knative.dev/eventing/test/lib/duck" + "knative.dev/eventing/test/lib/resources" + duckv1 "knative.dev/pkg/apis/duck/v1" + testhelpers "knative.dev/pkg/test/helpers" +) + +func TestTriggerNotReadyWithoutSubscriber(t *testing.T) { + for _, testCase := range triggerNotReadyWithoutSubscriberTestCases() { + refFn := testCase.refFn + t.Run(testCase.name, func(t *testing.T) { + if testCase.skipped != "" { + t.Skip(testCase.skipped) + } + brokerName := testhelpers.MakeK8sNamePrefix(t.Name()) + client := testlib.Setup(t, true) + defer testlib.TearDown(client) + client.CreateBrokerOrFail(brokerName) + + name := testhelpers.MakeK8sNamePrefix(testCase.name) + ref := refFn(name, client.Namespace) + dest := duckv1.Destination{Ref: ref} + subscriberOption := resources.WithSubscriberDestination(func(t *eventingv1.Trigger) duckv1.Destination { + return dest + }) + + trgr := client.CreateTriggerOrFail( + name, + resources.WithBroker(brokerName), + resources.WithAttributesTriggerFilter( + eventingv1.TriggerAnyFilter, + "org.example.not-important", + map[string]interface{}{}, + ), + subscriberOption, + ) + meta := resources.NewMetaResource( + trgr.Name, trgr.Namespace, testlib.TriggerTypeMeta, + ) + err := duck.WaitForResourceReady(client.Dynamic, meta) + if err == nil { + t.Fatal("trigger is ready, but shouldn't be without subscriber being deployed") + } + }) + } +} + +func triggerNotReadyWithoutSubscriberTestCases() []triggerNotReadyWithoutSubscriberTestCase { + return []triggerNotReadyWithoutSubscriberTestCase{{ + name: "K8s Service", + refFn: resources.KnativeRefForService, + skipped: "knative/eventing#5442 Regular, non existing, K8s service as " + + "subscriber causes trigger to report Ready incorrectly", + }, { + name: "Knative Service", + refFn: resources.KnativeRefForKservice, + }} +} + +type triggerNotReadyWithoutSubscriberTestCase struct { + name string + refFn func(name, namespace string) *duckv1.KReference + skipped string +} From ac88918552ee8eef96150847e71bba3a1b92fa04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Suszy=C5=84ski?= Date: Mon, 14 Jun 2021 13:38:38 +0200 Subject: [PATCH 2/3] Removal of skip because of knative/pkg#2149 --- test/e2e/trigger_no_subscriber_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/e2e/trigger_no_subscriber_test.go b/test/e2e/trigger_no_subscriber_test.go index 849352fc1f8..c8c83a700b1 100644 --- a/test/e2e/trigger_no_subscriber_test.go +++ b/test/e2e/trigger_no_subscriber_test.go @@ -73,8 +73,6 @@ func triggerNotReadyWithoutSubscriberTestCases() []triggerNotReadyWithoutSubscri return []triggerNotReadyWithoutSubscriberTestCase{{ name: "K8s Service", refFn: resources.KnativeRefForService, - skipped: "knative/eventing#5442 Regular, non existing, K8s service as " + - "subscriber causes trigger to report Ready incorrectly", }, { name: "Knative Service", refFn: resources.KnativeRefForKservice, From 907edb19b7a52c831bbaf57d40e2ea86d9c301f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Suszy=C5=84ski?= Date: Fri, 3 Sep 2021 21:50:28 +0200 Subject: [PATCH 3/3] Removing the skip --- test/e2e/trigger_no_subscriber_test.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/e2e/trigger_no_subscriber_test.go b/test/e2e/trigger_no_subscriber_test.go index c8c83a700b1..f7cfec7b2dd 100644 --- a/test/e2e/trigger_no_subscriber_test.go +++ b/test/e2e/trigger_no_subscriber_test.go @@ -33,9 +33,6 @@ func TestTriggerNotReadyWithoutSubscriber(t *testing.T) { for _, testCase := range triggerNotReadyWithoutSubscriberTestCases() { refFn := testCase.refFn t.Run(testCase.name, func(t *testing.T) { - if testCase.skipped != "" { - t.Skip(testCase.skipped) - } brokerName := testhelpers.MakeK8sNamePrefix(t.Name()) client := testlib.Setup(t, true) defer testlib.TearDown(client) @@ -80,7 +77,6 @@ func triggerNotReadyWithoutSubscriberTestCases() []triggerNotReadyWithoutSubscri } type triggerNotReadyWithoutSubscriberTestCase struct { - name string - refFn func(name, namespace string) *duckv1.KReference - skipped string + name string + refFn func(name, namespace string) *duckv1.KReference }