github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/bddtests/features/orderer.feature (about) 1 2 # 3 # Copyright IBM Corp. 2016 All Rights Reserved. 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 # Tags that can be used and will affect test internals: 9 # @doNotDecompose will NOT decompose the named compose_yaml after scenario ends. 10 # Useful for setting up environment and reviewing after scenario. 11 12 @orderer 13 Feature: Orderer 14 As a Fabric developer 15 I want to run and validate a orderer service 16 17 18 # @doNotDecompose 19 Scenario Outline: Basic orderer function 20 21 Given we compose "<ComposeFile>" 22 And I wait "<BootTime>" seconds 23 And user "binhn" is an authorized user of the ordering service 24 When user "binhn" broadcasts "<NumMsgsToBroadcast>" unique messages on "orderer0" 25 And user "binhn" waits "<WaitTime>" seconds 26 And user "binhn" connects to deliver function on "orderer0" 27 And user "binhn" sends deliver a seek request on "orderer0" with properties: 28 | Start | End | 29 | 1 | Newest | 30 Then user "binhn" should get a delivery from "orderer0" of "<ExpectedBlocks>" blocks with "<NumMsgsToBroadcast>" messages within "<BatchTimeout>" seconds 31 32 Examples: Solo Orderer 33 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 34 | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | .5 | 35 | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | .5 | 36 | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | .5 | 37 38 Examples: 1 Kafka Orderer and 1 Kafka Broker 39 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 40 | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | 1 | 41 | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | 1 | 42 | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | 1 | 43 44 Examples: 1 Kafka Orderer and 3 Kafka Brokers 45 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 46 | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | 1 | 47 | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | 1 | 48 | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | 1 | 49 50 # @doNotDecompose 51 Scenario Outline: Basic seek orderer function (Utilizing properties for atomic broadcast) 52 53 Given we compose "<ComposeFile>" 54 And I wait "<BootTime>" seconds 55 And user "binhn" is an authorized user of the ordering service 56 When user "binhn" broadcasts "<NumMsgsToBroadcast>" unique messages on "orderer0" 57 And user "binhn" waits "<WaitTime>" seconds 58 And user "binhn" connects to deliver function on "orderer0" 59 And user "binhn" sends deliver a seek request on "orderer0" with properties: 60 | Start | End | 61 | 1 | Newest | 62 Then user "binhn" should get a delivery from "orderer0" of "<ExpectedBlocks>" blocks with "<NumMsgsToBroadcast>" messages within "<BatchTimeout>" seconds 63 When user "binhn" sends deliver a seek request on "orderer0" with properties: 64 | Start | End | 65 | 1 | Newest | 66 Then user "binhn" should get a delivery from "orderer0" of "<ExpectedBlocks>" blocks with "<NumMsgsToBroadcast>" messages within "1" seconds 67 68 Examples: Solo Orderer 69 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 70 | docker-compose-orderer-solo.yml | 20 | 2 | 10 | .5 | .5 | 71 | docker-compose-orderer-solo.yml | 40 | 4 | 10 | .5 | .5 | 72 | docker-compose-orderer-solo.yml | 60 | 6 | 10 | .5 | .5 | 73 74 Examples: 1 Kafka Orderer and 1 Kafka Broker 75 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 76 | environments/orderer-1-kafka-1 | 20 | 2 | 10 | 5 | 1 | 77 | environments/orderer-1-kafka-1 | 40 | 4 | 10 | 5 | 1 | 78 | environments/orderer-1-kafka-1 | 60 | 6 | 10 | 5 | 1 | 79 80 Examples: 1 Kafka Orderer and 3 Kafka Brokers 81 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 82 | environments/orderer-1-kafka-3 | 20 | 2 | 10 | 5 | 1 | 83 | environments/orderer-1-kafka-3 | 40 | 4 | 10 | 5 | 1 | 84 | environments/orderer-1-kafka-3 | 60 | 6 | 10 | 5 | 1 | 85 86 87 # @doNotDecompose 88 Scenario Outline: Basic orderer function using oldest seek target 89 90 Given we compose "<ComposeFile>" 91 And I wait "<BootTime>" seconds 92 And user "binhn" is an authorized user of the ordering service 93 When user "binhn" broadcasts "<NumMsgsToBroadcast>" unique messages on "orderer0" 94 And user "binhn" waits "<WaitTime>" seconds 95 And user "binhn" connects to deliver function on "orderer0" 96 And user "binhn" sends deliver a seek request on "orderer0" with properties: 97 | Start | End | 98 | Oldest | 2 | 99 Then user "binhn" should get a delivery from "orderer0" of "<ExpectedBlocks>" blocks with "<NumMsgsToBroadcast>" messages within "<BatchTimeout>" seconds 100 101 Examples: Solo Orderer 102 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 103 | docker-compose-orderer-solo.yml | 20 | 3 | 10 | .5 | .5 | 104 105 Examples: 1 Kafka Orderer and 1 Kafka Broker 106 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 107 | environments/orderer-1-kafka-1 | 20 | 3 | 10 | 5 | 1 | 108 109 Examples: 1 Kafka Orderer and 3 Kafka Brokers 110 | ComposeFile | NumMsgsToBroadcast | ExpectedBlocks | BatchTimeout | BootTime | WaitTime | 111 | environments/orderer-1-kafka-3 | 20 | 3 | 10 | 5 | 1 |