Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
d426195d
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d426195d
编写于
9月 22, 2013
作者:
H
Hiroyuki Sato
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix API::MergeRequest
Fixes #5144 Refs #4996
上级
5367e42b
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
27 addition
and
27 deletion
+27
-27
lib/api/merge_requests.rb
lib/api/merge_requests.rb
+1
-1
spec/requests/api/merge_requests_spec.rb
spec/requests/api/merge_requests_spec.rb
+26
-26
未找到文件。
lib/api/merge_requests.rb
浏览文件 @
d426195d
...
...
@@ -4,7 +4,7 @@ module API
before
{
authenticate!
}
before
{
Thread
.
current
[
:current_user
]
=
current_user
}
resource
:projects
,
requirements:
{
id:
/[a-zA-Z.0-9_\-]+\/[a-zA-Z.0-9_\-]+/
}
do
resource
:projects
do
helpers
do
def
handle_merge_request_errors!
(
errors
)
if
errors
[
:project_access
].
any?
...
...
spec/requests/api/merge_requests_spec.rb
浏览文件 @
d426195d
...
...
@@ -14,14 +14,14 @@ describe API::API do
describe
"GET /projects/:id/merge_requests"
do
context
"when unauthenticated"
do
it
"should return authentication error"
do
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
)
get
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
)
response
.
status
.
should
==
401
end
end
context
"when authenticated"
do
it
"should return an array of merge_requests"
do
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'title'
].
should
==
merge_request
.
title
...
...
@@ -31,13 +31,13 @@ describe API::API do
describe
"GET /projects/:id/merge_request/:merge_request_id"
do
it
"should return merge_request"
do
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
)
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
merge_request
.
title
end
it
"should return a 404 error if merge_request_id not found"
do
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/999"
,
user
)
get
api
(
"/projects/
#{
project
.
id
}
/merge_request/999"
,
user
)
response
.
status
.
should
==
404
end
end
...
...
@@ -45,32 +45,32 @@ describe API::API do
describe
"POST /projects/:id/merge_requests"
do
context
'between branches projects'
do
it
"should return merge_request"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
end
it
"should return 422 when source_branch equals target_branch"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
422
end
it
"should return 400 when source_branch is missing"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
400
end
it
"should return 400 when target_branch is missing"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
source_branch:
"stable"
,
author:
user
response
.
status
.
should
==
400
end
it
"should return 400 when title is missing"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
target_branch:
'master'
,
source_branch:
'stable'
response
.
status
.
should
==
400
end
...
...
@@ -90,54 +90,54 @@ describe API::API do
end
it
"should return merge_request"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
end
it
"should not return 422 when source_branch equals target_branch"
do
project
.
to_param
.
should_not
==
fork_project
.
to_param
project
.
id
.
should_not
==
fork_project
.
id
fork_project
.
forked?
.
should
be_true
fork_project
.
forked_from_project
.
should
==
project
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
end
it
"should return 400 when source_branch is missing"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
end
it
"should return 400 when target_branch is missing"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
end
it
"should return 400 when title is missing"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
end
it
"should return 400 when target_branch is specified and not a forked project"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user
,
target_project_id:
fork_project
.
id
response
.
status
.
should
==
400
end
it
"should return 400 when target_branch is specified and for a different fork"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
unrelated_project
.
id
response
.
status
.
should
==
400
end
it
"should return 201 when target_branch is specified and for the same project"
do
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
fork_project
.
id
response
.
status
.
should
==
201
end
...
...
@@ -146,7 +146,7 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id to close MR"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"close"
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"close"
response
.
status
.
should
==
200
json_response
[
'state'
].
should
==
'closed'
end
...
...
@@ -154,7 +154,7 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id to merge MR"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"merge"
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"merge"
response
.
status
.
should
==
200
json_response
[
'state'
].
should
==
'merged'
end
...
...
@@ -162,19 +162,19 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
title:
"New title"
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
title:
"New title"
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
'New title'
end
it
"should return 422 when source_branch and target_branch are renamed the same"
do
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
source_branch:
"master"
,
target_branch:
"master"
response
.
status
.
should
==
422
end
it
"should return merge_request with renamed target_branch"
do
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
target_branch:
"wiki"
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
target_branch:
"wiki"
response
.
status
.
should
==
200
json_response
[
'target_branch'
].
should
==
'wiki'
end
...
...
@@ -182,18 +182,18 @@ describe API::API do
describe
"POST /projects/:id/merge_request/:merge_request_id/comments"
do
it
"should return comment"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
),
note:
"My comment"
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
),
note:
"My comment"
response
.
status
.
should
==
201
json_response
[
'note'
].
should
==
'My comment'
end
it
"should return 400 if note is missing"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
)
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
)
response
.
status
.
should
==
400
end
it
"should return 404 if note is attached to non existent merge request"
do
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/111/comments"
,
user
),
note:
"My comment"
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/111/comments"
,
user
),
note:
"My comment"
response
.
status
.
should
==
404
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录