From c62970035c2a7b76bb347118d59a45db2f481db1 Mon Sep 17 00:00:00 2001 From: laohu <8wy118611@163.com> Date: Thu, 1 Nov 2018 23:59:28 +0800 Subject: [PATCH] clean --- acl-plug/pom.xml | 2 +- .../apache/rocketmq/acl/AccessValidator.java | 6 +- .../rocketmq/acl/DefaultAccessValidator.java | 6 +- .../acl/plug/AccessContralAnalysis.java | 7 +- .../rocketmq/acl/plug/Authentication.java | 2 +- .../plug/DefaultAclRemotingServiceImpl.java | 34 +-- .../acl/plug/engine/AclPlugEngine.java | 4 +- ...enticationInfoManagementAclPlugEngine.java | 44 ++-- .../plug/engine/LoginInfoAclPlugEngine.java | 3 +- .../acl/plug/engine/PlainAclPlugEngine.java | 9 +- .../acl/plug/entity/AccessControl.java | 6 +- .../acl/plug/entity/AuthenticationInfo.java | 7 +- .../acl/plug/entity/BorkerAccessControl.java | 4 +- .../acl/plug/entity/ControllerParameters.java | 2 +- .../rocketmq/acl/plug/entity/LoginInfo.java | 4 +- .../strategy/NetaddressStrategyFactory.java | 5 +- .../acl/plug/AclRemotingServiceTest.java | 203 +++++++++--------- .../rocketmq/acl/plug/AclUtilsTest.java | 5 +- .../plug/engine/PlainAclPlugEngineTest.java | 45 +--- broker/pom.xml | 2 +- .../rocketmq/broker/BrokerController.java | 1 - pom.xml | 2 +- 22 files changed, 190 insertions(+), 213 deletions(-) diff --git a/acl-plug/pom.xml b/acl-plug/pom.xml index 1cdc4a29..762d7a19 100644 --- a/acl-plug/pom.xml +++ b/acl-plug/pom.xml @@ -18,7 +18,7 @@ rocketmq-all 4.4.0-SNAPSHOT - rocketmq-acl-plug + rocketmq-acl rocketmq-acl-plug ${project.version} http://maven.apache.org diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/AccessValidator.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/AccessValidator.java index 46f5728b..0b1b0823 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/AccessValidator.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/AccessValidator.java @@ -22,14 +22,16 @@ import org.apache.rocketmq.remoting.protocol.RemotingCommand; public interface AccessValidator { /** * Parse to get the AccessResource(user, resource, needed permission) + * * @param request * @return */ - AccessResource parse(RemotingCommand request,String remoteAddr); + AccessResource parse(RemotingCommand request, String remoteAddr); /** * Validate the access resource. + * * @param accessResource */ - void validate(AccessResource accessResource) ; + void validate(AccessResource accessResource); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/DefaultAccessValidator.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/DefaultAccessValidator.java index 215a756e..704ace47 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/DefaultAccessValidator.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/DefaultAccessValidator.java @@ -21,11 +21,13 @@ import org.apache.rocketmq.remoting.protocol.RemotingCommand; public class DefaultAccessValidator implements AccessValidator { - @Override public AccessResource parse(RemotingCommand request,String remoteAddr ) { + @Override + public AccessResource parse(RemotingCommand request, String remoteAddr) { return null; } - @Override public void validate(AccessResource accessResource) { + @Override + public void validate(AccessResource accessResource) { } } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/AccessContralAnalysis.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/AccessContralAnalysis.java index 75c907d8..1adf6d43 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/AccessContralAnalysis.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/AccessContralAnalysis.java @@ -16,14 +16,15 @@ */ package org.apache.rocketmq.acl.plug; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.acl.plug.entity.AccessControl; +import org.apache.rocketmq.acl.plug.exception.AclPlugRuntimeException; + import java.lang.reflect.Field; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import org.apache.commons.lang3.StringUtils; -import org.apache.rocketmq.acl.plug.entity.AccessControl; -import org.apache.rocketmq.acl.plug.exception.AclPlugRuntimeException; public class AccessContralAnalysis { diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/Authentication.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/Authentication.java index 901cc409..ae247e72 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/Authentication.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/Authentication.java @@ -24,7 +24,7 @@ import org.apache.rocketmq.acl.plug.entity.BorkerAccessControl; public class Authentication { public boolean authentication(AuthenticationInfo authenticationInfo, - AccessControl accessControl, AuthenticationResult authenticationResult) { + AccessControl accessControl, AuthenticationResult authenticationResult) { int code = accessControl.getCode(); if (!authenticationInfo.getAuthority().get(code)) { authenticationResult.setResultString(String.format("code is %d Authentication failed", code)); diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/DefaultAclRemotingServiceImpl.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/DefaultAclRemotingServiceImpl.java index 7bb13a18..8abf35a3 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/DefaultAclRemotingServiceImpl.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/DefaultAclRemotingServiceImpl.java @@ -16,8 +16,6 @@ */ package org.apache.rocketmq.acl.plug; -import java.util.HashMap; - import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.acl.AccessResource; import org.apache.rocketmq.acl.AccessValidator; @@ -29,16 +27,18 @@ import org.apache.rocketmq.acl.plug.entity.ControllerParameters; import org.apache.rocketmq.acl.plug.exception.AclPlugRuntimeException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; -public class DefaultAclRemotingServiceImpl implements AclRemotingService ,AccessValidator{ +import java.util.HashMap; + +public class DefaultAclRemotingServiceImpl implements AclRemotingService, AccessValidator { private AclPlugEngine aclPlugEngine; public DefaultAclRemotingServiceImpl() { - ControllerParameters controllerParameters = new ControllerParameters(); - this.aclPlugEngine = new PlainAclPlugEngine(controllerParameters); - this.aclPlugEngine.initialize(); + ControllerParameters controllerParameters = new ControllerParameters(); + this.aclPlugEngine = new PlainAclPlugEngine(controllerParameters); + this.aclPlugEngine.initialize(); } - + public DefaultAclRemotingServiceImpl(AclPlugEngine aclPlugEngine) { this.aclPlugEngine = aclPlugEngine; } @@ -55,9 +55,9 @@ public class DefaultAclRemotingServiceImpl implements AclRemotingService ,Access return authenticationResult; } - @Override - public AccessResource parse(RemotingCommand request ,String remoteAddr) { - HashMap extFields = request.getExtFields(); + @Override + public AccessResource parse(RemotingCommand request, String remoteAddr) { + HashMap extFields = request.getExtFields(); AccessControl accessControl = new AccessControl(); accessControl.setCode(request.getCode()); accessControl.setRecognition(remoteAddr); @@ -66,19 +66,19 @@ public class DefaultAclRemotingServiceImpl implements AclRemotingService ,Access accessControl.setPassword(extFields.get("password")); accessControl.setNetaddress(StringUtils.split(remoteAddr, ":")[0]); accessControl.setTopic(extFields.get("topic")); -} - return accessControl; - } + } + return accessControl; + } - @Override - public void validate(AccessResource accessResource) { - AuthenticationResult authenticationResult = aclPlugEngine.eachCheckAuthentication((AccessControl)accessResource); + @Override + public void validate(AccessResource accessResource) { + AuthenticationResult authenticationResult = aclPlugEngine.eachCheckAuthentication((AccessControl) accessResource); if (authenticationResult.getException() != null) { throw new AclPlugRuntimeException(String.format("eachCheck the inspection appear exception, accessControl data is %s", accessResource.toString()), authenticationResult.getException()); } if (authenticationResult.getAccessControl() == null || !authenticationResult.isSucceed()) { throw new AclPlugRuntimeException(String.format("%s accessControl data is %s", authenticationResult.getResultString(), accessResource.toString())); } - } + } } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AclPlugEngine.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AclPlugEngine.java index e4ef9872..d1572755 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AclPlugEngine.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AclPlugEngine.java @@ -30,8 +30,8 @@ public interface AclPlugEngine { public void deleteLoginInfo(String remoteAddr); public AuthenticationResult eachCheckLoginAndAuthentication(AccessControl accessControl); - - public AuthenticationResult eachCheckAuthentication(AccessControl accessControl); + + public AuthenticationResult eachCheckAuthentication(AccessControl accessControl); public void initialize(); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AuthenticationInfoManagementAclPlugEngine.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AuthenticationInfoManagementAclPlugEngine.java index 12f7d8b2..a6399fc3 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AuthenticationInfoManagementAclPlugEngine.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/AuthenticationInfoManagementAclPlugEngine.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; + import org.apache.rocketmq.acl.plug.AccessContralAnalysis; import org.apache.rocketmq.acl.plug.Authentication; import org.apache.rocketmq.acl.plug.entity.AccessControl; @@ -61,10 +62,10 @@ public abstract class AuthenticationInfoManagementAclPlugEngine implements AclPl accessControlMap.put(accessControl.getAccount(), accessControlAddressList); } AuthenticationInfo authenticationInfo = new AuthenticationInfo(accessContralAnalysis.analysis(accessControl), accessControl, netaddressStrategy); - accessControlAddressList.add( authenticationInfo); + accessControlAddressList.add(authenticationInfo); log.info("authenticationInfo is {}", authenticationInfo.toString()); } catch (Exception e) { - throw new AclPlugRuntimeException(String.format("Exception info %s %s" ,e.getMessage() , accessControl.toString()), e); + throw new AclPlugRuntimeException(String.format("Exception info %s %s", e.getMessage(), accessControl.toString()), e); } } @@ -90,11 +91,11 @@ public abstract class AuthenticationInfoManagementAclPlugEngine implements AclPl } else { List accessControlAddressList = accessControlMap.get(accessControl.getAccount()); if (accessControlAddressList != null) { - for(AuthenticationInfo ai : accessControlAddressList) { - if(ai.getNetaddressStrategy().match(accessControl)&&ai.getAccessControl().getPassword().equals(accessControl.getPassword())) { - return ai; - } - } + for (AuthenticationInfo ai : accessControlAddressList) { + if (ai.getNetaddressStrategy().match(accessControl) && ai.getAccessControl().getPassword().equals(accessControl.getPassword())) { + return ai; + } + } } } return null; @@ -115,19 +116,20 @@ public abstract class AuthenticationInfoManagementAclPlugEngine implements AclPl } return authenticationResult; } - - public AuthenticationResult eachCheckAuthentication(AccessControl accessControl) { - AuthenticationResult authenticationResult = new AuthenticationResult(); - AuthenticationInfo authenticationInfo = getAccessControl(accessControl); - if(authenticationInfo != null) { - boolean boo = authentication.authentication(authenticationInfo, accessControl, authenticationResult); - authenticationResult.setSucceed(boo); - }else { - authenticationResult.setResultString("accessControl is null, Please check login, password, IP\""); - } - - - return authenticationResult; + + public AuthenticationResult eachCheckAuthentication(AccessControl accessControl) { + AuthenticationResult authenticationResult = new AuthenticationResult(); + AuthenticationInfo authenticationInfo = getAccessControl(accessControl); + if (authenticationInfo != null) { + boolean boo = authentication.authentication(authenticationInfo, accessControl, authenticationResult); + authenticationResult.setSucceed(boo); + authenticationResult.setAccessControl(authenticationInfo.getAccessControl()); + } else { + authenticationResult.setResultString("accessControl is null, Please check login, password, IP\""); + } + + + return authenticationResult; } void setBorkerAccessControlTransport(BorkerAccessControlTransport transport) { @@ -146,5 +148,5 @@ public abstract class AuthenticationInfoManagementAclPlugEngine implements AclPl } protected abstract AuthenticationInfo getAuthenticationInfo(AccessControl accessControl, - AuthenticationResult authenticationResult); + AuthenticationResult authenticationResult); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/LoginInfoAclPlugEngine.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/LoginInfoAclPlugEngine.java index e8dc59c4..35b56834 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/LoginInfoAclPlugEngine.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/LoginInfoAclPlugEngine.java @@ -18,6 +18,7 @@ package org.apache.rocketmq.acl.plug.engine; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; + import org.apache.rocketmq.acl.plug.entity.AccessControl; import org.apache.rocketmq.acl.plug.entity.AuthenticationInfo; import org.apache.rocketmq.acl.plug.entity.AuthenticationResult; @@ -53,7 +54,7 @@ public abstract class LoginInfoAclPlugEngine extends AuthenticationInfoManagemen } protected AuthenticationInfo getAuthenticationInfo(AccessControl accessControl, - AuthenticationResult authenticationResult) { + AuthenticationResult authenticationResult) { LoginInfo loginInfo = getLoginInfo(accessControl); if (loginInfo != null && loginInfo.getAuthenticationInfo() != null) { return loginInfo.getAuthenticationInfo(); diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngine.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngine.java index d1a7d952..bcb89b8f 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngine.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngine.java @@ -16,18 +16,19 @@ */ package org.apache.rocketmq.acl.plug.engine; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; import org.apache.rocketmq.acl.plug.entity.BorkerAccessControlTransport; import org.apache.rocketmq.acl.plug.entity.ControllerParameters; import org.apache.rocketmq.acl.plug.exception.AclPlugRuntimeException; import org.yaml.snakeyaml.Yaml; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; + public class PlainAclPlugEngine extends LoginInfoAclPlugEngine { public PlainAclPlugEngine( - ControllerParameters controllerParameters) throws AclPlugRuntimeException { + ControllerParameters controllerParameters) throws AclPlugRuntimeException { super(controllerParameters); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AccessControl.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AccessControl.java index b46a034b..092a97ef 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AccessControl.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AccessControl.java @@ -18,7 +18,7 @@ package org.apache.rocketmq.acl.plug.entity; import org.apache.rocketmq.acl.AccessResource; -public class AccessControl implements AccessResource{ +public class AccessControl implements AccessResource { private String account; @@ -87,8 +87,8 @@ public class AccessControl implements AccessResource{ public String toString() { StringBuilder builder = new StringBuilder(); builder.append("AccessControl [account=").append(account).append(", password=").append(password) - .append(", netaddress=").append(netaddress).append(", recognition=").append(recognition) - .append(", code=").append(code).append(", topic=").append(topic).append("]"); + .append(", netaddress=").append(netaddress).append(", recognition=").append(recognition) + .append(", code=").append(code).append(", topic=").append(topic).append("]"); return builder.toString(); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AuthenticationInfo.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AuthenticationInfo.java index 981bef85..a1696e2e 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AuthenticationInfo.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/AuthenticationInfo.java @@ -16,10 +16,11 @@ */ package org.apache.rocketmq.acl.plug.entity; +import org.apache.rocketmq.acl.plug.strategy.NetaddressStrategy; + import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import org.apache.rocketmq.acl.plug.strategy.NetaddressStrategy; public class AuthenticationInfo { @@ -30,7 +31,7 @@ public class AuthenticationInfo { private Map authority; public AuthenticationInfo(Map authority, AccessControl accessControl, - NetaddressStrategy netaddressStrategy) { + NetaddressStrategy netaddressStrategy) { super(); this.authority = authority; this.accessControl = accessControl; @@ -65,7 +66,7 @@ public class AuthenticationInfo { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("AuthenticationInfo [accessControl=").append(accessControl).append(", netaddressStrategy=") - .append(netaddressStrategy).append(", authority={"); + .append(netaddressStrategy).append(", authority={"); Iterator> it = authority.entrySet().iterator(); while (it.hasNext()) { Entry e = it.next(); diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/BorkerAccessControl.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/BorkerAccessControl.java index d40fadfa..b5eb1187 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/BorkerAccessControl.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/BorkerAccessControl.java @@ -556,8 +556,8 @@ public class BorkerAccessControl extends AccessControl { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("BorkerAccessControl [permitSendTopic=").append(permitSendTopic).append(", noPermitSendTopic=") - .append(noPermitSendTopic).append(", permitPullTopic=").append(permitPullTopic) - .append(", noPermitPullTopic=").append(noPermitPullTopic); + .append(noPermitSendTopic).append(", permitPullTopic=").append(permitPullTopic) + .append(", noPermitPullTopic=").append(noPermitPullTopic); if (!!sendMessage) builder.append(", sendMessage=").append(sendMessage); if (!!sendMessageV2) diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/ControllerParameters.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/ControllerParameters.java index 74ae4a7e..94873b5f 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/ControllerParameters.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/ControllerParameters.java @@ -45,7 +45,7 @@ public class ControllerParameters { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("ControllerParametersEntity [fileHome=").append(fileHome).append(", accessContralAnalysisClass=") - .append(accessContralAnalysisClass).append("]"); + .append(accessContralAnalysisClass).append("]"); return builder.toString(); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/LoginInfo.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/LoginInfo.java index e08d7d38..df1166be 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/LoginInfo.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/entity/LoginInfo.java @@ -74,8 +74,8 @@ public class LoginInfo { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("LoginInfo [recognition=").append(recognition).append(", loginTime=").append(loginTime) - .append(", operationTime=").append(operationTime).append(", clear=").append(clear) - .append(", authenticationInfo=").append(authenticationInfo).append("]"); + .append(", operationTime=").append(operationTime).append(", clear=").append(clear) + .append(", authenticationInfo=").append(authenticationInfo).append("]"); return builder.toString(); } diff --git a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/strategy/NetaddressStrategyFactory.java b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/strategy/NetaddressStrategyFactory.java index cdb78675..4be99530 100644 --- a/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/strategy/NetaddressStrategyFactory.java +++ b/acl-plug/src/main/java/org/apache/rocketmq/acl/plug/strategy/NetaddressStrategyFactory.java @@ -16,13 +16,14 @@ */ package org.apache.rocketmq.acl.plug.strategy; -import java.util.HashSet; -import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.acl.plug.AclUtils; import org.apache.rocketmq.acl.plug.entity.AccessControl; import org.apache.rocketmq.acl.plug.exception.AclPlugRuntimeException; +import java.util.HashSet; +import java.util.Set; + public class NetaddressStrategyFactory { public static final NullNetaddressStrategy NULL_NET_ADDRESS_STRATEGY = new NullNetaddressStrategy(); diff --git a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclRemotingServiceTest.java b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclRemotingServiceTest.java index c0d8cdb1..ba0c8dc1 100644 --- a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclRemotingServiceTest.java +++ b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclRemotingServiceTest.java @@ -15,23 +15,23 @@ import org.junit.Test;; public class AclRemotingServiceTest { - - AclRemotingService defaultAclService; - - AccessValidator accessValidator; - - AccessControl accessControl; + + AclRemotingService defaultAclService; + + AccessValidator accessValidator; + + AccessControl accessControl; AccessControl accessControlTwo; - - @Before - public void init() { - System.setProperty("rocketmq.home.dir", "src/test/resources"); - DefaultAclRemotingServiceImpl aclRemotingServiceImpl = new DefaultAclRemotingServiceImpl(); - defaultAclService = aclRemotingServiceImpl; - accessValidator = aclRemotingServiceImpl; - - accessControl = new BorkerAccessControl(); + + @Before + public void init() { + System.setProperty("rocketmq.home.dir", "src/test/resources"); + DefaultAclRemotingServiceImpl aclRemotingServiceImpl = new DefaultAclRemotingServiceImpl(); + defaultAclService = aclRemotingServiceImpl; + accessValidator = aclRemotingServiceImpl; + + accessControl = new BorkerAccessControl(); accessControl.setAccount("RocketMQ"); accessControl.setPassword("1234567"); accessControl.setNetaddress("192.0.0.1"); @@ -42,91 +42,90 @@ public class AclRemotingServiceTest { accessControlTwo.setPassword("1234567"); accessControlTwo.setNetaddress("192.0.2.1"); accessControlTwo.setRecognition("127.0.0.1:2"); - } - - - - @Test - public void defaultConstructorTest() { - System.setProperty("rocketmq.home.dir", "src/test/resources"); - AclRemotingService defaultAclService = new DefaultAclRemotingServiceImpl(); - Assert.assertNotNull(defaultAclService); - } - - @Test - public void parseTest() { - RemotingCommand remotingCommand = RemotingCommand.createResponseCommand(34, ""); - HashMap map = new HashMap<>(); - map.put("account", "RocketMQ"); - map.put("password","123456"); - map.put("topic","test"); - remotingCommand.setExtFields(map); - - AccessResource accessResource = accessValidator.parse(remotingCommand, "127.0.0.1:123"); - AccessControl accessControl = (AccessControl)accessResource; - AccessControl newAccessControl = new AccessControl(); - newAccessControl.setAccount("RocketMQ"); - newAccessControl.setPassword("123456"); - newAccessControl.setTopic("test"); - newAccessControl.setCode(34); - newAccessControl.setNetaddress("127.0.0.1"); - newAccessControl.setRecognition("127.0.0.1:123"); - Assert.assertEquals(accessControl.toString(), newAccessControl.toString()); - } - - @Test - public void checkTest() { - accessControl.setCode(34); - AuthenticationResult authenticationResult = defaultAclService.check(accessControl); - Assert.assertTrue(authenticationResult.isSucceed()); - } - - @Test(expected=AclPlugRuntimeException.class) - public void checkAccessExceptionTest() { - accessControl.setCode(34); - accessControl.setAccount("Rocketmq"); - defaultAclService.check(accessControl); - } - - @Test(expected=AclPlugRuntimeException.class) - public void checkPasswordTest() { - accessControl.setCode(34); - accessControl.setPassword("123123123"); - defaultAclService.check(accessControl); - } - - @Test(expected=AclPlugRuntimeException.class) - public void checkCodeTest() { - accessControl.setCode(14434); - accessControl.setPassword("123123123"); - defaultAclService.check(accessControl); - } - - - @Test - public void validateTest() { - accessControl.setCode(34); - accessValidator.validate(accessControl); - } - - @Test(expected=AclPlugRuntimeException.class) - public void validateAccessExceptionTest() { - accessControl.setCode(34); - accessControl.setAccount("Rocketmq"); - accessValidator.validate(accessControl); - } - - @Test(expected=AclPlugRuntimeException.class) - public void validatePasswordTest() { - accessControl.setCode(34); - accessControl.setPassword("123123123"); - accessValidator.validate(accessControl); - } - - @Test(expected=AclPlugRuntimeException.class) - public void validateCodeTest() { - accessControl.setCode(14434); - accessControl.setPassword("123123123"); - accessValidator.validate(accessControl); - } + } + + + @Test + public void defaultConstructorTest() { + System.setProperty("rocketmq.home.dir", "src/test/resources"); + AclRemotingService defaultAclService = new DefaultAclRemotingServiceImpl(); + Assert.assertNotNull(defaultAclService); + } + + @Test + public void parseTest() { + RemotingCommand remotingCommand = RemotingCommand.createResponseCommand(34, ""); + HashMap map = new HashMap<>(); + map.put("account", "RocketMQ"); + map.put("password", "123456"); + map.put("topic", "test"); + remotingCommand.setExtFields(map); + + AccessResource accessResource = accessValidator.parse(remotingCommand, "127.0.0.1:123"); + AccessControl accessControl = (AccessControl) accessResource; + AccessControl newAccessControl = new AccessControl(); + newAccessControl.setAccount("RocketMQ"); + newAccessControl.setPassword("123456"); + newAccessControl.setTopic("test"); + newAccessControl.setCode(34); + newAccessControl.setNetaddress("127.0.0.1"); + newAccessControl.setRecognition("127.0.0.1:123"); + Assert.assertEquals(accessControl.toString(), newAccessControl.toString()); + } + + @Test + public void checkTest() { + accessControl.setCode(34); + AuthenticationResult authenticationResult = defaultAclService.check(accessControl); + Assert.assertTrue(authenticationResult.isSucceed()); + } + + @Test(expected = AclPlugRuntimeException.class) + public void checkAccessExceptionTest() { + accessControl.setCode(34); + accessControl.setAccount("Rocketmq"); + defaultAclService.check(accessControl); + } + + @Test(expected = AclPlugRuntimeException.class) + public void checkPasswordTest() { + accessControl.setCode(34); + accessControl.setPassword("123123123"); + defaultAclService.check(accessControl); + } + + @Test(expected = AclPlugRuntimeException.class) + public void checkCodeTest() { + accessControl.setCode(14434); + accessControl.setPassword("123123123"); + defaultAclService.check(accessControl); + } + + + @Test + public void validateTest() { + accessControl.setCode(34); + accessValidator.validate(accessControl); + } + + @Test(expected = AclPlugRuntimeException.class) + public void validateAccessExceptionTest() { + accessControl.setCode(34); + accessControl.setAccount("Rocketmq"); + accessValidator.validate(accessControl); + } + + @Test(expected = AclPlugRuntimeException.class) + public void validatePasswordTest() { + accessControl.setCode(34); + accessControl.setPassword("123123123"); + accessValidator.validate(accessControl); + } + + @Test(expected = AclPlugRuntimeException.class) + public void validateCodeTest() { + accessControl.setCode(14434); + accessControl.setPassword("123123123"); + accessValidator.validate(accessControl); + } } diff --git a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclUtilsTest.java b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclUtilsTest.java index 806d1808..b0cc4dab 100644 --- a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclUtilsTest.java +++ b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/AclUtilsTest.java @@ -18,13 +18,12 @@ package org.apache.rocketmq.acl.plug; import java.util.ArrayList; import java.util.List; + import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; -@RunWith(MockitoJUnitRunner.class) + public class AclUtilsTest { @Test diff --git a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngineTest.java b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngineTest.java index c925ef41..83004bc2 100644 --- a/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngineTest.java +++ b/acl-plug/src/test/java/org/apache/rocketmq/acl/plug/engine/PlainAclPlugEngineTest.java @@ -57,46 +57,14 @@ public class PlainAclPlugEngineTest { @Before public void init() throws NoSuchFieldException, SecurityException, IOException { + System.setProperty("rocketmq.home.dir", "src/test/resources"); + ControllerParameters controllerParametersEntity = new ControllerParameters(); Yaml ymal = new Yaml(); - String home = System.getProperty(MixAll.ROCKETMQ_HOME_PROPERTY, System.getenv(MixAll.ROCKETMQ_HOME_ENV)); - InputStream fis = null; - if (home == null) { - URL url = PlainAclPlugEngineTest.class.getResource("/"); - home = url.toString(); - home = home.substring(0, home.length() - 1).replace("file:/", "").replace("target/test-classes", ""); - home = home + "src/test/resources"; - if (!new File(home + "/conf/transport.yml").exists()) { - home = "/home/travis/build/githublaohu/rocketmq/acl-plug/src/test/resources"; - } - } - String filePath = home + "/conf/transport.yml"; - try { - fis = new FileInputStream(new File(filePath)); - transport = ymal.loadAs(fis, BorkerAccessControlTransport.class); - }catch(Exception e) { - AccessControl accessControl = new BorkerAccessControl(); - accessControl.setAccount("onlyNetAddress"); - accessControl.setPassword("aliyun11"); - accessControl.setNetaddress("127.0.0.1"); - accessControl.setRecognition("127.0.0.1:1"); - - AccessControl accessControlTwo = new BorkerAccessControl(); - accessControlTwo.setAccount("listTransport"); - accessControlTwo.setPassword("aliyun1"); - accessControlTwo.setNetaddress("127.0.0.1"); - accessControlTwo.setRecognition("127.0.0.1:2"); - transport = new BorkerAccessControlTransport(); - transport.setOnlyNetAddress((BorkerAccessControl)accessControl); - - } - ControllerParameters controllerParametersEntity = new ControllerParameters(); - controllerParametersEntity.setFileHome(null); - try { - plainAclPlugEngine = new PlainAclPlugEngine(controllerParametersEntity); - plainAclPlugEngine.initialize(); - } catch (Exception e) { + transport = ymal.loadAs(new FileInputStream(new File(controllerParametersEntity.getFileHome()+"/conf/transport.yml")), BorkerAccessControlTransport.class); + + plainAclPlugEngine = new PlainAclPlugEngine(controllerParametersEntity); + plainAclPlugEngine.initialize(); - } accessControl = new BorkerAccessControl(); accessControl.setAccount("rokcetmq"); @@ -142,6 +110,7 @@ public class PlainAclPlugEngineTest { @Test(expected = AclPlugRuntimeException.class) public void testPlainAclPlugEngineInit() { ControllerParameters controllerParametersEntity = new ControllerParameters(); + controllerParametersEntity.setFileHome(""); new PlainAclPlugEngine(controllerParametersEntity).initialize(); } diff --git a/broker/pom.xml b/broker/pom.xml index c353eb32..f617d249 100644 --- a/broker/pom.xml +++ b/broker/pom.xml @@ -50,7 +50,7 @@ ${project.groupId} - rocketmq-acl-plug + rocketmq-acl ch.qos.logback diff --git a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java index d06949ca..a6da44b6 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java @@ -32,7 +32,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.acl.AccessValidator; -import org.apache.rocketmq.acl.plug.AclPlugController; import org.apache.rocketmq.broker.client.ClientHousekeepingService; import org.apache.rocketmq.broker.client.ConsumerIdsChangeListener; import org.apache.rocketmq.broker.client.ConsumerManager; diff --git a/pom.xml b/pom.xml index 38e518da..aa8ed0e3 100644 --- a/pom.xml +++ b/pom.xml @@ -525,7 +525,7 @@ ${project.groupId} - rocketmq-acl-plug + rocketmq-acl ${project.version} -- GitLab