Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
Rocketmq
提交
e93536a9
R
Rocketmq
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
Rocketmq
与 Fork 源项目一致
Fork自
Apache RocketMQ / Rocketmq
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rocketmq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e93536a9
编写于
11月 23, 2021
作者:
D
dongeforever
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add IT Test for static topic
上级
2f4bf296
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
93 addition
and
1177 deletion
+93
-1177
test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java
...src/test/java/org/apache/rocketmq/test/base/BaseConf.java
+16
-0
test/src/test/java/org/apache/rocketmq/test/smoke/LogicalQueueIT.java
...t/java/org/apache/rocketmq/test/smoke/LogicalQueueIT.java
+0
-1170
test/src/test/java/org/apache/rocketmq/test/smoke/StaticTopicIT.java
...st/java/org/apache/rocketmq/test/smoke/StaticTopicIT.java
+76
-0
tools/src/test/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtTest.java
...rg/apache/rocketmq/tools/admin/DefaultMQAdminExtTest.java
+1
-7
未找到文件。
test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java
浏览文件 @
e93536a9
...
...
@@ -19,8 +19,10 @@ package org.apache.rocketmq.test.base;
import
com.google.common.collect.ImmutableList
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.ForkJoinPool
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
...
...
@@ -120,6 +122,13 @@ public class BaseConf {
return
group
;
}
public
static
DefaultMQAdminExt
getAdmin
(
String
nsAddr
)
{
final
DefaultMQAdminExt
mqAdminExt
=
new
DefaultMQAdminExt
(
500
);
mqAdminExt
.
setNamesrvAddr
(
nsAddr
);
mqClients
.
add
(
mqAdminExt
);
return
mqAdminExt
;
}
public
static
RMQNormalProducer
getProducer
(
String
nsAddr
,
String
topic
)
{
return
getProducer
(
nsAddr
,
topic
,
false
);
}
...
...
@@ -197,6 +206,13 @@ public class BaseConf {
shutdown
(
mqClients
);
}
public
static
Set
<
String
>
getBrokers
()
{
Set
<
String
>
brokers
=
new
HashSet
<>();
brokers
.
add
(
broker1Name
);
brokers
.
add
(
broker2Name
);
return
brokers
;
}
public
static
void
shutdown
(
List
<
Object
>
mqClients
)
{
mqClients
.
forEach
(
mqClient
->
ForkJoinPool
.
commonPool
().
execute
(()
->
{
if
(
mqClient
instanceof
AbstractMQProducer
)
{
...
...
test/src/test/java/org/apache/rocketmq/test/smoke/LogicalQueueIT.java
已删除
100644 → 0
浏览文件 @
2f4bf296
此差异已折叠。
点击以展开。
test/src/test/java/org/apache/rocketmq/test/smoke/StaticTopicIT.java
0 → 100644
浏览文件 @
e93536a9
package
org.apache.rocketmq.test.smoke
;
import
org.apache.log4j.Logger
;
import
org.apache.rocketmq.common.protocol.body.ClusterInfo
;
import
org.apache.rocketmq.common.rpc.ClientMetadata
;
import
org.apache.rocketmq.common.statictopic.TopicConfigAndQueueMapping
;
import
org.apache.rocketmq.common.statictopic.TopicQueueMappingOne
;
import
org.apache.rocketmq.common.statictopic.TopicQueueMappingUtils
;
import
org.apache.rocketmq.test.base.BaseConf
;
import
org.apache.rocketmq.test.util.MQRandomUtils
;
import
org.apache.rocketmq.tools.admin.DefaultMQAdminExt
;
import
org.junit.After
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.FixMethodOrder
;
import
org.junit.Test
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.Set
;
import
static
org
.
apache
.
rocketmq
.
common
.
statictopic
.
TopicQueueMappingUtils
.
getMappingDetailFromConfig
;
@FixMethodOrder
public
class
StaticTopicIT
extends
BaseConf
{
private
static
Logger
logger
=
Logger
.
getLogger
(
StaticTopicIT
.
class
);
private
DefaultMQAdminExt
defaultMQAdminExt
;
private
ClientMetadata
clientMetadata
;
@Before
public
void
setUp
()
throws
Exception
{
defaultMQAdminExt
=
getAdmin
(
nsAddr
);
waitBrokerRegistered
(
nsAddr
,
clusterName
);
clientMetadata
=
new
ClientMetadata
();
ClusterInfo
clusterInfo
=
defaultMQAdminExt
.
examineBrokerClusterInfo
();
if
(
clusterInfo
==
null
||
clusterInfo
.
getClusterAddrTable
().
isEmpty
())
{
throw
new
RuntimeException
(
"The Cluster info is empty"
);
}
clientMetadata
.
refreshClusterInfo
(
clusterInfo
);
}
@Test
public
void
testCreateStaticTopic
()
throws
Exception
{
String
topic
=
"static"
+
MQRandomUtils
.
getRandomTopic
();
int
queueNum
=
10
;
Set
<
String
>
brokers
=
getBrokers
();
//create topic
{
Map
<
String
,
TopicConfigAndQueueMapping
>
brokerConfigMap
=
defaultMQAdminExt
.
examineTopicConfigAll
(
clientMetadata
,
topic
);
Assert
.
assertTrue
(
brokerConfigMap
.
isEmpty
());
TopicQueueMappingUtils
.
createTopicConfigMapping
(
topic
,
queueNum
,
getBrokers
(),
brokerConfigMap
);
//If some succeed, and others fail, it will cause inconsistent data
for
(
Map
.
Entry
<
String
,
TopicConfigAndQueueMapping
>
entry
:
brokerConfigMap
.
entrySet
())
{
String
broker
=
entry
.
getKey
();
String
addr
=
clientMetadata
.
findMasterBrokerAddr
(
broker
);
TopicConfigAndQueueMapping
configMapping
=
entry
.
getValue
();
defaultMQAdminExt
.
createStaticTopic
(
addr
,
defaultMQAdminExt
.
getCreateTopicKey
(),
configMapping
,
configMapping
.
getMappingDetail
(),
false
);
}
}
Map
<
String
,
TopicConfigAndQueueMapping
>
brokerConfigMap
=
defaultMQAdminExt
.
examineTopicConfigAll
(
clientMetadata
,
topic
);
TopicQueueMappingUtils
.
checkConsistenceOfTopicConfigAndQueueMapping
(
topic
,
brokerConfigMap
);
Map
<
Integer
,
TopicQueueMappingOne
>
globalIdMap
=
TopicQueueMappingUtils
.
checkAndBuildMappingItems
(
new
ArrayList
<>(
getMappingDetailFromConfig
(
brokerConfigMap
.
values
())),
false
,
true
);
Assert
.
assertEquals
(
queueNum
,
globalIdMap
.
size
());
}
@After
public
void
tearDown
()
{
super
.
shutdown
();
}
}
tools/src/test/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtTest.java
浏览文件 @
e93536a9
...
...
@@ -150,13 +150,7 @@ public class DefaultMQAdminExtTest {
topicRouteData
.
setBrokerDatas
(
brokerDatas
);
topicRouteData
.
setQueueDatas
(
new
ArrayList
<
QueueData
>());
topicRouteData
.
setFilterServerTable
(
new
HashMap
<
String
,
List
<
String
>>());
LogicalQueuesInfo
logicalQueuesInfoinfo
=
new
LogicalQueuesInfo
();
logicalQueuesInfoinfo
.
put
(
0
,
Lists
.
newArrayList
(
new
LogicalQueueRouteData
(
0
,
0
,
new
MessageQueue
(
topic1
,
broker1Name
,
0
),
MessageQueueRouteState
.
ReadOnly
,
0
,
1000
,
2000
,
3000
,
broker1Addr
),
new
LogicalQueueRouteData
(
0
,
1000
,
new
MessageQueue
(
topic1
,
broker2Name
,
0
),
MessageQueueRouteState
.
Normal
,
0
,
-
1
,
-
1
,
-
1
,
broker2Addr
)
));
topicRouteData
.
setLogicalQueuesInfo
(
logicalQueuesInfoinfo
);
when
(
mQClientAPIImpl
.
getTopicRouteInfoFromNameServer
(
anyString
(),
anyLong
(),
anyBoolean
(),
any
())).
thenReturn
(
topicRouteData
);
when
(
mQClientAPIImpl
.
getTopicRouteInfoFromNameServer
(
anyString
(),
anyLong
())).
thenReturn
(
topicRouteData
);
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
"id"
,
String
.
valueOf
(
MixAll
.
MASTER_ID
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录