Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
1d3af6b9
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1d3af6b9
编写于
7月 31, 2011
作者:
C
Christoph Kutzinski
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[JENKINS-10530] forgot to commit the unit test
上级
fb9a2667
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
144 addition
and
0 deletion
+144
-0
maven-plugin/src/test/java/hudson/maven/MavenModuleTest.java
maven-plugin/src/test/java/hudson/maven/MavenModuleTest.java
+130
-0
maven-plugin/src/test/java/hudson/model/MockHelper.java
maven-plugin/src/test/java/hudson/model/MockHelper.java
+14
-0
未找到文件。
maven-plugin/src/test/java/hudson/maven/MavenModuleTest.java
0 → 100644
浏览文件 @
1d3af6b9
package
hudson.maven
;
import
static
org
.
mockito
.
Mockito
.
doCallRealMethod
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
static
org
.
powermock
.
api
.
support
.
membermodification
.
MemberMatcher
.
constructor
;
import
static
org
.
powermock
.
api
.
support
.
membermodification
.
MemberModifier
.
suppress
;
import
hudson.maven.MavenModuleSet.DescriptorImpl
;
import
hudson.model.AbstractProject
;
import
hudson.model.DependencyGraph
;
import
hudson.model.MockHelper
;
import
java.util.Collections
;
import
java.util.List
;
import
junit.framework.Assert
;
import
org.apache.maven.model.Build
;
import
org.apache.maven.model.Plugin
;
import
org.apache.maven.project.MavenProject
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.jvnet.hudson.test.Bug
;
import
org.mockito.Matchers
;
import
org.powermock.core.classloader.annotations.PrepareForTest
;
import
org.powermock.modules.junit4.PowerMockRunner
;
import
com.google.common.collect.Lists
;
@RunWith
(
PowerMockRunner
.
class
)
@PrepareForTest
(
{
MavenModuleSet
.
class
,
DescriptorImpl
.
class
,
AbstractProject
.
class
})
public
class
MavenModuleTest
{
private
MavenModuleSet
parent
;
private
MavenModule
module
;
private
MavenProject
project
;
@Before
public
void
before
()
{
suppress
(
constructor
(
AbstractProject
.
class
));
suppress
(
constructor
(
DescriptorImpl
.
class
));
this
.
module
=
mock
(
MavenModule
.
class
);
basicMocking
(
this
.
module
);
this
.
project
=
new
MavenProject
();
project
.
setGroupId
(
"test"
);
project
.
setArtifactId
(
"testmodule"
);
project
.
setVersion
(
"2.0-SNAPSHOT"
);
project
.
setPackaging
(
"jar"
);
this
.
module
.
reconfigure
(
new
PomInfo
(
project
,
null
,
"relPath"
));
this
.
module
.
doSetName
(
"test$testmodule"
);
}
/**
* Tests that a {@link MavenModule} which builds a plugin is recognized as a snapshot
* dependency in another module using that plugin.
*/
@Test
@Bug
(
10530
)
public
void
testMavenModuleAsPluginDependency
()
{
MavenModule
pluginModule
=
createPluginProject
();
addModuleAsPluginDependency
(
this
.
module
,
pluginModule
);
when
(
this
.
module
.
getAllMavenModules
()).
thenReturn
(
Lists
.
newArrayList
(
this
.
module
,
pluginModule
));
DependencyGraph
graph
=
MockHelper
.
mockDependencyGraph
(
Lists
.<
AbstractProject
<?,?>>
newArrayList
(
this
.
module
,
pluginModule
));
graph
.
build
();
List
<
AbstractProject
>
downstream
=
graph
.
getDownstream
(
pluginModule
);
Assert
.
assertEquals
(
1
,
downstream
.
size
());
Assert
.
assertSame
(
this
.
module
,
downstream
.
get
(
0
));
}
private
static
void
addModuleAsPluginDependency
(
MavenModule
module
,
MavenModule
pluginModule
)
{
Build
build
=
new
Build
();
Plugin
plugin
=
new
Plugin
();
plugin
.
setGroupId
(
pluginModule
.
getModuleName
().
groupId
);
plugin
.
setArtifactId
(
pluginModule
.
getModuleName
().
artifactId
);
plugin
.
setVersion
(
pluginModule
.
getVersion
());
build
.
setPlugins
(
Collections
.
singletonList
(
plugin
));
MavenProject
project
=
new
MavenProject
();
project
.
setGroupId
(
module
.
getModuleName
().
groupId
);
project
.
setArtifactId
(
module
.
getModuleName
().
artifactId
);
project
.
setVersion
(
module
.
getVersion
());
project
.
setPackaging
(
"jar"
);
project
.
setBuild
(
build
);
module
.
reconfigure
(
new
PomInfo
(
project
,
null
,
"relPath"
));
}
private
static
MavenModule
createPluginProject
()
{
MavenModule
pluginModule
=
mock
(
MavenModule
.
class
);
basicMocking
(
pluginModule
);
MavenProject
proj
=
new
MavenProject
();
proj
.
setGroupId
(
"test"
);
proj
.
setArtifactId
(
"pluginmodule"
);
proj
.
setVersion
(
"1.0-SNAPSHOT"
);
proj
.
setPackaging
(
"maven-plugin"
);
PomInfo
info
=
new
PomInfo
(
proj
,
null
,
"relPath"
);
pluginModule
.
reconfigure
(
info
);
pluginModule
.
doSetName
(
"test$pluginmodule"
);
return
pluginModule
;
}
private
static
void
basicMocking
(
MavenModule
mock
)
{
when
(
mock
.
isBuildable
()).
thenReturn
(
Boolean
.
TRUE
);
doCallRealMethod
().
when
(
mock
).
reconfigure
(
Matchers
.
any
(
PomInfo
.
class
));
doCallRealMethod
().
when
(
mock
).
buildDependencyGraph
(
Matchers
.
any
(
DependencyGraph
.
class
));
when
(
mock
.
asDependency
()).
thenCallRealMethod
();
doCallRealMethod
().
when
(
mock
).
doSetName
(
Matchers
.
anyString
());
when
(
mock
.
getModuleName
()).
thenCallRealMethod
();
when
(
mock
.
getVersion
()).
thenCallRealMethod
();
MavenModuleSet
parent
=
mock
(
MavenModuleSet
.
class
);
when
(
parent
.
isAggregatorStyleBuild
()).
thenReturn
(
Boolean
.
FALSE
);
when
(
mock
.
getParent
()).
thenReturn
(
parent
);
when
(
parent
.
getModules
()).
thenReturn
(
Collections
.
singleton
(
mock
));
}
}
maven-plugin/src/test/java/hudson/model/MockHelper.java
0 → 100644
浏览文件 @
1d3af6b9
package
hudson.model
;
import
java.util.Collection
;
import
org.mockito.Mockito
;
public
class
MockHelper
{
public
static
DependencyGraph
mockDependencyGraph
(
Collection
<
AbstractProject
<?,?>>
allProjects
)
{
DependencyGraph
graph
=
new
DependencyGraph
();
graph
=
Mockito
.
spy
(
graph
);
Mockito
.
doReturn
(
allProjects
).
when
(
graph
).
getAllProjects
();
return
graph
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录