[ISSUE #5776] Remove duplicate empty string checks (#5775)

* Remove duplicate empty string checks.

* Revert change.
This commit is contained in:
yx9o
2022-12-30 22:30:35 +08:00
committed by GitHub
parent 70788a2200
commit 59dfe8db75
2 changed files with 53 additions and 12 deletions
@@ -52,17 +52,14 @@ public class GrpcValidator {
}
public void validateTopic(String topicName) {
if (StringUtils.isBlank(topicName)) {
throw new GrpcProxyException(Code.ILLEGAL_TOPIC, "topic name cannot be empty");
}
if (TopicValidator.isSystemTopic(topicName)) {
throw new GrpcProxyException(Code.ILLEGAL_TOPIC, "cannot access system topic");
}
try {
Validators.checkTopic(topicName);
} catch (MQClientException mqClientException) {
throw new GrpcProxyException(Code.ILLEGAL_TOPIC, mqClientException.getErrorMessage());
}
if (TopicValidator.isSystemTopic(topicName)) {
throw new GrpcProxyException(Code.ILLEGAL_TOPIC, "cannot access system topic");
}
}
public void validateConsumerGroup(Resource consumerGroup) {
@@ -70,17 +67,14 @@ public class GrpcValidator {
}
public void validateConsumerGroup(String consumerGroupName) {
if (StringUtils.isBlank(consumerGroupName)) {
throw new GrpcProxyException(Code.ILLEGAL_CONSUMER_GROUP, "consumer group cannot be empty");
}
if (MixAll.isSysConsumerGroup(consumerGroupName)) {
throw new GrpcProxyException(Code.ILLEGAL_CONSUMER_GROUP, "cannot use system consumer group");
}
try {
Validators.checkGroup(consumerGroupName);
} catch (MQClientException mqClientException) {
throw new GrpcProxyException(Code.ILLEGAL_CONSUMER_GROUP, mqClientException.getErrorMessage());
}
if (MixAll.isSysConsumerGroup(consumerGroupName)) {
throw new GrpcProxyException(Code.ILLEGAL_CONSUMER_GROUP, "cannot use system consumer group");
}
}
public void validateTopicAndConsumerGroup(Resource topic, Resource consumerGroup) {
@@ -0,0 +1,47 @@
/*
* 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.
*/
package org.apache.rocketmq.proxy.grpc.v2.common;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertThrows;
public class GrpcValidatorTest {
private GrpcValidator grpcValidator;
@Before
public void before() {
this.grpcValidator = GrpcValidator.getInstance();
}
@Test
public void testValidateTopic() {
assertThrows(GrpcProxyException.class, () -> grpcValidator.validateTopic(""));
assertThrows(GrpcProxyException.class, () -> grpcValidator.validateTopic("rmq_sys_xxxx"));
grpcValidator.validateTopic("topicName");
}
@Test
public void testValidateConsumerGroup() {
assertThrows(GrpcProxyException.class, () -> grpcValidator.validateConsumerGroup(""));
assertThrows(GrpcProxyException.class, () -> grpcValidator.validateConsumerGroup("CID_RMQ_SYS_xxxx"));
grpcValidator.validateConsumerGroup("consumerGroupName");
}
}