From 62aa591219cd7e120402a92fadb2c356a186f236 Mon Sep 17 00:00:00 2001 From: Ville Aikas <11279988+vaikas@users.noreply.github.com> Date: Fri, 21 Aug 2020 12:00:47 -0700 Subject: [PATCH] cp 3897 (#3902) * cp 3897 * backport 3719 * x bit * apiserversource v1beta1->v1alpha2 * install broker / sugar --- pkg/mtbroker/filter/filter_handler.go | 6 +++- test/e2e-conformance-tests.sh | 43 +++++++++++++++++++++++++++ test/e2e-tests.sh | 2 +- 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100755 test/e2e-conformance-tests.sh diff --git a/pkg/mtbroker/filter/filter_handler.go b/pkg/mtbroker/filter/filter_handler.go index 80b49f7b5da..70252c76710 100644 --- a/pkg/mtbroker/filter/filter_handler.go +++ b/pkg/mtbroker/filter/filter_handler.go @@ -255,8 +255,12 @@ func (h *Handler) sendEvent(ctx context.Context, headers http.Header, target str err = fmt.Errorf("failed to dispatch message: %w", err) } - _ = h.reporter.ReportEventDispatchTime(reporterArgs, resp.StatusCode, dispatchTime) + sc := 0 + if resp != nil { + sc = resp.StatusCode + } + _ = h.reporter.ReportEventDispatchTime(reporterArgs, sc, dispatchTime) return resp, err } diff --git a/test/e2e-conformance-tests.sh b/test/e2e-conformance-tests.sh new file mode 100755 index 00000000000..04b63db2a0a --- /dev/null +++ b/test/e2e-conformance-tests.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# 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. + +# This script runs the end-to-end tests against eventing built from source. + +# If you already have the *_OVERRIDE environment variables set, call +# this script with the --run-tests arguments and it will use the cluster +# and run the tests. + +# Calling this script without arguments will create a new cluster in +# project $PROJECT_ID, start Knative eventing system, run the tests and +# delete the cluster. + +export GO111MODULE=on + +source "$(dirname "$0")/e2e-common.sh" + +# Script entry point. + +initialize $@ --skip-istio-addon + + +install_mt_broker || fail_test "Could not install MT Channel Based Broker" + +install_sugar || fail_test "Could not install Sugar Controller" + +echo "Running tests with Multi Tenant Channel Based Broker" +go_test_e2e -timeout=30m -parallel=12 ./test/conformance -brokerclass=MTChannelBasedBroker -channels=messaging.knative.dev/v1beta1:Channel,messaging.knative.dev/v1beta1:InMemoryChannel,messaging.knative.dev/v1:Channel,messaging.knative.dev/v1:InMemoryChannel -sources=sources.knative.dev/v1alpha2:ApiServerSource,sources.knative.dev/v1alpha2:ContainerSource,sources.knative.dev/v1alpha2:PingSource || fail_test + +success diff --git a/test/e2e-tests.sh b/test/e2e-tests.sh index 10797079551..4c3e993ba37 100755 --- a/test/e2e-tests.sh +++ b/test/e2e-tests.sh @@ -37,6 +37,6 @@ install_mt_broker || fail_test "Could not install MT Channel Based Broker" install_sugar || fail_test "Could not install Sugar Controller" echo "Running tests with Multi Tenant Channel Based Broker" -go_test_e2e -timeout=30m -parallel=12 ./test/e2e ./test/conformance -brokerclass=MTChannelBasedBroker -channels=messaging.knative.dev/v1beta1:Channel,messaging.knative.dev/v1beta1:InMemoryChannel,messaging.knative.dev/v1:Channel,messaging.knative.dev/v1:InMemoryChannel -sources=sources.knative.dev/v1alpha2:ApiServerSource,sources.knative.dev/v1alpha2:ContainerSource,sources.knative.dev/v1alpha2:PingSource || fail_test +go_test_e2e -timeout=30m -parallel=12 ./test/e2e -brokerclass=MTChannelBasedBroker -channels=messaging.knative.dev/v1beta1:Channel,messaging.knative.dev/v1beta1:InMemoryChannel,messaging.knative.dev/v1:Channel,messaging.knative.dev/v1:InMemoryChannel -sources=sources.knative.dev/v1alpha2:ApiServerSource,sources.knative.dev/v1alpha2:ContainerSource,sources.knative.dev/v1alpha2:PingSource || fail_test success