// Copyright 2024 Redpanda Data, Inc. // // 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. //go:build x_benthos_extra // +build x_benthos_extra package zeromq import ( "testing" "time" "github.com/redpanda-data/benthos/v4/public/service/integration" ) func TestIntegrationZMQ(t *testing.T) { integration.CheckSkip(t) t.Parallel() template := ` output: zmq4: urls: - tcp://localhost:$PORT bind: false socket_type: $VAR1 poll_timeout: 5s input: zmq4: urls: - tcp://*:$PORT bind: true socket_type: $VAR2 sub_filters: [ $VAR3 ] ` suite := integration.StreamTests( integration.StreamTestOpenClose(), integration.StreamTestStreamParallel(100), ) suite.Run( t, template, integration.StreamTestOptSleepAfterInput(500*time.Millisecond), integration.StreamTestOptSleepAfterOutput(500*time.Millisecond), integration.StreamTestOptVarOne("PUSH"), integration.StreamTestOptVarTwo("PULL"), ) t.Run("with pub sub", func(t *testing.T) { t.Parallel() suite.Run( t, template, integration.StreamTestOptSleepAfterInput(500*time.Millisecond), integration.StreamTestOptSleepAfterOutput(500*time.Millisecond), integration.StreamTestOptVarOne("PUB"), integration.StreamTestOptVarTwo("SUB"), integration.StreamTestOptVarThree(`""`), ) }) }