This is an automated email from the ASF dual-hosted git repository. gosonzhang pushed a commit to branch TUBEMQ-570 in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git
commit f9f1c273d2d53bf2a63f8136ac75b657dd2a6e46 Author: gosonzhang <[email protected]> AuthorDate: Wed May 26 12:27:22 2021 +0800 [INLONG-618] Add unit tests for metastore.dao.entity.* --- .../tubemq/corebase/utils/SettingValidUtils.java | 13 ++ .../{CuPolType.java => CleanPolType.java} | 10 +- .../server/common/statusdef/EnableStatus.java | 2 +- .../server/master/metamanage/MetaDataManager.java | 59 ------- .../metastore/dao/entity/BaseEntity.java | 45 +---- .../metastore/dao/entity/BrokerConfEntity.java | 26 --- .../metastore/dao/entity/ClusterSettingEntity.java | 22 ++- .../dao/entity/GroupConsumeCtrlEntity.java | 24 +-- .../metastore/dao/entity/GroupResCtrlEntity.java | 29 +--- .../metastore/dao/entity/TopicCtrlEntity.java | 45 ++--- .../metastore/dao/entity/TopicDeployEntity.java | 15 -- .../metastore/dao/entity/TopicPropGroup.java | 24 +-- .../metastore/dao/entity/BaseEntityTest.java | 156 +++++++++++++++++ .../metastore/dao/entity/BrokerConfEntityTest.java | 120 +++++++++++++ .../dao/entity/ClusterSettingEntityTest.java | 185 +++++++++++++++++++++ .../dao/entity/GroupConsumeCtrlEntityTest.java | 90 ++++++++++ .../dao/entity/GroupResCtrlEntityTest.java | 129 ++++++++++++++ .../metastore/dao/entity/TopicCtrlEntityTest.java | 119 +++++++++++++ .../metastore/dao/entity/TopicPropGroupTest.java | 156 +++++++++++++++++ 19 files changed, 1036 insertions(+), 233 deletions(-) diff --git a/tubemq-core/src/main/java/org/apache/tubemq/corebase/utils/SettingValidUtils.java b/tubemq-core/src/main/java/org/apache/tubemq/corebase/utils/SettingValidUtils.java index e748ba4..18a5d2b 100644 --- a/tubemq-core/src/main/java/org/apache/tubemq/corebase/utils/SettingValidUtils.java +++ b/tubemq-core/src/main/java/org/apache/tubemq/corebase/utils/SettingValidUtils.java @@ -23,6 +23,19 @@ import org.apache.tubemq.corebase.TBaseConstants; public class SettingValidUtils { + public static int validAndGetMsgSizeInMB(int inMaxMsgSizeInMB) { + return MixedUtils.mid(inMaxMsgSizeInMB, + TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB, + TBaseConstants.META_MAX_ALLOWED_MESSAGE_SIZE_MB); + } + + public static int validAndGetMsgSizeBtoMB(int inMaxMsgSizeInB) { + return MixedUtils.mid(inMaxMsgSizeInB, + TBaseConstants.META_MAX_MESSAGE_DATA_SIZE, + TBaseConstants.META_MAX_MESSAGE_DATA_SIZE_UPPER_LIMIT) + / TBaseConstants.META_MB_UNIT_SIZE; + } + public static int validAndXfeMaxMsgSizeFromMBtoB(int inMaxMsgSizeInMB) { return MixedUtils.mid(inMaxMsgSizeInMB, TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB, diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CuPolType.java b/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CleanPolType.java similarity index 82% rename from tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CuPolType.java rename to tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CleanPolType.java index b6ab79f..8f9a6e4 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CuPolType.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/CleanPolType.java @@ -18,14 +18,14 @@ package org.apache.tubemq.server.common.statusdef; -public enum CuPolType { - CU_POL_DELETE(0, "Delete"); +public enum CleanPolType { + CLEAN_POL_DELETE(0, "Delete"); private int code; private String description; - CuPolType(int code, String description) { + CleanPolType(int code, String description) { this.code = code; this.description = description; } @@ -35,8 +35,8 @@ public enum CuPolType { } - public static CuPolType valueOf(int code) { - for (CuPolType status : CuPolType.values()) { + public static CleanPolType valueOf(int code) { + for (CleanPolType status : CleanPolType.values()) { if (status.getCode() == code) { return status; } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/EnableStatus.java b/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/EnableStatus.java index b158572..7ef6bc3 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/EnableStatus.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/common/statusdef/EnableStatus.java @@ -21,7 +21,7 @@ package org.apache.tubemq.server.common.statusdef; public enum EnableStatus { STATUS_UNDEFINE(-2, "Undefined."), STATUS_DISABLE(0, "Disable."), - STATUS_ENABLE(1, "Enable."); + STATUS_ENABLE(2, "Enable."); private int code; private String description; diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/MetaDataManager.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/MetaDataManager.java index 9d9ed13..e6ee213 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/MetaDataManager.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/MetaDataManager.java @@ -1453,65 +1453,6 @@ public class MetaDataManager implements Server { return result.isSuccess(); } - - /** - * Add if absent topic control configure info - * - * @param deployEntity the topic deploy info will be add - * @param strBuffer the print info string buffer - * @param result the process result return - * @return true if success otherwise false - */ - public void addIfAbsentTopicCtrlConf(TopicDeployEntity deployEntity, - StringBuilder strBuffer, - ProcessResult result) { - TopicCtrlEntity curEntity = - metaStoreService.getTopicCtrlConf(deployEntity.getTopicName()); - if (curEntity != null) { - return; - } - int maxMsgSizeInMB = TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB; - ClusterSettingEntity defSetting = metaStoreService.getClusterConfig(); - if (defSetting != null) { - maxMsgSizeInMB = defSetting.getMaxMsgSizeInMB(); - } - curEntity = new TopicCtrlEntity(deployEntity.getTopicName(), - deployEntity.getTopicId(), maxMsgSizeInMB, deployEntity.getCreateUser()); - metaStoreService.addTopicCtrlConf(curEntity, strBuffer, result); - return; - } - - /** - * Add if absent topic control configure info - * - * @param topicNameSet the topic name will be add - * @param operator the topic name id will be add - * @param operator operator - * @param sBuffer the print info string buffer - */ - public boolean addIfAbsentTopicCtrlConf(Set<String> topicNameSet, String operator, - StringBuilder sBuffer, ProcessResult result) { - TopicCtrlEntity curEntity; - int maxMsgSizeInMB = TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB; - ClusterSettingEntity defSetting = metaStoreService.getClusterConfig(); - if (defSetting != null) { - maxMsgSizeInMB = defSetting.getMaxMsgSizeInMB(); - } - for (String topicName : topicNameSet) { - curEntity = metaStoreService.getTopicCtrlConf(topicName); - if (curEntity != null) { - continue; - } - curEntity = new TopicCtrlEntity(topicName, - TBaseConstants.META_VALUE_UNDEFINED, maxMsgSizeInMB, operator); - if (!metaStoreService.addTopicCtrlConf(curEntity, sBuffer, result)) { - return result.isSuccess(); - } - } - result.setSuccResult(null); - return result.isSuccess(); - } - /** * Add if absent topic control configure info * diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java index 6ee733a..9cf1853 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java @@ -46,10 +46,6 @@ public class BaseEntity implements Serializable, Cloneable { } - public BaseEntity(long dataVersionId) { - this.dataVersionId = dataVersionId; - } - public BaseEntity(String createUser, Date createDate) { this(TServerConstants.DEFAULT_DATA_VERSION, createUser, createDate, createUser, createDate); @@ -61,6 +57,8 @@ public class BaseEntity implements Serializable, Cloneable { this.setCreateDate(other.createDate); this.modifyUser = other.modifyUser; this.setModifyDate(other.modifyDate); + this.serialId = other.serialId; + this.attributes = other.attributes; } public BaseEntity(long dataVersionId, String createUser, Date createDate) { @@ -81,6 +79,7 @@ public class BaseEntity implements Serializable, Cloneable { this.setCreateDate(createDate); this.modifyUser = modifyUser; this.setModifyDate(modifyDate); + updSerialId(); } public boolean updBaseModifyInfo(BaseEntity opInfoEntity) { @@ -126,44 +125,6 @@ public class BaseEntity implements Serializable, Cloneable { return changed; } - public boolean updBaseModifyInfo(long newDataVerId, String newCreateUser, - Date newCreateDate, String newModifyUser, - Date newModifyDate, String newAttributes) { - boolean changed = false; - // check and set dataVersionId field - if (newDataVerId != TBaseConstants.META_VALUE_UNDEFINED - && this.dataVersionId != newDataVerId) { - changed = true; - this.dataVersionId = newDataVerId; - } - if (TStringUtils.isNotBlank(newCreateUser) - && !Objects.equals(createUser, newCreateUser)) { - changed = true; - this.createUser = newCreateUser; - } - if (newCreateDate != null - && !Objects.equals(createDate, newCreateDate)) { - changed = true; - this.setCreateDate(newCreateDate); - } - if (TStringUtils.isNotBlank(newModifyUser) - && !Objects.equals(modifyUser, newModifyUser)) { - changed = true; - this.modifyUser = newModifyUser; - } - if (newModifyDate != null - && !Objects.equals(modifyDate, newModifyDate)) { - changed = true; - this.setModifyDate(newModifyDate); - } - if (TStringUtils.isNotBlank(newAttributes) - && !Objects.equals(attributes, newAttributes)) { - changed = true; - this.attributes = newAttributes; - } - return changed; - } - public void setDataVersionId(long dataVersionId) { this.dataVersionId = dataVersionId; } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntity.java index 5dfa7f0..05216b1 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntity.java @@ -17,7 +17,6 @@ package org.apache.tubemq.server.master.metamanage.metastore.dao.entity; -import java.util.Date; import java.util.Objects; import org.apache.tubemq.corebase.TBaseConstants; import org.apache.tubemq.corebase.TokenConstants; @@ -63,20 +62,6 @@ public class BrokerConfEntity extends BaseEntity implements Cloneable { this.brokerIp = brokerIp; } - public BrokerConfEntity(int brokerId, String brokerIp, int brokerPort, - int brokerTLSPort, int brokerWebPort, ManageStatus manageStatus, - int regionId, int groupId, TopicPropGroup defTopicProps, - long dataVersionId, String createUser, - Date createDate, String modifyUser, Date modifyDate) { - super(dataVersionId, createUser, createDate, modifyUser, modifyDate); - setBrokerIpAndAllPort(brokerId, brokerIp, brokerPort, brokerTLSPort); - this.regionId = regionId; - this.groupId = groupId; - this.brokerWebPort = brokerWebPort; - this.topicProps = defTopicProps; - this.manageStatus = manageStatus; - } - public BrokerConfEntity(BdbBrokerConfEntity bdbEntity) { super(bdbEntity.getDataVerId(), bdbEntity.getRecordCreateUser(), bdbEntity.getRecordCreateDate(), bdbEntity.getRecordModifyUser(), @@ -129,11 +114,6 @@ public class BrokerConfEntity extends BaseEntity implements Cloneable { this.brokerId = brokerId; } - public void setBrokerIdAndIp(int brokerId, String brokerIp) { - this.brokerId = brokerId; - this.brokerIp = brokerIp; - } - public ManageStatus getManageStatus() { return manageStatus; } @@ -146,12 +126,6 @@ public class BrokerConfEntity extends BaseEntity implements Cloneable { this.manageStatus = manageStatus; } - public void setBrokerIpAndPort(String brokerIp, int brokerPort) { - this.brokerPort = brokerPort; - this.brokerIp = brokerIp; - this.buildStrInfo(); - } - public String getBrokerAddress() { return brokerAddress; } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java index fb70bb0..151ff7e 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntity.java @@ -96,11 +96,15 @@ public class ClusterSettingEntity extends BaseEntity implements Cloneable { clsDefTopicProps.isAcceptSubscribe(), clsDefTopicProps.getDeletePolicy(), this.qryPriorityId, this.maxMsgSizeInB, getAttributes(), getModifyUser(), getModifyDate()); - bdbEntity.setDefDataPath(clsDefTopicProps.getDataPath()); + if (TStringUtils.isNotBlank(clsDefTopicProps.getDataPath())) { + bdbEntity.setDefDataPath(clsDefTopicProps.getDataPath()); + } bdbEntity.setDefDataType(clsDefTopicProps.getDataStoreType()); bdbEntity.setEnableGloFlowCtrl(enableFlowCtrl()); bdbEntity.setGloFlowCtrlCnt(gloFlowCtrlRuleCnt); - bdbEntity.setGloFlowCtrlInfo(gloFlowCtrlRuleInfo); + if (TStringUtils.isNotBlank(gloFlowCtrlRuleInfo)) { + bdbEntity.setGloFlowCtrlInfo(gloFlowCtrlRuleInfo); + } return bdbEntity; } @@ -158,12 +162,13 @@ public class ClusterSettingEntity extends BaseEntity implements Cloneable { } // check and set modified field if (maxMsgSizeMB != TBaseConstants.META_VALUE_UNDEFINED) { - int newMaxMsgSizeB = - SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(maxMsgSizeMB); - if (this.maxMsgSizeInB != newMaxMsgSizeB) { + int tmpMaxMsgSizeInMB = + SettingValidUtils.validAndGetMsgSizeInMB(maxMsgSizeMB); + if (this.maxMsgSizeInMB != tmpMaxMsgSizeInMB) { changed = true; - this.maxMsgSizeInB = newMaxMsgSizeB; - this.maxMsgSizeInMB = maxMsgSizeMB; + this.maxMsgSizeInMB = tmpMaxMsgSizeInMB; + this.maxMsgSizeInB = + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(tmpMaxMsgSizeInMB); } } // check and set qry priority id @@ -174,7 +179,8 @@ public class ClusterSettingEntity extends BaseEntity implements Cloneable { } // check and set flowCtrl info if (flowCtrlEnable != null - && this.gloFlowCtrlStatus.isEnable() != flowCtrlEnable) { + && (this.gloFlowCtrlStatus == EnableStatus.STATUS_UNDEFINE + || this.gloFlowCtrlStatus.isEnable() != flowCtrlEnable)) { changed = true; setEnableFlowCtrl(flowCtrlEnable); } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java index 1e7a3b9..b125257 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntity.java @@ -17,9 +17,7 @@ package org.apache.tubemq.server.master.metamanage.metastore.dao.entity; -import java.util.Date; import java.util.Objects; - import org.apache.tubemq.corebase.TBaseConstants; import org.apache.tubemq.corebase.utils.KeyBuilderUtils; import org.apache.tubemq.corebase.utils.TStringUtils; @@ -54,20 +52,6 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable { this.topicName = topicName; } - public GroupConsumeCtrlEntity(String groupName, String topicName, - EnableStatus consumeEnable, - String disableReason, - EnableStatus filterEnable, - String filterCondStr, String createUser, - Date createDate) { - super(createUser, createDate); - this.setGroupAndTopic(groupName, topicName); - this.consumeEnable = consumeEnable; - this.disableReason = disableReason; - this.filterEnable = filterEnable; - this.filterCondStr = filterCondStr; - } - public GroupConsumeCtrlEntity(BdbGroupFilterCondEntity bdbEntity) { super(bdbEntity.getDataVerId(), bdbEntity.getCreateUser(), bdbEntity.getCreateDate()); @@ -89,7 +73,7 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable { BdbGroupFilterCondEntity bdbEntity = new BdbGroupFilterCondEntity(topicName, groupName, filterEnable.getCode(), filterCondStr, - getAttributes(), getCreateUser(), getCreateDate()); + getAttributes(), getModifyUser(), getModifyDate()); bdbEntity.setDataVerId(getDataVerId()); bdbEntity.setConsumeEnable(consumeEnable); bdbEntity.setDisableConsumeReason(disableReason); @@ -187,7 +171,8 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable { } // check and set consumeEnable info if (consumeEnable != null - && this.consumeEnable.isEnable() != consumeEnable) { + && (this.consumeEnable == EnableStatus.STATUS_UNDEFINE + || this.consumeEnable.isEnable() != consumeEnable)) { changed = true; setConsumeEnable(consumeEnable); } @@ -199,7 +184,8 @@ public class GroupConsumeCtrlEntity extends BaseEntity implements Cloneable { } // check and set consumeEnable info if (filterEnable != null - && this.filterEnable.isEnable() != filterEnable) { + && (this.filterEnable == EnableStatus.STATUS_UNDEFINE + || this.filterEnable.isEnable() != filterEnable)) { changed = true; setFilterEnable(filterEnable); } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java index 35f9b96..69c280c 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntity.java @@ -17,7 +17,6 @@ package org.apache.tubemq.server.master.metamanage.metastore.dao.entity; -import java.util.Date; import java.util.Objects; import org.apache.tubemq.corebase.TBaseConstants; import org.apache.tubemq.corebase.utils.TStringUtils; @@ -43,6 +42,7 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { private String flowCtrlInfo = ""; // flow control info + // only for query public GroupResCtrlEntity() { super(); } @@ -52,22 +52,6 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { this.groupName = groupName; } - public GroupResCtrlEntity(String groupName, int qryPriorityId, - boolean enableFlowCtrl, int ruleCnt, - String flowCtrlInfo, String createUser, - Date createDate) { - super(createUser, createDate); - this.groupName = groupName; - if (enableFlowCtrl) { - this.flowCtrlStatus = EnableStatus.STATUS_ENABLE; - } else { - this.flowCtrlStatus = EnableStatus.STATUS_DISABLE; - } - this.qryPriorityId = qryPriorityId; - this.ruleCnt = ruleCnt; - this.flowCtrlInfo = flowCtrlInfo; - } - public GroupResCtrlEntity(BdbGroupFlowCtrlEntity bdbEntity) { super(bdbEntity.getSerialId(), bdbEntity.getCreateUser(), bdbEntity.getCreateDate()); @@ -80,6 +64,8 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { } else { this.flowCtrlStatus = EnableStatus.STATUS_DISABLE; } + this.resCheckStatus = bdbEntity.getResCheckStatus(); + this.allowedBrokerClientRate = bdbEntity.getAllowedBrokerClientRate(); setAttributes(bdbEntity.getAttributes()); } @@ -89,7 +75,7 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { BdbGroupFlowCtrlEntity bdbEntity = new BdbGroupFlowCtrlEntity(getDataVerId(), this.groupName, this.flowCtrlInfo, statusId, this.ruleCnt, this.qryPriorityId, - getAttributes(), getCreateUser(), getCreateDate()); + getAttributes(), getModifyUser(), getModifyDate()); bdbEntity.setResCheckStatus(resCheckStatus); bdbEntity.setAllowedBrokerClientRate(allowedBrokerClientRate); return bdbEntity; @@ -105,6 +91,7 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { this.allowedBrokerClientRate = 0; this.qryPriorityId = TServerConstants.QRY_PRIORITY_DEF_VALUE; this.flowCtrlStatus = EnableStatus.STATUS_DISABLE; + this.ruleCnt = 0; this.flowCtrlInfo = TServerConstants.BLANK_FLOWCTRL_RULES; return this; } @@ -205,7 +192,8 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { } // check and set resCheckStatus info if (resChkEnable != null - && this.resCheckStatus.isEnable() != resChkEnable) { + && (this.resCheckStatus == EnableStatus.STATUS_UNDEFINE + || this.resCheckStatus.isEnable() != resChkEnable)) { changed = true; setResCheckStatus(resChkEnable); } @@ -223,7 +211,8 @@ public class GroupResCtrlEntity extends BaseEntity implements Cloneable { } // check and set flowCtrl info if (flowCtrlEnable != null - && this.flowCtrlStatus.isEnable() != flowCtrlEnable) { + && (this.flowCtrlStatus == EnableStatus.STATUS_UNDEFINE + || this.flowCtrlStatus.isEnable() != flowCtrlEnable)) { changed = true; setFlowCtrlStatus(flowCtrlEnable); } diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java index 61e148b..0ea8559 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntity.java @@ -61,27 +61,12 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable { this.topicName = topicName; } - public TopicCtrlEntity(String topicName, int topicNameId, - boolean enableAuth, int maxMsgSizeInB, - long dataVersionId, String createUser, - Date createDate, String modifyUser, Date modifyDate) { - super(dataVersionId, createUser, createDate, modifyUser, modifyDate); - this.topicName = topicName; - this.topicNameId = topicNameId; - this.fillMaxMsgSize(maxMsgSizeInB); - if (enableAuth) { - this.authCtrlStatus = EnableStatus.STATUS_ENABLE; - } else { - this.authCtrlStatus = EnableStatus.STATUS_DISABLE; - } - } - public TopicCtrlEntity(BdbTopicAuthControlEntity bdbEntity) { super(bdbEntity.getDataVerId(), bdbEntity.getCreateUser(), bdbEntity.getCreateDate()); this.topicName = bdbEntity.getTopicName(); this.topicNameId = bdbEntity.getTopicId(); - this.fillMaxMsgSize(maxMsgSizeInB); + this.fillMaxMsgSizeInB(bdbEntity.getMaxMsgSize()); if (bdbEntity.isEnableAuthControl()) { this.authCtrlStatus = EnableStatus.STATUS_ENABLE; } else { @@ -93,7 +78,7 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable { public BdbTopicAuthControlEntity buildBdbTopicAuthControlEntity() { BdbTopicAuthControlEntity bdbEntity = new BdbTopicAuthControlEntity(topicName, isAuthCtrlEnable(), - getAttributes(), getCreateUser(), getCreateDate()); + getAttributes(), getModifyUser(), getModifyDate()); bdbEntity.setTopicId(topicNameId); bdbEntity.setDataVerId(getDataVerId()); bdbEntity.setMaxMsgSize(maxMsgSizeInB); @@ -166,17 +151,19 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable { } // check and set modified field if (newMaxMsgSizeMB != TBaseConstants.META_VALUE_UNDEFINED) { - int newMaxMsgSizeB = - SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(newMaxMsgSizeMB); - if (this.maxMsgSizeInB != newMaxMsgSizeB) { + int tmpMaxMsgSizeInMB = + SettingValidUtils.validAndGetMsgSizeInMB(newMaxMsgSizeMB); + if (this.maxMsgSizeInMB != tmpMaxMsgSizeInMB) { changed = true; - this.maxMsgSizeInB = newMaxMsgSizeB; - this.maxMsgSizeInMB = newMaxMsgSizeMB; + this.maxMsgSizeInMB = tmpMaxMsgSizeInMB; + this.maxMsgSizeInB = + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(tmpMaxMsgSizeInMB); } } // check and set authCtrlStatus info if (enableTopicAuth != null - && this.authCtrlStatus.isEnable() != enableTopicAuth) { + && (this.authCtrlStatus == EnableStatus.STATUS_UNDEFINE + || this.authCtrlStatus.isEnable() != enableTopicAuth)) { setEnableAuthCtrl(enableTopicAuth); changed = true; } @@ -241,10 +228,14 @@ public class TopicCtrlEntity extends BaseEntity implements Cloneable { return sBuilder; } - private void fillMaxMsgSize(int maxMsgSizeInB) { - this.maxMsgSizeInB = maxMsgSizeInB; - this.maxMsgSizeInMB = - maxMsgSizeInB / TBaseConstants.META_MB_UNIT_SIZE; + private void fillMaxMsgSizeInB(int maxMsgSizeInB) { + int tmpMaxMsgSizeInMB = TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB; + if (maxMsgSizeInB > TBaseConstants.META_MB_UNIT_SIZE) { + tmpMaxMsgSizeInMB = SettingValidUtils.validAndGetMsgSizeBtoMB(maxMsgSizeInB); + } + this.maxMsgSizeInMB = tmpMaxMsgSizeInMB; + this.maxMsgSizeInB = + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(this.maxMsgSizeInMB); } /** diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicDeployEntity.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicDeployEntity.java index 9c1a678..8f79fc8 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicDeployEntity.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicDeployEntity.java @@ -17,7 +17,6 @@ package org.apache.tubemq.server.master.metamanage.metastore.dao.entity; -import java.util.Date; import java.util.Objects; import org.apache.tubemq.corebase.TBaseConstants; import org.apache.tubemq.corebase.utils.KeyBuilderUtils; @@ -54,20 +53,6 @@ public class TopicDeployEntity extends BaseEntity implements Cloneable { this.recordKey = KeyBuilderUtils.buildTopicConfRecKey(brokerId, topicName); } - public TopicDeployEntity(String topicName, int topicId, int brokerId, - String brokerIp, int brokerPort, - TopicPropGroup topicProps, TopicStatus deployStatus, - long dataVersionId, String createUser, - Date createDate, String modifyUser, Date modifyDate) { - super(dataVersionId, createUser, createDate, modifyUser, modifyDate); - setTopicDeployInfo(brokerId, brokerIp, brokerPort, topicName); - this.topicNameId = topicId; - this.deployStatus = deployStatus; - this.topicProps = topicProps; - this.brokerAddress = KeyBuilderUtils.buildAddressInfo(brokerIp, brokerPort); - - } - public TopicDeployEntity(BdbTopicConfEntity bdbEntity) { super(bdbEntity.getDataVerId(), bdbEntity.getCreateUser(), bdbEntity.getCreateDate(), diff --git a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroup.java b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroup.java index 63c7eaa..27db4f9 100644 --- a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroup.java +++ b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroup.java @@ -24,7 +24,7 @@ import org.apache.tubemq.corebase.TBaseConstants; import org.apache.tubemq.corebase.utils.TStringUtils; import org.apache.tubemq.corebase.utils.Tuple2; import org.apache.tubemq.server.common.TServerConstants; -import org.apache.tubemq.server.common.statusdef.CuPolType; +import org.apache.tubemq.server.common.statusdef.CleanPolType; /* @@ -47,7 +47,7 @@ public class TopicPropGroup implements Serializable, Cloneable { private String dataPath = ""; //data path private String deletePolicy = ""; // delete policy // Retention period, unit ms - private CuPolType fileCuPolicyType = CuPolType.CU_POL_DELETE; + private CleanPolType cleanPolicyType = CleanPolType.CLEAN_POL_DELETE; private long retPeriodInMs = TBaseConstants.META_VALUE_UNDEFINED; public TopicPropGroup() { @@ -72,7 +72,9 @@ public class TopicPropGroup implements Serializable, Cloneable { this.acceptSubscribe = acceptSubscribe; setDeletePolicy(deletePolicy); this.dataStoreType = dataStoreType; - this.dataPath = dataPath; + if (dataPath != null) { + this.dataPath = dataPath; + } } public int getNumTopicStores() { @@ -165,8 +167,8 @@ public class TopicPropGroup implements Serializable, Cloneable { public void setDeletePolicy(String deletePolicy) { if (TStringUtils.isNotBlank(deletePolicy)) { this.deletePolicy = deletePolicy; - Tuple2<CuPolType, Long> parsedRet = parseDelPolicy(deletePolicy); - this.fileCuPolicyType = parsedRet.getF0(); + Tuple2<CleanPolType, Long> parsedRet = parseDelPolicy(deletePolicy); + this.cleanPolicyType = parsedRet.getF0(); this.retPeriodInMs = parsedRet.getF1(); } } @@ -179,8 +181,8 @@ public class TopicPropGroup implements Serializable, Cloneable { return retPeriodInMs; } - public CuPolType getFileCuPolicyType() { - return fileCuPolicyType; + public CleanPolType getCleanPolicyType() { + return cleanPolicyType; } public void setDataStoreInfo(int dataStoreType, String dataPath) { @@ -327,7 +329,7 @@ public class TopicPropGroup implements Serializable, Cloneable { && Objects.equals(acceptSubscribe, other.acceptSubscribe) && Objects.equals(dataPath, other.dataPath) && Objects.equals(deletePolicy, other.deletePolicy) - && fileCuPolicyType == other.fileCuPolicyType; + && cleanPolicyType == other.cleanPolicyType; } /** @@ -436,7 +438,7 @@ public class TopicPropGroup implements Serializable, Cloneable { return Objects.hash(numTopicStores, numPartitions, unflushThreshold, unflushInterval, unflushDataHold, memCacheMsgSizeInMB, memCacheMsgCntInK, memCacheFlushIntvl, acceptPublish, acceptSubscribe, dataStoreType, - dataPath, deletePolicy, fileCuPolicyType, retPeriodInMs); + dataPath, deletePolicy, cleanPolicyType, retPeriodInMs); } @Override @@ -454,7 +456,7 @@ public class TopicPropGroup implements Serializable, Cloneable { } - private Tuple2<CuPolType, Long> parseDelPolicy(String delPolicy) { + private Tuple2<CleanPolType, Long> parseDelPolicy(String delPolicy) { long validDuration = 0; String[] tmpStrs = delPolicy.split(","); String validValStr = tmpStrs[1]; @@ -468,7 +470,7 @@ public class TopicPropGroup implements Serializable, Cloneable { } else { validDuration = Long.parseLong(validValStr) * 3600000; } - return new Tuple2<>(CuPolType.CU_POL_DELETE, validDuration); + return new Tuple2<>(CleanPolType.CLEAN_POL_DELETE, validDuration); } } diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java new file mode 100644 index 0000000..74ee410 --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java @@ -0,0 +1,156 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.server.common.TServerConstants; +import org.apache.tubemq.server.common.utils.WebParameterUtils; +import org.junit.Assert; +import org.junit.Test; + + + +public class BaseEntityTest { + + @Test + public void baseEntityTest() { + // case 1 + BaseEntity baseEntity1 = new BaseEntity(); + Assert.assertEquals(baseEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity1.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity1.getCreateUser(), ""); + Assert.assertNull(baseEntity1.getCreateDate()); + Assert.assertEquals(baseEntity1.getModifyUser(), ""); + Assert.assertNull(baseEntity1.getModifyDate()); + Assert.assertEquals(baseEntity1.getAttributes(), ""); + Assert.assertEquals(baseEntity1.getCreateDateStr(), ""); + Assert.assertEquals(baseEntity1.getModifyDateStr(), ""); + // case 2 + String createUser = "test"; + Date createDate = new Date(); + String createDataStr = WebParameterUtils.date2yyyyMMddHHmmss(createDate); + BaseEntity baseEntity2 = new BaseEntity(createUser, createDate); + Assert.assertEquals(baseEntity2.getDataVerId(), TServerConstants.DEFAULT_DATA_VERSION); + Assert.assertNotEquals(baseEntity2.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity2.getCreateUser(), createUser); + Assert.assertEquals(baseEntity2.getCreateDate(), createDate); + Assert.assertEquals(baseEntity2.getModifyUser(), createUser); + Assert.assertEquals(baseEntity2.getModifyDate(), createDate); + Assert.assertEquals(baseEntity2.getAttributes(), ""); + Assert.assertEquals(baseEntity2.getCreateDateStr(), createDataStr); + Assert.assertEquals(baseEntity2.getModifyDateStr(), createDataStr); + // case 3 + long dataVersionId = 5; + BaseEntity baseEntity3 = new BaseEntity(dataVersionId, createUser, createDate); + Assert.assertEquals(baseEntity3.getDataVerId(), dataVersionId); + Assert.assertNotEquals(baseEntity3.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity3.getCreateUser(), createUser); + Assert.assertEquals(baseEntity3.getCreateDate(), createDate); + Assert.assertEquals(baseEntity3.getModifyUser(), createUser); + Assert.assertEquals(baseEntity3.getModifyDate(), createDate); + Assert.assertEquals(baseEntity3.getAttributes(), ""); + Assert.assertEquals(baseEntity3.getCreateDateStr(), createDataStr); + Assert.assertEquals(baseEntity3.getModifyDateStr(), createDataStr); + // case 4 + String modifyUser = "modifyUser"; + Date modifyDate = new Date(); + String modifyDateStr = WebParameterUtils.date2yyyyMMddHHmmss(modifyDate); + BaseEntity baseEntity4 = + new BaseEntity(createUser, createDate, modifyUser, modifyDate); + Assert.assertEquals(baseEntity4.getDataVerId(), TServerConstants.DEFAULT_DATA_VERSION); + Assert.assertNotEquals(baseEntity4.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity4.getCreateUser(), createUser); + Assert.assertEquals(baseEntity4.getCreateDate(), createDate); + Assert.assertEquals(baseEntity4.getModifyUser(), modifyUser); + Assert.assertEquals(baseEntity4.getModifyDate(), modifyDate); + Assert.assertEquals(baseEntity4.getAttributes(), ""); + Assert.assertEquals(baseEntity4.getCreateDateStr(), createDataStr); + Assert.assertEquals(baseEntity4.getModifyDateStr(), modifyDateStr); + // case 5 + dataVersionId = 10; + BaseEntity baseEntity5 = new BaseEntity(dataVersionId, + createUser, createDate, modifyUser, modifyDate); + Assert.assertEquals(baseEntity5.getDataVerId(), dataVersionId); + Assert.assertNotEquals(baseEntity5.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity5.getCreateUser(), createUser); + Assert.assertEquals(baseEntity5.getCreateDate(), createDate); + Assert.assertEquals(baseEntity5.getModifyUser(), modifyUser); + Assert.assertEquals(baseEntity5.getModifyDate(), modifyDate); + Assert.assertEquals(baseEntity5.getAttributes(), ""); + Assert.assertEquals(baseEntity5.getCreateDateStr(), createDataStr); + Assert.assertEquals(baseEntity5.getModifyDateStr(), modifyDateStr); + // case 6 + baseEntity5.setKeyAndVal("aaa", "bbb"); + BaseEntity baseEntity6 = new BaseEntity(baseEntity5); + Assert.assertEquals(baseEntity6.getDataVerId(), baseEntity5.getDataVerId()); + Assert.assertEquals(baseEntity6.getSerialId(), baseEntity5.getSerialId()); + Assert.assertEquals(baseEntity6.getCreateUser(), baseEntity5.getCreateUser()); + Assert.assertEquals(baseEntity6.getCreateDate(), baseEntity5.getCreateDate()); + Assert.assertEquals(baseEntity6.getModifyUser(), baseEntity5.getModifyUser()); + Assert.assertEquals(baseEntity6.getModifyDate(), baseEntity5.getModifyDate()); + Assert.assertEquals(baseEntity6.getAttributes(), baseEntity5.getAttributes()); + Assert.assertEquals(baseEntity6.getCreateDateStr(), baseEntity5.getCreateDateStr()); + Assert.assertEquals(baseEntity6.getModifyDateStr(), baseEntity5.getModifyDateStr()); + // case 7 + BaseEntity baseEntity7 = new BaseEntity(); + baseEntity7.updBaseModifyInfo(baseEntity6); + Assert.assertNotEquals(baseEntity6.getDataVerId(), baseEntity7.getDataVerId()); + Assert.assertNotEquals(baseEntity6.getSerialId(), baseEntity7.getSerialId()); + Assert.assertNotEquals(baseEntity6.getCreateUser(), baseEntity7.getCreateUser()); + Assert.assertNotEquals(baseEntity6.getCreateDate(), baseEntity7.getCreateDate()); + Assert.assertNotEquals(baseEntity6.getCreateDateStr(), baseEntity7.getCreateDateStr()); + Assert.assertEquals(baseEntity6.getModifyUser(), baseEntity7.getModifyUser()); + Assert.assertEquals(baseEntity6.getModifyDate(), baseEntity7.getModifyDate()); + Assert.assertEquals(baseEntity6.getAttributes(), baseEntity7.getAttributes()); + Assert.assertEquals(baseEntity6.getModifyDateStr(), baseEntity7.getModifyDateStr()); + // case 8 + long newDataVerId = 999; + String newCreateUser = "queryCreate"; + String newModifyUser = "queryModify"; + BaseEntity baseEntity8 = new BaseEntity(); + baseEntity8.updQueryKeyInfo(newDataVerId, newCreateUser, newModifyUser); + Assert.assertEquals(baseEntity8.getDataVerId(), newDataVerId); + Assert.assertEquals(baseEntity8.getSerialId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(baseEntity8.getCreateUser(), newCreateUser); + Assert.assertNull(baseEntity8.getCreateDate()); + Assert.assertEquals(baseEntity8.getModifyUser(), newModifyUser); + Assert.assertNull(baseEntity8.getModifyDate()); + Assert.assertEquals(baseEntity8.getAttributes(), ""); + Assert.assertEquals(baseEntity8.getCreateDateStr(), ""); + Assert.assertEquals(baseEntity8.getModifyDateStr(), ""); + // case 9 + BaseEntity baseEntity9 = (BaseEntity) baseEntity6.clone(); + Assert.assertEquals(baseEntity9, baseEntity6); + baseEntity9.setAttributes("aaaaabbbbccccddd"); + baseEntity9.updSerialId(); + baseEntity9.updQueryKeyInfo(newDataVerId, newCreateUser, newModifyUser); + Assert.assertNotEquals(baseEntity6.getDataVerId(), baseEntity9.getDataVerId()); + Assert.assertNotEquals(baseEntity6.getSerialId(), baseEntity9.getSerialId()); + Assert.assertNotEquals(baseEntity6.getCreateUser(), baseEntity9.getCreateUser()); + Assert.assertEquals(baseEntity6.getCreateDate(), baseEntity9.getCreateDate()); + Assert.assertNotEquals(baseEntity6.getModifyUser(), baseEntity9.getModifyUser()); + Assert.assertEquals(baseEntity6.getModifyDate(), baseEntity9.getModifyDate()); + Assert.assertNotEquals(baseEntity6.getAttributes(), baseEntity9.getAttributes()); + Assert.assertEquals(baseEntity6.getCreateDateStr(), baseEntity9.getCreateDateStr()); + Assert.assertEquals(baseEntity6.getModifyDateStr(), baseEntity9.getModifyDateStr()); + // case 10 + Assert.assertTrue(baseEntity8.isMatched(baseEntity9)); + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntityTest.java new file mode 100644 index 0000000..b6b81f4 --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BrokerConfEntityTest.java @@ -0,0 +1,120 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.corebase.utils.SettingValidUtils; +import org.apache.tubemq.server.common.statusdef.EnableStatus; +import org.apache.tubemq.server.master.bdbstore.bdbentitys.BdbTopicAuthControlEntity; +import org.junit.Assert; +import org.junit.Test; + + + + +public class BrokerConfEntityTest { + + @Test + public void trokerConfEntityTest() { + // case 1 + String topicName = "test_1"; + boolean enableAuthControl = false; + String attributes = ""; + String createUser = "creater"; + Date createDate = new Date(); + int maxMsgSizeInB = 12222; + BdbTopicAuthControlEntity bdbEntity1 = + new BdbTopicAuthControlEntity(topicName, + enableAuthControl, attributes, createUser, createDate); + TopicCtrlEntity ctrlEntity1 = new TopicCtrlEntity(bdbEntity1); + // check bdbEntity1 + Assert.assertEquals(bdbEntity1.getTopicName(), topicName); + Assert.assertEquals(bdbEntity1.getTopicId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(bdbEntity1.isEnableAuthControl(), enableAuthControl); + Assert.assertEquals(bdbEntity1.getMaxMsgSize(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(bdbEntity1.getCreateUser(), createUser); + Assert.assertEquals(bdbEntity1.getCreateDate(), createDate); + Assert.assertEquals(bdbEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED); + bdbEntity1.setMaxMsgSize(maxMsgSizeInB); + Assert.assertEquals(bdbEntity1.getMaxMsgSize(), maxMsgSizeInB); + // check ctrlEntity1 + Assert.assertEquals(ctrlEntity1.getTopicName(), topicName); + Assert.assertEquals(ctrlEntity1.getTopicId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(ctrlEntity1.getAuthCtrlStatus(), EnableStatus.STATUS_DISABLE); + Assert.assertEquals(ctrlEntity1.getMaxMsgSizeInB(), + TBaseConstants.META_MAX_MESSAGE_DATA_SIZE); + Assert.assertEquals(ctrlEntity1.getMaxMsgSizeInMB(), + TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB); + Assert.assertEquals(ctrlEntity1.getCreateUser(), createUser); + Assert.assertEquals(ctrlEntity1.getCreateDate(), createDate); + Assert.assertEquals(ctrlEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED); + // case 2 + long dataVerId2 = 555; + int topicId2 = 222; + String topicName2 = "test_1"; + boolean enableAuthControl2 = true; + String attributes2 = ""; + String createUser2 = "creater2"; + Date createDate2 = new Date(); + int maxMsgSizeInB2 = 14; + TopicCtrlEntity ctrlEntity2 = ctrlEntity1.clone(); + Assert.assertTrue(ctrlEntity2.isDataEquals(ctrlEntity1)); + BaseEntity opInfoEntry = new BaseEntity(dataVerId2, createUser2, createDate2); + Assert.assertTrue(ctrlEntity2.updBaseModifyInfo(opInfoEntry)); + Assert.assertTrue(ctrlEntity2.updModifyInfo(opInfoEntry.getDataVerId(), + topicId2, maxMsgSizeInB2, enableAuthControl2)); + Assert.assertFalse(ctrlEntity2.isDataEquals(ctrlEntity1)); + Assert.assertFalse(ctrlEntity2.isMatched(ctrlEntity1)); + // check ctrlEntity2 + Assert.assertEquals(ctrlEntity2.getTopicName(), topicName); + Assert.assertEquals(ctrlEntity2.getTopicId(), topicId2); + Assert.assertEquals(ctrlEntity2.getAuthCtrlStatus(), EnableStatus.STATUS_ENABLE); + Assert.assertEquals(ctrlEntity2.getMaxMsgSizeInB(), + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(maxMsgSizeInB2)); + Assert.assertEquals(ctrlEntity2.getMaxMsgSizeInMB(), maxMsgSizeInB2); + Assert.assertEquals(ctrlEntity2.getCreateUser(), createUser); + Assert.assertEquals(ctrlEntity2.getCreateDate(), createDate); + Assert.assertEquals(ctrlEntity2.getModifyUser(), createUser2); + Assert.assertEquals(ctrlEntity2.getModifyDate(), createDate2); + Assert.assertEquals(ctrlEntity2.getDataVerId(), dataVerId2); + // case 3 + BdbTopicAuthControlEntity bdbEntity3 = + ctrlEntity2.buildBdbTopicAuthControlEntity(); + Assert.assertEquals(bdbEntity3.getTopicName(), ctrlEntity2.getTopicName()); + Assert.assertEquals(bdbEntity3.getTopicId(), ctrlEntity2.getTopicId()); + Assert.assertEquals(bdbEntity3.isEnableAuthControl(), + ctrlEntity2.getAuthCtrlStatus().isEnable()); + Assert.assertEquals(bdbEntity3.getMaxMsgSize(), ctrlEntity2.getMaxMsgSizeInB()); + Assert.assertEquals(bdbEntity3.getCreateUser(), ctrlEntity2.getModifyUser()); + Assert.assertEquals(bdbEntity3.getCreateDate(), ctrlEntity2.getModifyDate()); + Assert.assertEquals(bdbEntity3.getDataVerId(), ctrlEntity2.getDataVerId()); + // case 4 + TopicCtrlEntity ctrlEntity4 = new TopicCtrlEntity(bdbEntity3); + // check ctrlEntity4 + Assert.assertTrue(ctrlEntity4.isDataEquals(ctrlEntity2)); + Assert.assertEquals(ctrlEntity4.getTopicName(), ctrlEntity2.getTopicName()); + Assert.assertEquals(ctrlEntity4.getTopicId(), ctrlEntity2.getTopicId()); + Assert.assertEquals(ctrlEntity4.getAuthCtrlStatus(), ctrlEntity2.getAuthCtrlStatus()); + Assert.assertEquals(ctrlEntity4.getMaxMsgSizeInB(), ctrlEntity2.getMaxMsgSizeInB()); + Assert.assertEquals(ctrlEntity4.getCreateUser(), ctrlEntity2.getModifyUser()); + Assert.assertEquals(ctrlEntity4.getCreateDate(), ctrlEntity2.getModifyDate()); + Assert.assertEquals(ctrlEntity4.getDataVerId(), ctrlEntity2.getDataVerId()); + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntityTest.java new file mode 100644 index 0000000..dd64820 --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/ClusterSettingEntityTest.java @@ -0,0 +1,185 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.corebase.utils.SettingValidUtils; +import org.apache.tubemq.server.common.TServerConstants; +import org.apache.tubemq.server.common.statusdef.EnableStatus; +import org.apache.tubemq.server.master.bdbstore.bdbentitys.BdbClusterSettingEntity; +import org.junit.Assert; +import org.junit.Test; + + + +public class ClusterSettingEntityTest { + + @Test + public void clusterSettingEntityTest() { + // case 1 + ClusterSettingEntity setting1 = new ClusterSettingEntity(); + setting1.fillDefaultValue(); + Assert.assertEquals(setting1.getBrokerPort(), TBaseConstants.META_DEFAULT_BROKER_PORT); + Assert.assertEquals(setting1.getBrokerTLSPort(), TBaseConstants.META_DEFAULT_BROKER_TLS_PORT); + Assert.assertEquals(setting1.getBrokerWebPort(), TBaseConstants.META_DEFAULT_BROKER_WEB_PORT); + Assert.assertEquals(setting1.getMaxMsgSizeInMB(), TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB); + Assert.assertEquals(setting1.getMaxMsgSizeInB(), + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB( + TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB)); + + Assert.assertEquals(setting1.getQryPriorityId(), TServerConstants.QRY_PRIORITY_DEF_VALUE); + Assert.assertEquals(setting1.getGloFlowCtrlStatus(), EnableStatus.STATUS_DISABLE); + Assert.assertEquals(setting1.getGloFlowCtrlRuleCnt(), 0); + Assert.assertEquals(setting1.getGloFlowCtrlRuleInfo(), TServerConstants.BLANK_FLOWCTRL_RULES); + TopicPropGroup defProps = new TopicPropGroup(); + defProps.fillDefaultValue(); + Assert.assertEquals(setting1.getClsDefTopicProps(), defProps); + // case 2 + String recordKey = "test_key"; + long configId = 2223335555L; + int brokerPort = 8888; + int brokerTLSPort = 9999; + int brokerWebPort = 7777; + int numTopicStores = 9; + int numPartitions = 10; + int unflushThreshold = 20; + int unflushInterval = 25; + int unflushDataHold = 30; + int memCacheMsgCntInK = 44; + int memCacheFlushIntvl = 50; + int memCacheMsgSizeInMB = 33; + boolean acceptPublish = false; + boolean acceptSubscribe = true; + String deletePolicy = "delete,5h"; + int qryPriorityId = 202; + int maxMsgSizeInB = 1024 * 1024; + String attributes = ""; + String modifyUser = "modifyUser"; + Date modifyDate = new Date(); + BdbClusterSettingEntity bdbEntity = + new BdbClusterSettingEntity(recordKey, configId, brokerPort, brokerTLSPort, + brokerWebPort, numTopicStores, numPartitions, unflushThreshold, + unflushInterval, unflushDataHold, memCacheMsgCntInK, memCacheFlushIntvl, + memCacheMsgSizeInMB, acceptPublish, acceptSubscribe, deletePolicy, + qryPriorityId, maxMsgSizeInB, attributes, modifyUser, modifyDate); + ClusterSettingEntity setting2 = new ClusterSettingEntity(bdbEntity); + Assert.assertEquals(setting2.getBrokerPort(), bdbEntity.getBrokerPort()); + Assert.assertEquals(setting2.getBrokerTLSPort(), bdbEntity.getBrokerTLSPort()); + Assert.assertEquals(setting2.getBrokerWebPort(), bdbEntity.getBrokerWebPort()); + Assert.assertEquals(setting2.getMaxMsgSizeInB(), bdbEntity.getMaxMsgSizeInB()); + Assert.assertEquals(setting2.getQryPriorityId(), bdbEntity.getQryPriorityId()); + Assert.assertFalse(setting2.getGloFlowCtrlStatus().isEnable()); + Assert.assertNull(bdbEntity.getEnableGloFlowCtrl()); + Assert.assertEquals(setting2.getGloFlowCtrlRuleCnt(), 0); + Assert.assertEquals(bdbEntity.getGloFlowCtrlCnt(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(setting2.getGloFlowCtrlRuleInfo(), TServerConstants.BLANK_FLOWCTRL_RULES); + Assert.assertNull(bdbEntity.getGloFlowCtrlInfo()); + TopicPropGroup defProps2 = setting2.getClsDefTopicProps(); + Assert.assertEquals(defProps2.getNumTopicStores(), bdbEntity.getNumTopicStores()); + Assert.assertEquals(defProps2.getNumPartitions(), bdbEntity.getNumPartitions()); + Assert.assertEquals(defProps2.getUnflushThreshold(), bdbEntity.getUnflushThreshold()); + Assert.assertEquals(defProps2.getUnflushInterval(), bdbEntity.getUnflushInterval()); + Assert.assertEquals(defProps2.getUnflushDataHold(), bdbEntity.getUnflushDataHold()); + Assert.assertEquals(defProps2.getMemCacheMsgSizeInMB(), bdbEntity.getMemCacheMsgSizeInMB()); + Assert.assertEquals(defProps2.getMemCacheFlushIntvl(), bdbEntity.getMemCacheFlushIntvl()); + Assert.assertEquals(defProps2.getMemCacheMsgCntInK(), bdbEntity.getMemCacheMsgCntInK()); + Assert.assertEquals(defProps2.getAcceptPublish(), bdbEntity.isAcceptPublish()); + Assert.assertEquals(defProps2.getAcceptSubscribe(), bdbEntity.isAcceptSubscribe()); + Assert.assertEquals(defProps2.getDataStoreType(), bdbEntity.getDefDataType()); + Assert.assertEquals(defProps2.getDataPath(), ""); + Assert.assertNull(bdbEntity.getDefDataPath()); + Assert.assertEquals(defProps2.getDeletePolicy(), bdbEntity.getDeletePolicy()); + // case 3 + BdbClusterSettingEntity bdbSetting = setting2.buildBdbClsDefSettingEntity(); + Assert.assertEquals(setting2.getBrokerPort(), bdbSetting.getBrokerPort()); + Assert.assertEquals(setting2.getBrokerTLSPort(), bdbSetting.getBrokerTLSPort()); + Assert.assertEquals(setting2.getBrokerWebPort(), bdbSetting.getBrokerWebPort()); + Assert.assertEquals(setting2.getMaxMsgSizeInB(), bdbSetting.getMaxMsgSizeInB()); + Assert.assertEquals(setting2.getQryPriorityId(), bdbSetting.getQryPriorityId()); + Assert.assertEquals(setting2.getGloFlowCtrlStatus().isEnable(), bdbSetting.getEnableGloFlowCtrl()); + Assert.assertEquals(setting2.getGloFlowCtrlRuleCnt(), bdbSetting.getGloFlowCtrlCnt()); + Assert.assertEquals(setting2.getGloFlowCtrlRuleInfo(), bdbSetting.getGloFlowCtrlInfo()); + TopicPropGroup defProps3 = setting2.getClsDefTopicProps(); + Assert.assertEquals(defProps3.getNumTopicStores(), bdbSetting.getNumTopicStores()); + Assert.assertEquals(defProps3.getNumPartitions(), bdbSetting.getNumPartitions()); + Assert.assertEquals(defProps3.getUnflushThreshold(), bdbSetting.getUnflushThreshold()); + Assert.assertEquals(defProps3.getUnflushInterval(), bdbSetting.getUnflushInterval()); + Assert.assertEquals(defProps3.getUnflushDataHold(), bdbSetting.getUnflushDataHold()); + Assert.assertEquals(defProps3.getMemCacheMsgSizeInMB(), bdbSetting.getMemCacheMsgSizeInMB()); + Assert.assertEquals(defProps3.getMemCacheFlushIntvl(), bdbSetting.getMemCacheFlushIntvl()); + Assert.assertEquals(defProps3.getMemCacheMsgCntInK(), bdbSetting.getMemCacheMsgCntInK()); + Assert.assertEquals(defProps3.getAcceptPublish(), bdbSetting.isAcceptPublish()); + Assert.assertEquals(defProps3.getAcceptSubscribe(), bdbSetting.isAcceptSubscribe()); + Assert.assertEquals(defProps3.getDataStoreType(), bdbSetting.getDefDataType()); + Assert.assertEquals(defProps3.getDataPath(), ""); + Assert.assertNull(bdbSetting.getDefDataPath()); + Assert.assertEquals(defProps3.getDeletePolicy(), bdbSetting.getDeletePolicy()); + // case 4 + ClusterSettingEntity setting4 = new ClusterSettingEntity(bdbSetting); + Assert.assertEquals(setting4.getBrokerPort(), bdbSetting.getBrokerPort()); + Assert.assertEquals(setting4.getBrokerTLSPort(), bdbSetting.getBrokerTLSPort()); + Assert.assertEquals(setting4.getBrokerWebPort(), bdbSetting.getBrokerWebPort()); + Assert.assertEquals(setting4.getMaxMsgSizeInB(), bdbSetting.getMaxMsgSizeInB()); + Assert.assertEquals(setting4.getQryPriorityId(), bdbSetting.getQryPriorityId()); + Assert.assertEquals(setting4.getGloFlowCtrlStatus().isEnable(), bdbSetting.getEnableGloFlowCtrl()); + Assert.assertEquals(setting4.getGloFlowCtrlRuleCnt(), bdbSetting.getGloFlowCtrlCnt()); + Assert.assertEquals(setting4.getGloFlowCtrlRuleInfo(), bdbSetting.getGloFlowCtrlInfo()); + TopicPropGroup defProps4 = setting4.getClsDefTopicProps(); + Assert.assertEquals(defProps4.getNumTopicStores(), bdbSetting.getNumTopicStores()); + Assert.assertEquals(defProps4.getNumPartitions(), bdbSetting.getNumPartitions()); + Assert.assertEquals(defProps4.getUnflushThreshold(), bdbSetting.getUnflushThreshold()); + Assert.assertEquals(defProps4.getUnflushInterval(), bdbSetting.getUnflushInterval()); + Assert.assertEquals(defProps4.getUnflushDataHold(), bdbSetting.getUnflushDataHold()); + Assert.assertEquals(defProps4.getMemCacheMsgSizeInMB(), bdbSetting.getMemCacheMsgSizeInMB()); + Assert.assertEquals(defProps4.getMemCacheFlushIntvl(), bdbSetting.getMemCacheFlushIntvl()); + Assert.assertEquals(defProps4.getMemCacheMsgCntInK(), bdbSetting.getMemCacheMsgCntInK()); + Assert.assertEquals(defProps4.getAcceptPublish(), bdbSetting.isAcceptPublish()); + Assert.assertEquals(defProps4.getAcceptSubscribe(), bdbSetting.isAcceptSubscribe()); + Assert.assertEquals(defProps4.getDataStoreType(), bdbSetting.getDefDataType()); + Assert.assertEquals(defProps4.getDataPath(), ""); + Assert.assertNull(bdbSetting.getDefDataPath()); + Assert.assertEquals(defProps4.getDeletePolicy(), bdbSetting.getDeletePolicy()); + // case 5 + long newDataVerId = 99; + int newBrokerPort = 52; + int newBrokerTLSPort = 22; + int newBrokerWebPort = 32; + int newMaxMsgSizeMB = 2; + int newQryPriorityId = 101; + Boolean newFlowCtrlEnable = true; + int newFlowRuleCnt = 5; + String newFlowCtrlRuleInfo = "[{},{},{},{},{}]"; + TopicPropGroup newProps = new TopicPropGroup(); + newProps.fillDefaultValue(); + ClusterSettingEntity setting5 = setting2.clone(); + Assert.assertTrue(setting5.updModifyInfo(newDataVerId, newBrokerPort, newBrokerTLSPort, + newBrokerWebPort, newMaxMsgSizeMB, newQryPriorityId, newFlowCtrlEnable, + newFlowRuleCnt, newFlowCtrlRuleInfo, newProps)); + Assert.assertNotEquals(setting5.getBrokerPort(), setting2.getBrokerPort()); + Assert.assertNotEquals(setting5.getBrokerTLSPort(), setting2.getBrokerTLSPort()); + Assert.assertNotEquals(setting5.getBrokerWebPort(), setting2.getBrokerWebPort()); + Assert.assertNotEquals(setting5.getMaxMsgSizeInB(), setting2.getMaxMsgSizeInB()); + Assert.assertNotEquals(setting5.getQryPriorityId(), setting2.getQryPriorityId()); + Assert.assertNotEquals(setting5.getGloFlowCtrlStatus(), setting2.getGloFlowCtrlStatus()); + Assert.assertNotEquals(setting5.getGloFlowCtrlRuleCnt(), setting2.getGloFlowCtrlRuleCnt()); + Assert.assertNotEquals(setting5.getGloFlowCtrlRuleInfo(), setting2.getGloFlowCtrlRuleInfo()); + Assert.assertNotEquals(setting5.getClsDefTopicProps(), setting2.getClsDefTopicProps()); + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java new file mode 100644 index 0000000..91ec3bc --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupConsumeCtrlEntityTest.java @@ -0,0 +1,90 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.server.master.bdbstore.bdbentitys.BdbGroupFilterCondEntity; +import org.junit.Assert; +import org.junit.Test; + + + + +public class GroupConsumeCtrlEntityTest { + + @Test + public void groupConsumeCtrlEntityTest() { + // case 1 + String topicName = "test_1"; + String groupName = "group_1"; + int controlStatus = 2; + String filterCondStr = "[1,2,3,4]"; + String attributes = "key=val&ke2=val3"; + String createUser = "creater"; + Date createDate = new Date(); + BdbGroupFilterCondEntity bdbEntity1 = + new BdbGroupFilterCondEntity(topicName, groupName, controlStatus, + filterCondStr, attributes, createUser, createDate); + + GroupConsumeCtrlEntity ctrlEntry1 = new GroupConsumeCtrlEntity(bdbEntity1); + Assert.assertEquals(ctrlEntry1.getGroupName(), bdbEntity1.getConsumerGroupName()); + Assert.assertEquals(ctrlEntry1.getTopicName(), bdbEntity1.getTopicName()); + Assert.assertEquals(ctrlEntry1.getFilterCondStr(), bdbEntity1.getFilterCondStr()); + Assert.assertEquals(bdbEntity1.getControlStatus(), 2); + Assert.assertTrue(ctrlEntry1.getFilterEnable().isEnable()); + Assert.assertEquals(ctrlEntry1.getConsumeEnable(), bdbEntity1.getConsumeEnable()); + Assert.assertEquals(ctrlEntry1.getCreateUser(), bdbEntity1.getCreateUser()); + Assert.assertEquals(ctrlEntry1.getCreateDate(), bdbEntity1.getCreateDate()); + Assert.assertEquals(ctrlEntry1.getAttributes(), bdbEntity1.getAttributes()); + Assert.assertEquals(ctrlEntry1.getDisableReason(), bdbEntity1.getDisableConsumeReason()); + Assert.assertEquals(ctrlEntry1.getRecordKey(), bdbEntity1.getRecordKey()); + // case 2 + long newDataVerId = 5555; + boolean consumeEnable = true; + String disableRsn = "disable"; + boolean filterEnable = true; + String newFilterCondStr = "[1,2,4]"; + BaseEntity opInfoEntity = + new BaseEntity(newDataVerId, "modify", new Date()); + GroupConsumeCtrlEntity ctrlEntry2 = ctrlEntry1.clone(); + Assert.assertTrue(ctrlEntry2.isMatched(ctrlEntry1)); + ctrlEntry2.updBaseModifyInfo(opInfoEntity); + Assert.assertTrue(ctrlEntry2.updModifyInfo(opInfoEntity.getDataVerId(), + consumeEnable, disableRsn, filterEnable, newFilterCondStr)); + // case 3 + BdbGroupFilterCondEntity bdbEntity3 = ctrlEntry2.buildBdbGroupFilterCondEntity(); + Assert.assertEquals(ctrlEntry2.getGroupName(), bdbEntity3.getConsumerGroupName()); + Assert.assertEquals(ctrlEntry2.getTopicName(), bdbEntity3.getTopicName()); + Assert.assertEquals(ctrlEntry2.getFilterCondStr(), bdbEntity3.getFilterCondStr()); + Assert.assertEquals(bdbEntity3.getControlStatus(), 2); + Assert.assertTrue(ctrlEntry2.getFilterEnable().isEnable()); + Assert.assertEquals(ctrlEntry2.getConsumeEnable(), bdbEntity3.getConsumeEnable()); + Assert.assertEquals(opInfoEntity.getCreateUser(), bdbEntity3.getCreateUser()); + Assert.assertEquals(opInfoEntity.getCreateDate(), bdbEntity3.getCreateDate()); + Assert.assertNotEquals(ctrlEntry2.getCreateDate(), bdbEntity3.getCreateDate()); + Assert.assertNotEquals(ctrlEntry2.getCreateUser(), bdbEntity3.getCreateUser()); + Assert.assertEquals(ctrlEntry2.getAttributes(), bdbEntity3.getAttributes()); + Assert.assertEquals(ctrlEntry2.getDisableReason(), bdbEntity3.getDisableConsumeReason()); + Assert.assertEquals(ctrlEntry2.getRecordKey(), bdbEntity3.getRecordKey()); + + + + + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java new file mode 100644 index 0000000..615f13b --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/GroupResCtrlEntityTest.java @@ -0,0 +1,129 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.server.common.TServerConstants; +import org.apache.tubemq.server.common.statusdef.EnableStatus; +import org.apache.tubemq.server.master.bdbstore.bdbentitys.BdbGroupFlowCtrlEntity; +import org.junit.Assert; +import org.junit.Test; + + + +public class GroupResCtrlEntityTest { + + @Test + public void groupResCtrlEntityTest() { + // case 1 + String groupName = "test_group"; + GroupResCtrlEntity resEntry = new GroupResCtrlEntity(); + resEntry.setGroupName(groupName); + resEntry.fillDefaultValue(); + Assert.assertEquals(resEntry.getGroupName(), groupName); + Assert.assertEquals(resEntry.getResCheckStatus(), EnableStatus.STATUS_DISABLE); + Assert.assertEquals(resEntry.getAllowedBrokerClientRate(), 0); + Assert.assertEquals(resEntry.getQryPriorityId(), TServerConstants.QRY_PRIORITY_DEF_VALUE); + Assert.assertEquals(resEntry.getFlowCtrlStatus(), EnableStatus.STATUS_DISABLE); + Assert.assertEquals(resEntry.getFlowCtrlInfo(), TServerConstants.BLANK_FLOWCTRL_RULES); + Assert.assertEquals(resEntry.getRuleCnt(), 0); + // case 2 + long dataVerId = 55; + String groupName2 = "group_2"; + int ruleCnt = 4; + String flowCtrlInfo = "[{},{},{},{}]"; + int statusId = 1; + int qryPriorityId = 203; + String attributes = "key=val&key2=va2"; + String createUser = "create"; + Date createDate = new Date(); + BdbGroupFlowCtrlEntity bdbEntity2 = + new BdbGroupFlowCtrlEntity(dataVerId, groupName2, + flowCtrlInfo, statusId, ruleCnt, qryPriorityId, + attributes, createUser, createDate); + Assert.assertEquals(bdbEntity2.getGroupName(), groupName2); + Assert.assertEquals(bdbEntity2.getResCheckStatus(), EnableStatus.STATUS_UNDEFINE); + Assert.assertEquals(bdbEntity2.getAllowedBrokerClientRate(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(bdbEntity2.getQryPriorityId(), 203); + Assert.assertEquals(bdbEntity2.getStatusId(), 1); + Assert.assertEquals(bdbEntity2.getFlowCtrlInfo(), flowCtrlInfo); + Assert.assertEquals(bdbEntity2.getRuleCnt(), ruleCnt); + Assert.assertEquals(bdbEntity2.getCreateUser(), createUser); + Assert.assertEquals(bdbEntity2.getCreateDate(), createDate); + Assert.assertEquals(bdbEntity2.getSerialId(), dataVerId); + bdbEntity2.setResCheckStatus(EnableStatus.STATUS_ENABLE); + // case 3 + GroupResCtrlEntity resEntry3 = new GroupResCtrlEntity(bdbEntity2); + Assert.assertEquals(bdbEntity2.getGroupName(), resEntry3.getGroupName()); + Assert.assertEquals(bdbEntity2.getResCheckStatus(), resEntry3.getResCheckStatus()); + Assert.assertEquals(bdbEntity2.getAllowedBrokerClientRate(), + resEntry3.getAllowedBrokerClientRate()); + Assert.assertEquals(bdbEntity2.getQryPriorityId(), resEntry3.getQryPriorityId()); + Assert.assertTrue(resEntry3.getFlowCtrlStatus().isEnable()); + Assert.assertEquals(bdbEntity2.getFlowCtrlInfo(), resEntry3.getFlowCtrlInfo()); + Assert.assertEquals(bdbEntity2.getRuleCnt(), resEntry3.getRuleCnt()); + Assert.assertEquals(bdbEntity2.getCreateUser(), resEntry3.getCreateUser()); + Assert.assertEquals(bdbEntity2.getCreateDate(), resEntry3.getCreateDate()); + Assert.assertEquals(bdbEntity2.getSerialId(), resEntry3.getDataVerId()); + // case 4 + long newDataVerId = 99; + boolean resChkEnable = true; + int newAllowedB2CRate = 5; + int newQryPriorityId = 2; + boolean newFlowCtrlEnable = false; + int newFlowRuleCnt = 2; + String newFlowCtrlRuleInfo = "[{},{}]"; + GroupResCtrlEntity resEntry4 = resEntry3.clone(); + Assert.assertTrue(resEntry4.isMatched(resEntry3)); + Assert.assertTrue(resEntry4.updModifyInfo(newDataVerId, resChkEnable, newAllowedB2CRate, + newQryPriorityId, newFlowCtrlEnable, newFlowRuleCnt, newFlowCtrlRuleInfo)); + Assert.assertEquals(resEntry4.getDataVerId(), newDataVerId); + Assert.assertEquals(resEntry4.getResCheckStatus().isEnable(), resChkEnable); + Assert.assertEquals(resEntry4.getAllowedBrokerClientRate(), newAllowedB2CRate); + Assert.assertEquals(resEntry4.getQryPriorityId(), newQryPriorityId); + Assert.assertEquals(resEntry4.getFlowCtrlStatus().isEnable(), newFlowCtrlEnable); + Assert.assertEquals(resEntry4.getRuleCnt(), newFlowRuleCnt); + Assert.assertEquals(resEntry4.getFlowCtrlInfo(), newFlowCtrlRuleInfo); + Assert.assertEquals(resEntry4.getGroupName(), resEntry3.getGroupName()); + Assert.assertEquals(resEntry4.getResCheckStatus(), resEntry3.getResCheckStatus()); + Assert.assertNotEquals(resEntry4.getAllowedBrokerClientRate(), + resEntry3.getAllowedBrokerClientRate()); + Assert.assertNotEquals(resEntry4.getQryPriorityId(), resEntry3.getQryPriorityId()); + Assert.assertNotEquals(resEntry4.getFlowCtrlStatus(), resEntry3.getFlowCtrlStatus()); + Assert.assertNotEquals(resEntry4.getFlowCtrlInfo(), resEntry3.getFlowCtrlInfo()); + Assert.assertNotEquals(resEntry4.getRuleCnt(), resEntry3.getRuleCnt()); + Assert.assertEquals(resEntry4.getCreateUser(), resEntry3.getCreateUser()); + Assert.assertEquals(resEntry4.getCreateDate(), resEntry3.getCreateDate()); + Assert.assertNotEquals(resEntry4.getDataVerId(), resEntry3.getDataVerId()); + // case 5 + BdbGroupFlowCtrlEntity bdbEntity5 = resEntry4.buildBdbGroupFlowCtrlEntity(); + Assert.assertEquals(bdbEntity5.getSerialId(), newDataVerId); + Assert.assertEquals(bdbEntity5.getResCheckStatus().isEnable(), resChkEnable); + Assert.assertEquals(bdbEntity5.getAllowedBrokerClientRate(), newAllowedB2CRate); + Assert.assertEquals(bdbEntity5.getQryPriorityId(), newQryPriorityId); + Assert.assertEquals(bdbEntity5.getStatusId(), 0); + Assert.assertEquals(bdbEntity5.getRuleCnt(), newFlowRuleCnt); + Assert.assertEquals(bdbEntity5.getFlowCtrlInfo(), newFlowCtrlRuleInfo); + Assert.assertEquals(bdbEntity5.getGroupName(), resEntry3.getGroupName()); + + + + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java new file mode 100644 index 0000000..243f783 --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicCtrlEntityTest.java @@ -0,0 +1,119 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import java.util.Date; +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.corebase.utils.SettingValidUtils; +import org.apache.tubemq.server.common.statusdef.EnableStatus; +import org.apache.tubemq.server.master.bdbstore.bdbentitys.BdbTopicAuthControlEntity; +import org.junit.Assert; +import org.junit.Test; + + + +public class TopicCtrlEntityTest { + + @Test + public void topicCtrlEntityTest() { + // case 1 + String topicName = "test_1"; + boolean enableAuthControl = false; + String attributes = ""; + String createUser = "creater"; + Date createDate = new Date(); + int maxMsgSizeInB = 12222; + BdbTopicAuthControlEntity bdbEntity1 = + new BdbTopicAuthControlEntity(topicName, + enableAuthControl, attributes, createUser, createDate); + TopicCtrlEntity ctrlEntity1 = new TopicCtrlEntity(bdbEntity1); + // check bdbEntity1 + Assert.assertEquals(bdbEntity1.getTopicName(), topicName); + Assert.assertEquals(bdbEntity1.getTopicId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(bdbEntity1.isEnableAuthControl(), enableAuthControl); + Assert.assertEquals(bdbEntity1.getMaxMsgSize(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(bdbEntity1.getCreateUser(), createUser); + Assert.assertEquals(bdbEntity1.getCreateDate(), createDate); + Assert.assertEquals(bdbEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED); + bdbEntity1.setMaxMsgSize(maxMsgSizeInB); + Assert.assertEquals(bdbEntity1.getMaxMsgSize(), maxMsgSizeInB); + // check ctrlEntity1 + Assert.assertEquals(ctrlEntity1.getTopicName(), topicName); + Assert.assertEquals(ctrlEntity1.getTopicId(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(ctrlEntity1.getAuthCtrlStatus(), EnableStatus.STATUS_DISABLE); + Assert.assertEquals(ctrlEntity1.getMaxMsgSizeInB(), + TBaseConstants.META_MAX_MESSAGE_DATA_SIZE); + Assert.assertEquals(ctrlEntity1.getMaxMsgSizeInMB(), + TBaseConstants.META_MIN_ALLOWED_MESSAGE_SIZE_MB); + Assert.assertEquals(ctrlEntity1.getCreateUser(), createUser); + Assert.assertEquals(ctrlEntity1.getCreateDate(), createDate); + Assert.assertEquals(ctrlEntity1.getDataVerId(), TBaseConstants.META_VALUE_UNDEFINED); + // case 2 + long dataVerId2 = 555; + int topicId2 = 222; + String topicName2 = "test_1"; + boolean enableAuthControl2 = true; + String attributes2 = ""; + String createUser2 = "creater2"; + Date createDate2 = new Date(); + int maxMsgSizeInB2 = 14; + TopicCtrlEntity ctrlEntity2 = ctrlEntity1.clone(); + Assert.assertTrue(ctrlEntity2.isDataEquals(ctrlEntity1)); + BaseEntity opInfoEntry = new BaseEntity(dataVerId2, createUser2, createDate2); + Assert.assertTrue(ctrlEntity2.updBaseModifyInfo(opInfoEntry)); + Assert.assertTrue(ctrlEntity2.updModifyInfo(opInfoEntry.getDataVerId(), + topicId2, maxMsgSizeInB2, enableAuthControl2)); + Assert.assertFalse(ctrlEntity2.isDataEquals(ctrlEntity1)); + Assert.assertFalse(ctrlEntity2.isMatched(ctrlEntity1)); + // check ctrlEntity2 + Assert.assertEquals(ctrlEntity2.getTopicName(), topicName); + Assert.assertEquals(ctrlEntity2.getTopicId(), topicId2); + Assert.assertEquals(ctrlEntity2.getAuthCtrlStatus(), EnableStatus.STATUS_ENABLE); + Assert.assertEquals(ctrlEntity2.getMaxMsgSizeInB(), + SettingValidUtils.validAndXfeMaxMsgSizeFromMBtoB(maxMsgSizeInB2)); + Assert.assertEquals(ctrlEntity2.getMaxMsgSizeInMB(), maxMsgSizeInB2); + Assert.assertEquals(ctrlEntity2.getCreateUser(), createUser); + Assert.assertEquals(ctrlEntity2.getCreateDate(), createDate); + Assert.assertEquals(ctrlEntity2.getModifyUser(), createUser2); + Assert.assertEquals(ctrlEntity2.getModifyDate(), createDate2); + Assert.assertEquals(ctrlEntity2.getDataVerId(), dataVerId2); + // case 3 + BdbTopicAuthControlEntity bdbEntity3 = + ctrlEntity2.buildBdbTopicAuthControlEntity(); + Assert.assertEquals(bdbEntity3.getTopicName(), ctrlEntity2.getTopicName()); + Assert.assertEquals(bdbEntity3.getTopicId(), ctrlEntity2.getTopicId()); + Assert.assertEquals(bdbEntity3.isEnableAuthControl(), + ctrlEntity2.getAuthCtrlStatus().isEnable()); + Assert.assertEquals(bdbEntity3.getMaxMsgSize(), ctrlEntity2.getMaxMsgSizeInB()); + Assert.assertEquals(bdbEntity3.getCreateUser(), ctrlEntity2.getModifyUser()); + Assert.assertEquals(bdbEntity3.getCreateDate(), ctrlEntity2.getModifyDate()); + Assert.assertEquals(bdbEntity3.getDataVerId(), ctrlEntity2.getDataVerId()); + // case 4 + TopicCtrlEntity ctrlEntity4 = new TopicCtrlEntity(bdbEntity3); + // check ctrlEntity4 + Assert.assertTrue(ctrlEntity4.isDataEquals(ctrlEntity2)); + Assert.assertEquals(ctrlEntity4.getTopicName(), ctrlEntity2.getTopicName()); + Assert.assertEquals(ctrlEntity4.getTopicId(), ctrlEntity2.getTopicId()); + Assert.assertEquals(ctrlEntity4.getAuthCtrlStatus(), ctrlEntity2.getAuthCtrlStatus()); + Assert.assertEquals(ctrlEntity4.getMaxMsgSizeInB(), ctrlEntity2.getMaxMsgSizeInB()); + Assert.assertEquals(ctrlEntity4.getCreateUser(), ctrlEntity2.getModifyUser()); + Assert.assertEquals(ctrlEntity4.getCreateDate(), ctrlEntity2.getModifyDate()); + Assert.assertEquals(ctrlEntity4.getDataVerId(), ctrlEntity2.getDataVerId()); + } + +} diff --git a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroupTest.java b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroupTest.java new file mode 100644 index 0000000..4dbf3fc --- /dev/null +++ b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/TopicPropGroupTest.java @@ -0,0 +1,156 @@ +/** + * 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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> + * 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.tubemq.server.master.metamanage.metastore.dao.entity; + +import org.apache.tubemq.corebase.TBaseConstants; +import org.apache.tubemq.server.common.statusdef.CleanPolType; +import org.junit.Assert; +import org.junit.Test; + + + + +public class TopicPropGroupTest { + + @Test + public void topicPropGroupTest() { + // case 1 + TopicPropGroup propsCase1 = new TopicPropGroup(); + Assert.assertEquals(propsCase1.getNumTopicStores(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getNumPartitions(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getUnflushThreshold(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getUnflushInterval(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getUnflushDataHold(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getMemCacheMsgSizeInMB(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getMemCacheFlushIntvl(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getMemCacheMsgCntInK(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertTrue((propsCase1.getAcceptPublish() == null)); + Assert.assertTrue((propsCase1.getAcceptSubscribe() == null)); + Assert.assertEquals(propsCase1.getDataStoreType(), TBaseConstants.META_VALUE_UNDEFINED); + Assert.assertEquals(propsCase1.getDataPath(), ""); + Assert.assertEquals(propsCase1.getDeletePolicy(), ""); + // case 2 + int numTopicStores = 1; + int numPartitions = 2; + int unflushThreshold = 3; + int unflushInterval = 4; + int unflushDataHold = 5; + int memCacheMsgSizeInMB = 6; + int memCacheMsgCntInK = 7; + int memCacheFlushIntvl = 8; + boolean acceptPublish = true; + boolean acceptSubscribe = false; + String deletePolicy = "delete,12h"; + int dataStoreType = 9; + String dataPath = "test\\test"; + TopicPropGroup propsCase2 = + new TopicPropGroup(numTopicStores, numPartitions, unflushThreshold, + unflushInterval, unflushDataHold, memCacheMsgSizeInMB, + memCacheMsgCntInK, memCacheFlushIntvl, acceptPublish, + acceptSubscribe, deletePolicy, dataStoreType, dataPath); + Assert.assertEquals(propsCase2.getNumTopicStores(), numTopicStores); + Assert.assertEquals(propsCase2.getNumPartitions(), numPartitions); + Assert.assertEquals(propsCase2.getUnflushThreshold(), unflushThreshold); + Assert.assertEquals(propsCase2.getUnflushInterval(), unflushInterval); + Assert.assertEquals(propsCase2.getUnflushDataHold(), unflushDataHold); + Assert.assertEquals(propsCase2.getMemCacheMsgSizeInMB(), memCacheMsgSizeInMB); + Assert.assertEquals(propsCase2.getMemCacheFlushIntvl(), memCacheFlushIntvl); + Assert.assertEquals(propsCase2.getMemCacheMsgCntInK(), memCacheMsgCntInK); + Assert.assertEquals(propsCase2.getAcceptPublish(), acceptPublish); + Assert.assertEquals(propsCase2.getAcceptSubscribe(), acceptSubscribe); + Assert.assertEquals(propsCase2.getDataStoreType(), dataStoreType); + Assert.assertEquals(propsCase2.getDataPath(), dataPath); + Assert.assertEquals(propsCase2.getDeletePolicy(), deletePolicy); + Assert.assertEquals(propsCase2.getCleanPolicyType(), CleanPolType.CLEAN_POL_DELETE); + Assert.assertEquals(propsCase2.getRetPeriodInMs(), 12 * 3600 * 1000); + // case 3 + int newNumTopicStores = 101; + int newNumPartitions = 102; + int newUnflushThreshold = 103; + int newUnflushInterval = 104; + int newUnflushDataHold = 105; + int newMemCacheMsgSizeInMB = 106; + int newMemCacheMsgCntInK = 107; + int newMemCacheFlushIntvl = 108; + boolean newAcceptPublish = false; + boolean newAcceptSubscribe = true; + String newDeletePolicy = "delete,10h"; + int newDataStoreType = 109; + String newDataPath = "newnew"; + TopicPropGroup propsCase3 = propsCase2.clone(); + Assert.assertTrue(propsCase3.isMatched(propsCase2)); + Assert.assertFalse(propsCase2.updModifyInfo(propsCase3)); + propsCase3.setNumTopicStores(newNumTopicStores); + Assert.assertEquals(propsCase3.getNumTopicStores(), newNumTopicStores); + Assert.assertNotEquals(propsCase3.getNumTopicStores(), numTopicStores); + Assert.assertNotEquals(propsCase3.getNumTopicStores(), propsCase2.getNumTopicStores()); + propsCase3.setNumPartitions(newNumPartitions); + Assert.assertEquals(propsCase3.getNumPartitions(), newNumPartitions); + Assert.assertNotEquals(propsCase3.getNumPartitions(), numPartitions); + Assert.assertNotEquals(propsCase3.getNumPartitions(), propsCase2.getNumPartitions()); + propsCase3.setUnflushThreshold(newUnflushThreshold); + Assert.assertEquals(propsCase3.getUnflushThreshold(), newUnflushThreshold); + Assert.assertNotEquals(propsCase3.getUnflushThreshold(), unflushThreshold); + Assert.assertNotEquals(propsCase3.getUnflushThreshold(), propsCase2.getUnflushThreshold()); + propsCase3.setUnflushInterval(newUnflushInterval); + Assert.assertEquals(propsCase3.getUnflushInterval(), newUnflushInterval); + Assert.assertNotEquals(propsCase3.getUnflushInterval(), unflushInterval); + Assert.assertNotEquals(propsCase3.getUnflushInterval(), propsCase2.getUnflushInterval()); + propsCase3.setUnflushDataHold(newUnflushDataHold); + Assert.assertEquals(propsCase3.getUnflushDataHold(), newUnflushDataHold); + Assert.assertNotEquals(propsCase3.getUnflushDataHold(), unflushDataHold); + Assert.assertNotEquals(propsCase3.getUnflushDataHold(), propsCase2.getUnflushDataHold()); + propsCase3.setMemCacheMsgSizeInMB(newMemCacheMsgSizeInMB); + Assert.assertEquals(propsCase3.getMemCacheMsgSizeInMB(), newMemCacheMsgSizeInMB); + Assert.assertNotEquals(propsCase3.getMemCacheMsgSizeInMB(), memCacheMsgSizeInMB); + Assert.assertNotEquals(propsCase3.getMemCacheMsgSizeInMB(), propsCase2.getMemCacheMsgSizeInMB()); + propsCase3.setMemCacheMsgCntInK(newMemCacheMsgCntInK); + Assert.assertEquals(propsCase3.getMemCacheMsgCntInK(), newMemCacheMsgCntInK); + Assert.assertNotEquals(propsCase3.getMemCacheMsgCntInK(), memCacheMsgCntInK); + Assert.assertNotEquals(propsCase3.getMemCacheMsgCntInK(), propsCase2.getMemCacheMsgCntInK()); + propsCase3.setMemCacheFlushIntvl(newMemCacheFlushIntvl); + Assert.assertEquals(propsCase3.getMemCacheFlushIntvl(), newMemCacheFlushIntvl); + Assert.assertNotEquals(propsCase3.getMemCacheFlushIntvl(), memCacheFlushIntvl); + Assert.assertNotEquals(propsCase3.getMemCacheFlushIntvl(), propsCase2.getMemCacheFlushIntvl()); + propsCase3.setAcceptPublish(newAcceptPublish); + Assert.assertEquals(propsCase3.getAcceptPublish(), newAcceptPublish); + Assert.assertNotEquals(propsCase3.getAcceptPublish(), acceptPublish); + Assert.assertNotEquals(propsCase3.getAcceptPublish(), propsCase2.getAcceptPublish()); + propsCase3.setAcceptSubscribe(newAcceptSubscribe); + Assert.assertEquals(propsCase3.getAcceptSubscribe(), newAcceptSubscribe); + Assert.assertNotEquals(propsCase3.getAcceptSubscribe(), acceptSubscribe); + Assert.assertNotEquals(propsCase3.getAcceptSubscribe(), propsCase2.getAcceptSubscribe()); + propsCase3.setDataStoreInfo(newDataStoreType, newDataPath); + Assert.assertEquals(propsCase3.getDataStoreType(), newDataStoreType); + Assert.assertNotEquals(propsCase3.getDataStoreType(), dataStoreType); + Assert.assertNotEquals(propsCase3.getDataStoreType(), propsCase2.getDataStoreType()); + Assert.assertEquals(propsCase3.getDataPath(), newDataPath); + Assert.assertNotEquals(propsCase3.getDataPath(), dataPath); + Assert.assertNotEquals(propsCase3.getDataPath(), propsCase2.getDataPath()); + propsCase3.setDeletePolicy(newDeletePolicy); + Assert.assertEquals(propsCase3.getDeletePolicy(), newDeletePolicy); + Assert.assertNotEquals(propsCase3.getDeletePolicy(), deletePolicy); + Assert.assertNotEquals(propsCase3.getDeletePolicy(), propsCase2.getDeletePolicy()); + Assert.assertEquals(propsCase3.getCleanPolicyType(), CleanPolType.CLEAN_POL_DELETE); + Assert.assertEquals(propsCase3.getRetPeriodInMs(), 10 * 3600 * 1000); + Assert.assertFalse(propsCase3.isMatched(propsCase2)); + Assert.assertTrue(propsCase2.updModifyInfo(propsCase3)); + + } + +}
