diff --git a/bddtests/features/orderer.feature b/bddtests/features/orderer.feature index e741a0cbe9f..5dc228a4007 100644 --- a/bddtests/features/orderer.feature +++ b/bddtests/features/orderer.feature @@ -15,6 +15,7 @@ Feature: Orderer And I wait "" seconds And user "binhn" is an authorized user of the ordering service When user "binhn" broadcasts "" unique messages on "orderer0" + And user "binhn" waits "" seconds And user "binhn" connects to deliver function on "orderer0" And user "binhn" sends deliver a seek request on "orderer0" with properties: | Start | End | @@ -22,22 +23,22 @@ Feature: Orderer Then user "binhn" should get a delivery from "orderer0" of "" blocks with "" messages within "" seconds Examples: Solo Orderer - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | - | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | - | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | 0 | + | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | 0 | + | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | 0 | Examples: 1 Kafka Orderer and 1 Kafka Broker - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | - | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | - | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | 1 | + | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | 1 | + | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | 1 | Examples: 1 Kafka Orderer and 3 Kafka Brokers - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | - | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | - | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | 1 | + | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | 1 | + | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | 1 | # @doNotDecompose Scenario Outline: Basic seek orderer function (Utilizing properties for atomic broadcast) @@ -46,6 +47,7 @@ Feature: Orderer And I wait "" seconds And user "binhn" is an authorized user of the ordering service When user "binhn" broadcasts "" unique messages on "orderer0" + And user "binhn" waits "" seconds And user "binhn" connects to deliver function on "orderer0" And user "binhn" sends deliver a seek request on "orderer0" with properties: | Start | End | @@ -57,22 +59,22 @@ Feature: Orderer Then user "binhn" should get a delivery from "orderer0" of "" blocks with "" messages within "1" seconds Examples: Solo Orderer - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | - | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | - | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | 0 | + | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | 0 | + | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | 0 | Examples: 1 Kafka Orderer and 1 Kafka Broker - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | - | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | - | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | 1 | + | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | 1 | + | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | 1 | Examples: 1 Kafka Orderer and 3 Kafka Brokers - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | - | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | - | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | 1 | + | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | 1 | + | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | 1 | # @doNotDecompose @@ -82,6 +84,7 @@ Feature: Orderer And I wait "" seconds And user "binhn" is an authorized user of the ordering service When user "binhn" broadcasts "" unique messages on "orderer0" + And user "binhn" waits "" seconds And user "binhn" connects to deliver function on "orderer0" And user "binhn" sends deliver a seek request on "orderer0" with properties: | Start | End | @@ -89,13 +92,13 @@ Feature: Orderer Then user "binhn" should get a delivery from "orderer0" of "" blocks with "" messages within "" seconds Examples: Solo Orderer - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | docker-compose-orderer-solo.yml | 20 | 3 | 10 | .5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | docker-compose-orderer-solo.yml | 20 | 3 | 10 | .5 | 0 | Examples: 1 Kafka Orderer and 1 Kafka Broker - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-1 | 20 | 3 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-1 | 20 | 3 | 10 | 5 | 1 | Examples: 1 Kafka Orderer and 3 Kafka Brokers - | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | - | environments/orderer-1-kafka-3 | 20 | 3 | 10 | 5 | + | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | + | environments/orderer-1-kafka-3 | 20 | 3 | 10 | 5 | 1 | diff --git a/bddtests/steps/orderer_impl.py b/bddtests/steps/orderer_impl.py index f3a088e245c..4765095cbe9 100644 --- a/bddtests/steps/orderer_impl.py +++ b/bddtests/steps/orderer_impl.py @@ -16,6 +16,7 @@ import os import re +import time import subprocess import devops_pb2 import fabric_pb2 @@ -50,6 +51,11 @@ def step_impl(context, enrollId, composeService): streamHelper = userRegistration.connectToDeliverFunction(context, composeService) +@when(u'user "{enrollId}" waits "{waitTime}" seconds') +def step_impl(context, enrollId, waitTime): + time.sleep(float(waitTime)) + + @then(u'user "{enrollId}" should get a delivery from "{composeService}" of "{expectedBlocks}" blocks with "{numMsgsToBroadcast}" messages within "{batchTimeout}" seconds') def step_impl(context, enrollId, expectedBlocks, numMsgsToBroadcast, batchTimeout, composeService): userRegistration = orderer_util.getUserRegistration(context, enrollId)