diff --git a/bdd/src/main/resources/message/MessageBodyContent.feature b/bdd/src/main/resources/message/MessageBodyContent.feature deleted file mode 100644 index 1d98e97..0000000 --- a/bdd/src/main/resources/message/MessageBodyContent.feature +++ /dev/null @@ -1,36 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message body contents - - Scenario Outline: Send normal message, setting message body, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - Then Create a message, including the Topic("random-topic"), Tag("TagA"), Key("Key"), and Body("") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Check the subscribed message body is equal to "" - And Shutdown the producer and consumer if they are started - - Examples: - | MessageBodyContent | - | | - | 中文字符 | - | 😱 | - - - - diff --git a/bdd/src/main/resources/message/MessageKey.feature b/bdd/src/main/resources/message/MessageKey.feature deleted file mode 100644 index 6345a0a..0000000 --- a/bdd/src/main/resources/message/MessageKey.feature +++ /dev/null @@ -1,61 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message key - - Scenario: Message Key beyond 16KB, expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("size:16kB+1"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message Key beyond 16KB, expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("\u0000"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message Key equals 16KB, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - When Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("size:16KB"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Message key contains Chinese, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - When Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("中文字符"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: The message contains multiple keys, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - When Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("random-key1", "random-key2"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - diff --git a/bdd/src/main/resources/message/MessageProperties.feature b/bdd/src/main/resources/message/MessageProperties.feature deleted file mode 100644 index 106c935..0000000 --- a/bdd/src/main/resources/message/MessageProperties.feature +++ /dev/null @@ -1,57 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message properties - - Scenario: producer invoke send(messageBody=null), expect build message throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("Key"), and Body(null) - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: producer invoke send(topic=""), expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic(""), Tag("random-tag"), Key("Key"), and Body("Body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: producer invoke send(topic=null), expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic(null), Tag("random-tag"), Key("Key"), and Body("Body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: producer invoke send(tag=null), expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag(null), Key("Key"), and Body("Body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: producer invoke send(tag=""), expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag(" "), Key("Key"), and Body("Body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - diff --git a/bdd/src/main/resources/message/MessageSize.feature b/bdd/src/main/resources/message/MessageSize.feature deleted file mode 100644 index 7960d34..0000000 --- a/bdd/src/main/resources/message/MessageSize.feature +++ /dev/null @@ -1,105 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message size - - Scenario Outline: Send normal/transaction messages with the body size of 4M+1, expect send failed - Given Create a "" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), and Body("size:4M+1") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Examples: - | MessageType | - | Normal | - | Transaction | - - Scenario: Send delay messages with the body size of 4M+1, expect send failed - Given Create a "delay" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Body("size:4M+1"), deliveryTimestamp("10L") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Send FIFO messages with the body size of 4M+1, expect send failed - Given Create a "FIFO" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Body("size:4M+1"), messageGroup("a") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario Outline: Send normal/transaction messages with the body size of 4M, expect send and consume success - Given Create a "" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), and Body("size:4M") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Examples: - | MessageType | - | Normal | - | Transaction | - - Scenario: Send delay messages with the body size of 4M, expect send and consume success - Given Create a "delay" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Body("size:4M"), deliveryTimestamp("10s") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Send FIFO messages with the body size of 4M, expect send and consume success - Given Create a "FIFO" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Body("size:4M"), messageGroup("a") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Send normal messages with the body size of 4M and the property size of 16KB, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Body("size:4M"), and messageProperty("size:16kB") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Send FIFO messages with the body size of 4M and the property size of 16KB, expect send and consume success - Given Create a "FIFO" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Body("size:4M"), messageGroup("a"), and messageProperty("size:16kB") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - - - - - - - - - diff --git a/bdd/src/main/resources/message/MessageTag.feature b/bdd/src/main/resources/message/MessageTag.feature deleted file mode 100644 index 7c1692d..0000000 --- a/bdd/src/main/resources/message/MessageTag.feature +++ /dev/null @@ -1,62 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message tag - - Scenario: Message Tag beyond 16KB, expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("size:16kB+1"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message Tag equals 16KB, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("size:16kB"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Message Tag contains invisible characters \u0000, expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("\u0000"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message Tag contains | , expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("tag|"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message Tag contains Chinese, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("中文字符"), and Body("random-body") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - - - diff --git a/bdd/src/main/resources/message/MessageUserProperty.feature b/bdd/src/main/resources/message/MessageUserProperty.feature deleted file mode 100644 index 8828e00..0000000 --- a/bdd/src/main/resources/message/MessageUserProperty.feature +++ /dev/null @@ -1,113 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -Feature: Test message property - - Scenario: Message property beyond limit 128 ,expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Body("random-body"), and messageProperty("random-messageProperty") - And Set message "messageProperty" "129" times - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: The number of message properties equals limit 128, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Body("random-body"), and messageProperty("random-messageProperty") - And Set message "messageProperty" "128" times - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Message property equals 16KB, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Body("random-body"), and messageProperty("size:16kB") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - - Scenario: Message property beyond 16KB, expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Body("random-body"), and messageProperty("size:16kB+1") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario Outline: Message property contains invisible character \u0000 / use SystemKey UNIQ_KEY ,expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), and messageProperty("", "") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Examples: - | KeyContent | ValueContent | - | \u0000 | value | - | UNIQ_KEY | value | - - Scenario: Message property ,key and tag beyond 16KB ,expect throw exception - Given Create a "Normal" topic:"random-topic" if not exist - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("size:4kB"), Key("size:4kB"), Value("size:4kB"), Body("size:4M"), msgKey("size:4kB+1") - And Send "a" messages "synchronous" - Then Check exceptions can be thrown - And Shutdown the producer and consumer if they are started - - Scenario: Message property ,key and tag equals 16KB, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("size:4kB"), Key("size:4kB"), Value("size:4kB"), Body("size:4M"), msgKey("size:4kB") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Message property ,key and tag equals 64B, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a message, including the Topic("random-topic"), Tag("size:64B"), Key("size:64B"), Value("size:64B"), Body("size:64B"), msgKey("size:64B") - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - Scenario: Message property is the visible character, expect send and consume success - Given Create a "Normal" topic:"random-topic" if not exist, a "Concurrently" group:"random-group" - When Create a Producer, set the Endpoint("127.0.0.1:9876"), RequestTimeout:("10s"), Topic("random-topic") - And Create a PushConsumer, set the Endpoint("127.0.0.1:9876"), ConsumerGroup("random-group"), Tag("TagA"), Topic("random-topic"), MessageListener("default") - And Create a message, including the Topic("random-topic"), Tag("random-tag"), Key("中文"), Value("中文"), Body("random-body"), msgKey("random-msgkey") - And Set messageProperty "Key" to "_" and "Value" to "_" - And Set messageProperty "Key" to "%" and "Value" to "%" - And Set messageProperty "Key" to "。" and "Value" to "。" - And Set messageProperty "Key" to "|" and "Value" to "|" - And Set messageProperty "Key" to "&&" and "Value" to "&&" - And Set messageProperty "Key" to "🏷" and "Value" to "🏷" - And Send "a" messages "synchronous" - Then Check all messages that can be consumed within 60s - And Shutdown the producer and consumer if they are started - - - - - - -