Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Jenkins 中文社区
jenkins-cli
提交
1798c8d9
J
jenkins-cli
项目概览
Jenkins 中文社区
/
jenkins-cli
通知
49
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins-cli
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1798c8d9
编写于
8月 22, 2019
作者:
LinuxSuRen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the error when install a plugin
上级
520889fa
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
77 addition
and
5 deletion
+77
-5
client/pluginManager_test.go
client/pluginManager_test.go
+37
-0
client/pluginManger.go
client/pluginManger.go
+27
-5
client/setup_test.go
client/setup_test.go
+13
-0
未找到文件。
client/pluginManager_test.go
0 → 100644
浏览文件 @
1798c8d9
package
client
import
(
"github.com/golang/mock/gomock"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/gomega"
)
var
_
=
Describe
(
"PluginManager test"
,
func
()
{
var
(
ctrl
*
gomock
.
Controller
)
BeforeEach
(
func
()
{
ctrl
=
gomock
.
NewController
(
GinkgoT
())
})
AfterEach
(
func
()
{
ctrl
.
Finish
()
})
Context
(
"basic function test"
,
func
()
{
It
(
"get install plugin query string"
,
func
()
{
names
:=
make
([]
string
,
0
)
Expect
(
getPluginsInstallQuery
(
names
))
.
To
(
Equal
(
""
))
names
=
append
(
names
,
"abc"
)
Expect
(
getPluginsInstallQuery
(
names
))
.
To
(
Equal
(
"plugin.abc="
))
names
=
append
(
names
,
"def"
)
Expect
(
getPluginsInstallQuery
(
names
))
.
To
(
Equal
(
"plugin.abc=&plugin.def="
))
names
=
append
(
names
,
""
)
Expect
(
getPluginsInstallQuery
(
names
))
.
To
(
Equal
(
"plugin.abc=&plugin.def="
))
})
})
})
client/pluginManger.go
浏览文件 @
1798c8d9
...
...
@@ -153,12 +153,20 @@ func (p *PluginManager) GetPlugins() (pluginList *InstalledPluginList, err error
return
}
func
getPluginsInstallQuery
(
names
[]
string
)
string
{
pluginNames
:=
make
([]
string
,
0
)
for
_
,
name
:=
range
names
{
if
name
==
""
{
continue
}
pluginNames
=
append
(
pluginNames
,
fmt
.
Sprintf
(
"plugin.%s="
,
name
))
}
return
strings
.
Join
(
pluginNames
,
"&"
)
}
// InstallPlugin install a plugin by name
func
(
p
*
PluginManager
)
InstallPlugin
(
names
[]
string
)
(
err
error
)
{
for
i
,
name
:=
range
names
{
names
[
i
]
=
fmt
.
Sprintf
(
"plugin.%s"
,
name
)
}
api
:=
fmt
.
Sprintf
(
"%s/pluginManager/install?%s"
,
p
.
URL
,
strings
.
Join
(
names
,
"=&"
))
api
:=
fmt
.
Sprintf
(
"%s/pluginManager/install?%s"
,
p
.
URL
,
getPluginsInstallQuery
(
names
))
var
(
req
*
http
.
Request
response
*
http
.
Response
...
...
@@ -180,8 +188,22 @@ func (p *PluginManager) InstallPlugin(names []string) (err error) {
data
,
err
=
ioutil
.
ReadAll
(
response
.
Body
)
if
code
==
200
{
fmt
.
Println
(
"install succeed."
)
}
else
if
code
==
400
{
if
errMsg
,
ok
:=
response
.
Header
[
"X-Error"
];
ok
{
for
_
,
msg
:=
range
errMsg
{
fmt
.
Println
(
msg
)
}
}
else
{
fmt
.
Println
(
"Cannot found plugins"
,
names
)
}
}
else
{
log
.
Fatal
(
string
(
data
))
fmt
.
Println
(
response
.
Header
)
fmt
.
Println
(
"status code"
,
code
)
if
err
==
nil
&&
p
.
Debug
&&
len
(
data
)
>
0
{
ioutil
.
WriteFile
(
"debug.html"
,
data
,
0664
)
}
else
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
}
}
else
{
log
.
Fatal
(
err
)
...
...
client/setup_test.go
0 → 100644
浏览文件 @
1798c8d9
package
client
import
(
"testing"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/gomega"
)
func
TestJenkinsClient
(
t
*
testing
.
T
)
{
RegisterFailHandler
(
Fail
)
RunSpecs
(
t
,
"jenkins client test"
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录