From 285398ad64d828b252b106f447bcfe79b047e12c Mon Sep 17 00:00:00 2001 From: Matthias Wessendorf Date: Mon, 23 Sep 2024 09:31:33 +0200 Subject: [PATCH] KafkaSource/Sink: Adding interface implementation test Signed-off-by: Matthias Wessendorf --- .../apis/eventing/v1alpha1/implements_test.go | 39 +++++++++++++++++++ .../apis/sources/v1beta1/implements_test.go | 39 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 control-plane/pkg/apis/eventing/v1alpha1/implements_test.go create mode 100644 control-plane/pkg/apis/sources/v1beta1/implements_test.go diff --git a/control-plane/pkg/apis/eventing/v1alpha1/implements_test.go b/control-plane/pkg/apis/eventing/v1alpha1/implements_test.go new file mode 100644 index 0000000000..2cb5c8b55b --- /dev/null +++ b/control-plane/pkg/apis/eventing/v1alpha1/implements_test.go @@ -0,0 +1,39 @@ +/* + * Copyright 2020 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 v1alpha1 + +import ( + "testing" + + "knative.dev/pkg/apis/duck" + duckv1 "knative.dev/pkg/apis/duck/v1" +) + +func TestTypesImplements(t *testing.T) { + testCases := []struct { + instance interface{} + iface duck.Implementable + }{ + {instance: &KafkaSink{}, iface: &duckv1.Conditions{}}, + {instance: &KafkaSink{}, iface: &duckv1.Addressable{}}, + } + for _, tc := range testCases { + if err := duck.VerifyType(tc.instance, tc.iface); err != nil { + t.Error(err) + } + } +} diff --git a/control-plane/pkg/apis/sources/v1beta1/implements_test.go b/control-plane/pkg/apis/sources/v1beta1/implements_test.go new file mode 100644 index 0000000000..bf6f9ebb74 --- /dev/null +++ b/control-plane/pkg/apis/sources/v1beta1/implements_test.go @@ -0,0 +1,39 @@ +/* +Copyright 2020 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 v1beta1 + +import ( + "testing" + + "knative.dev/pkg/apis/duck" + duckv1 "knative.dev/pkg/apis/duck/v1" +) + +func TestTypesImplements(t *testing.T) { + testCases := []struct { + instance interface{} + iface duck.Implementable + }{ + {instance: &KafkaSource{}, iface: &duckv1.Conditions{}}, + {instance: &KafkaSource{}, iface: &duckv1.Source{}}, + } + for _, tc := range testCases { + if err := duck.VerifyType(tc.instance, tc.iface); err != nil { + t.Error(err) + } + } +}