Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
1371ebc7
R
Rocketmq
项目概览
Apache RocketMQ
/
Rocketmq
上一次同步 大约 3 年
通知
267
Star
16139
Fork
68
代码
文件
提交
分支
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看板
提交
1371ebc7
编写于
5月 14, 2019
作者:
M
Mantou
提交者:
dinglei
5月 14, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[RIP-10]Add test cases for ConfigManager (#917)
上级
142b3c83
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
103 addition
and
0 deletion
+103
-0
common/src/test/java/org/apache/rocketmq/common/ConfigManagerTest.java
...st/java/org/apache/rocketmq/common/ConfigManagerTest.java
+103
-0
未找到文件。
common/src/test/java/org/apache/rocketmq/common/ConfigManagerTest.java
0 → 100644
浏览文件 @
1371ebc7
package
org.apache.rocketmq.common
;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
org.apache.rocketmq.common.ConfigManager
;
import
org.apache.rocketmq.common.MixAll
;
import
org.junit.Test
;
import
java.io.File
;
import
java.io.PrintWriter
;
import
java.lang.reflect.Method
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
public
class
ConfigManagerTest
{
private
static
final
String
PATH_FILE
=
System
.
getProperty
(
"java.io.tmpdir"
)
+
File
.
separator
+
"org.apache.rocketmq.common.ConfigManagerTest"
;
private
static
final
String
CONTENT_ENCODE
=
"Encode content for ConfigManager"
;
@Test
public
void
testLoad
()
throws
Exception
{
ConfigManager
testConfigManager
=
buildTestConfigManager
();
File
file
=
createAndWriteFile
(
testConfigManager
.
configFilePath
());
assertTrue
(
testConfigManager
.
load
());
file
.
delete
();
File
fileBak
=
createAndWriteFile
(
testConfigManager
.
configFilePath
()
+
".bak"
);
assertTrue
(
testConfigManager
.
load
());
fileBak
.
delete
();
}
@Test
public
void
testLoadBak
()
throws
Exception
{
ConfigManager
testConfigManager
=
buildTestConfigManager
();
File
file
=
createAndWriteFile
(
testConfigManager
.
configFilePath
()
+
".bak"
);
// invoke private method "loadBak()"
Method
declaredMethod
=
ConfigManager
.
class
.
getDeclaredMethod
(
"loadBak"
);
declaredMethod
.
setAccessible
(
true
);
Boolean
loadBakResult
=
(
Boolean
)
declaredMethod
.
invoke
(
testConfigManager
);
assertTrue
(
loadBakResult
);
file
.
delete
();
Boolean
loadBakResult2
=
(
Boolean
)
declaredMethod
.
invoke
(
testConfigManager
);
assertTrue
(
loadBakResult2
);
declaredMethod
.
setAccessible
(
false
);
}
@Test
public
void
testPersist
()
throws
Exception
{
ConfigManager
testConfigManager
=
buildTestConfigManager
();
testConfigManager
.
persist
();
File
file
=
new
File
(
testConfigManager
.
configFilePath
());
assertEquals
(
CONTENT_ENCODE
,
MixAll
.
file2String
(
file
));
}
private
ConfigManager
buildTestConfigManager
()
{
return
new
ConfigManager
()
{
@Override
public
String
encode
()
{
return
encode
(
false
);
}
@Override
public
String
configFilePath
()
{
return
PATH_FILE
;
}
@Override
public
void
decode
(
String
jsonString
)
{
}
@Override
public
String
encode
(
boolean
prettyFormat
)
{
return
CONTENT_ENCODE
;
}
};
}
private
File
createAndWriteFile
(
String
fileName
)
throws
Exception
{
File
file
=
new
File
(
fileName
);
if
(
file
.
exists
())
{
file
.
delete
();
}
file
.
createNewFile
();
PrintWriter
out
=
new
PrintWriter
(
fileName
);
out
.
write
(
"TestForConfigManager"
);
out
.
close
();
return
file
;
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录