Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Jenkins 中文社区
jenkins-cli
提交
7bdb448d
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 搜索 >>
未验证
提交
7bdb448d
编写于
9月 19, 2019
作者:
LinuxSuRen
提交者:
GitHub
9月 19, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #163 from LinuxSuRen/output-name
Add single name as a output format
上级
47d3cdc4
ffc946ab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
47 addition
and
1 deletion
+47
-1
app/cmd/job_search.go
app/cmd/job_search.go
+18
-1
app/cmd/job_search_test.go
app/cmd/job_search_test.go
+29
-0
未找到文件。
app/cmd/job_search.go
浏览文件 @
7bdb448d
package
cmd
import
(
"fmt"
"log"
"net/http"
"strings"
"github.com/jenkins-zh/jenkins-cli/client"
"github.com/spf13/cobra"
...
...
@@ -51,7 +53,7 @@ var jobSearchCmd = &cobra.Command{
if
status
,
err
:=
jclient
.
Search
(
keyword
,
jobSearchOption
.
Max
);
err
==
nil
{
var
data
[]
byte
if
data
,
err
=
Format
(
status
,
jobSearchOption
.
Format
);
err
==
nil
{
if
data
,
err
=
jobSearchOption
.
Output
(
status
);
err
==
nil
{
cmd
.
Println
(
string
(
data
))
}
else
{
log
.
Fatal
(
err
)
...
...
@@ -61,3 +63,18 @@ var jobSearchCmd = &cobra.Command{
}
},
}
// Output render data into byte array
func
(
o
*
JobSearchOption
)
Output
(
obj
interface
{})
(
data
[]
byte
,
err
error
)
{
if
data
,
err
=
o
.
OutputOption
.
Output
(
obj
);
err
!=
nil
&&
o
.
OutputOption
.
Format
==
"name"
{
buf
:=
""
searchResult
:=
obj
.
(
*
client
.
SearchResult
)
for
_
,
item
:=
range
searchResult
.
Suggestions
{
buf
=
fmt
.
Sprintf
(
"%s%s
\n
"
,
buf
,
item
.
Name
)
}
data
=
[]
byte
(
strings
.
Trim
(
buf
,
"
\n
"
))
err
=
nil
}
return
}
app/cmd/job_search_test.go
浏览文件 @
7bdb448d
...
...
@@ -130,6 +130,35 @@ var _ = Describe("job search command", func() {
}
]
}
`
))
})
It
(
"should success, output format is name"
,
func
()
{
data
,
err
:=
generateSampleConfig
()
Expect
(
err
)
.
To
(
BeNil
())
err
=
ioutil
.
WriteFile
(
rootOptions
.
ConfigFile
,
data
,
0664
)
Expect
(
err
)
.
To
(
BeNil
())
request
,
_
:=
http
.
NewRequest
(
"GET"
,
"http://localhost:8080/jenkins/search/suggest?query=&max=10"
,
nil
)
request
.
SetBasicAuth
(
"admin"
,
"111e3a2f0231198855dceaff96f20540a9"
)
response
:=
&
http
.
Response
{
StatusCode
:
200
,
Proto
:
"HTTP/1.1"
,
Request
:
request
,
Body
:
ioutil
.
NopCloser
(
bytes
.
NewBufferString
(
`{"suggestions": [{"name": "fake"},{"name": "fake1"}]}`
)),
}
roundTripper
.
EXPECT
()
.
RoundTrip
(
request
)
.
Return
(
response
,
nil
)
rootCmd
.
SetArgs
([]
string
{
"job"
,
"search"
,
"--all"
,
"-o"
,
"name"
})
buf
:=
new
(
bytes
.
Buffer
)
rootCmd
.
SetOutput
(
buf
)
_
,
err
=
rootCmd
.
ExecuteC
()
Expect
(
err
)
.
To
(
BeNil
())
Expect
(
buf
.
String
())
.
To
(
Equal
(
`fake
fake1
`
))
})
})
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录