From 24c2b891258b93c7761ef3b902d56cd1f7c19c9a Mon Sep 17 00:00:00 2001 From: Vitaly Kh <82949155+bgklika@users.noreply.github.com> Date: Thu, 27 Jul 2023 21:37:53 +0200 Subject: [PATCH] fix(uat): disable T17 on Windows and fix T18 (#382) --- .../greengrass/features/ggmq-1.feature | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/uat/testing-features/src/main/resources/greengrass/features/ggmq-1.feature b/uat/testing-features/src/main/resources/greengrass/features/ggmq-1.feature index d6adc1cc0..13032dd46 100644 --- a/uat/testing-features/src/main/resources/greengrass/features/ggmq-1.feature +++ b/uat/testing-features/src/main/resources/greengrass/features/ggmq-1.feature @@ -1066,8 +1066,8 @@ Feature: GGMQ-1 | v5 | paho-python | aws.greengrass.client.Mqtt5PythonPahoClient | client_python_paho.yaml | - @GGMQ-1-T17 @OffTheNetwork - Scenario Outline: GGMQ-1-T17--: As a customer, I can configure IoT Core messages to be forwarded to local MQTT topic, with Greengrass in offline state + @GGMQ-1-T17 @OffTheNetwork @SkipOnWindows + Scenario Outline: GGMQ-1-T17--: As a customer, I can configure IoT Core messages to be forwarded to local MQTT topic, with Greengrass restarted in offline state When I create a Greengrass deployment with components | aws.greengrass.clientdevices.Auth | LATEST | | aws.greengrass.clientdevices.mqtt.EMQX | LATEST | @@ -1140,8 +1140,9 @@ Feature: GGMQ-1 And I verify greengrass-cli is available in greengrass root When I set device mqtt connectivity to offline + # Not works on Windows due to https://github.com/aws-greengrass/aws-greengrass-testing/issues/208 And I restart Greengrass - And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Failed to connect to AWS IoT Core" at least 3 times within 2 minutes + And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Failed to connect to AWS IoT Core" within 2 minutes And I update my local deployment configuration, setting the component aws.greengrass.clientdevices.mqtt.Bridge configuration to: """ @@ -1161,8 +1162,11 @@ Feature: GGMQ-1 And I set device mqtt connectivity to online And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Successfully connected to AWS IoT Core" at least 2 times within 1 minutes - And the greengrass log on the device contains the line "com.aws.greengrass.mqtt.bridge.clients.MQTTClient: Connected to broker" at least 2 times within 1 minutes - And I wait 30 seconds + # On Linux EQMX run in docker and use different IP network, when we block MQTT we also block MQTTClient of Nucleus. + # But on Windows EQMX run on the IP of local machine and connection of Nucleus to EQMX is not broken, so we miss secondary "Connected to broker" + # Finally we replace with wait and in some cases scenario will failed + # And the greengrass log on the device contains the line "com.aws.greengrass.mqtt.bridge.clients.MQTTClient: Connected to broker" at least 2 times within 1 minutes + And I wait 65 seconds # Is critical to do discover after restart? When I discover core device broker as "localBroker" from "localMqttSubscriber" in OTF @@ -1261,7 +1265,7 @@ Feature: GGMQ-1 And I verify greengrass-cli is available in greengrass root When I set device mqtt connectivity to offline - And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Failed to connect to AWS IoT Core" at least 3 times within 2 minutes + And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Failed to connect to AWS IoT Core" within 2 minutes And I update my local deployment configuration, setting the component aws.greengrass.clientdevices.mqtt.Bridge configuration to: """ @@ -1281,8 +1285,11 @@ Feature: GGMQ-1 And I set device mqtt connectivity to online And the greengrass log on the device contains the line "com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Connection resumed" at least 2 times within 2 minutes - And the greengrass log on the device contains the line "com.aws.greengrass.mqtt.bridge.clients.MQTTClient: Connected to broker" at least 2 times within 1 minutes - And I wait 30 seconds + # On Linux EQMX run in docker and use different IP network, when we block MQTT we also block MQTTClient of Nucleus. + # But on Windows EQMX run on the IP of local machine and connection of Nucleus to EQMX is not broken, so we miss secondary "Connected to broker" + # Finally we replace with wait and in some cases scenario will failed + # And the greengrass log on the device contains the line "com.aws.greengrass.mqtt.bridge.clients.MQTTClient: Connected to broker" at least 2 times within 1 minutes + And I wait 65 seconds When I discover core device broker as "localBroker" from "localMqttSubscriber" in OTF And I label IoT Core broker as "iotCoreBroker"