You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sz...@apache.org on 2023/09/12 17:22:45 UTC
[nifi-minifi-cpp] 05/06: MINIFICPP-2195 fix flaky MQTT docker tests
This is an automated email from the ASF dual-hosted git repository.
szaszm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 35c0e3f11a3b5ab3f2a8550fef8648e0845bcaef
Author: Martin Zink <ma...@apache.org>
AuthorDate: Tue Sep 12 16:00:47 2023 +0200
MINIFICPP-2195 fix flaky MQTT docker tests
Closes #1652
Signed-off-by: Marton Szasz <sz...@apache.org>
---
docker/test/integration/features/mqtt.feature | 9 ++++-----
docker/test/integration/features/steps/steps.py | 13 ++-----------
2 files changed, 6 insertions(+), 16 deletions(-)
diff --git a/docker/test/integration/features/mqtt.feature b/docker/test/integration/features/mqtt.feature
index 2268dd49d..17300956e 100644
--- a/docker/test/integration/features/mqtt.feature
+++ b/docker/test/integration/features/mqtt.feature
@@ -70,10 +70,10 @@ Feature: Sending data to MQTT streaming platform using PublishMQTT
And the "success" relationship of the PublishMQTT processor is connected to the PutFile
When the MiNiFi instance starts up
- Then no files are placed in the monitored directory in 30 seconds of running time
+ Then no files are placed in the monitored directory in 10 seconds of running time
- And an MQTT broker is deployed in correspondence with the PublishMQTT
- And a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
+ When an MQTT broker is set up in correspondence with the PublishMQTT
+ Then a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
And the MQTT broker has a log line matching "Received PUBLISH from .*testtopic.*\(4 bytes\)"
Examples: MQTT versions
@@ -319,8 +319,7 @@ Feature: Sending data to MQTT streaming platform using PublishMQTT
And an MQTT broker is set up in correspondence with the PublishMQTT and ConsumeMQTT
- When the MQTT broker is started
- And "publisher-client" flow is started
+ When both instances start up
Then the MQTT broker has a log line matching "Received PUBLISH from .*testtopic.*\(4 bytes\)"
# consumer is joining late, but it will still see the retained message
diff --git a/docker/test/integration/features/steps/steps.py b/docker/test/integration/features/steps/steps.py
index cb4094d48..161e3a3fa 100644
--- a/docker/test/integration/features/steps/steps.py
+++ b/docker/test/integration/features/steps/steps.py
@@ -423,11 +423,13 @@ def step_impl(context):
# MQTT setup
+@when("an MQTT broker is set up in correspondence with the PublishMQTT")
@given("an MQTT broker is set up in correspondence with the PublishMQTT")
@given("an MQTT broker is set up in correspondence with the ConsumeMQTT")
@given("an MQTT broker is set up in correspondence with the PublishMQTT and ConsumeMQTT")
def step_impl(context):
context.test.acquire_container(context=context, name="mqtt-broker", engine="mqtt-broker")
+ context.test.start('mqtt-broker')
# s3 setup
@@ -957,17 +959,6 @@ def step_impl(context, minifi_container_name, log_pattern, duration):
context.test.check_container_log_matches_regex(minifi_container_name, log_pattern, humanfriendly.parse_timespan(duration), count=1)
-@then("an MQTT broker is deployed in correspondence with the PublishMQTT")
-def step_impl(context):
- context.test.acquire_container(context=context, name="mqtt-broker", engine="mqtt-broker")
- context.test.start()
-
-
-@when("the MQTT broker is started")
-def step_impl(context):
- context.test.start('mqtt-broker')
-
-
# Google Cloud Storage
@then('an object with the content \"{content}\" is present in the Google Cloud storage')
def step_imp(context, content):