Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
2898d923
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,发现更多精彩内容 >>
提交
2898d923
编写于
9月 14, 2013
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4996 from hiroponz/drop-support-of-root-namespace
[WIP]Drop support of root namespace in routing
上级
df92d4ff
553841ec
变更
18
展开全部
隐藏空白更改
内联
并排
Showing
18 changed file
with
133 addition
and
150 deletion
+133
-150
config/routes.rb
config/routes.rb
+12
-12
features/steps/dashboard/dashboard.rb
features/steps/dashboard/dashboard.rb
+1
-1
features/steps/group/group.rb
features/steps/group/group.rb
+1
-1
features/steps/project/project_network_graph.rb
features/steps/project/project_network_graph.rb
+0
-5
features/support/env.rb
features/support/env.rb
+4
-1
lib/api/merge_requests.rb
lib/api/merge_requests.rb
+1
-1
spec/controllers/blob_controller_spec.rb
spec/controllers/blob_controller_spec.rb
+1
-1
spec/controllers/commit_controller_spec.rb
spec/controllers/commit_controller_spec.rb
+7
-7
spec/controllers/commits_controller_spec.rb
spec/controllers/commits_controller_spec.rb
+1
-1
spec/controllers/merge_requests_controller_spec.rb
spec/controllers/merge_requests_controller_spec.rb
+7
-7
spec/controllers/tree_controller_spec.rb
spec/controllers/tree_controller_spec.rb
+1
-1
spec/factories.rb
spec/factories.rb
+1
-0
spec/features/atom/issues_spec.rb
spec/features/atom/issues_spec.rb
+1
-1
spec/models/project_spec.rb
spec/models/project_spec.rb
+2
-19
spec/requests/api/merge_requests_spec.rb
spec/requests/api/merge_requests_spec.rb
+29
-28
spec/routing/project_routing_spec.rb
spec/routing/project_routing_spec.rb
+61
-61
spec/routing/routing_spec.rb
spec/routing/routing_spec.rb
+2
-2
spec/services/git_push_service_spec.rb
spec/services/git_push_service_spec.rb
+1
-1
未找到文件。
config/routes.rb
浏览文件 @
2898d923
...
@@ -157,7 +157,7 @@ Gitlab::Application.routes.draw do
...
@@ -157,7 +157,7 @@ Gitlab::Application.routes.draw do
#
#
# Project Area
# Project Area
#
#
resources
:projects
,
constraints:
{
id:
/
(?:[a-zA-Z.0-9_\-]+\/)?
[a-zA-Z.0-9_\-]+/
},
except:
[
:new
,
:create
,
:index
],
path:
"/"
do
resources
:projects
,
constraints:
{
id:
/
[a-zA-Z.0-9_\-]+\/
[a-zA-Z.0-9_\-]+/
},
except:
[
:new
,
:create
,
:index
],
path:
"/"
do
member
do
member
do
put
:transfer
put
:transfer
post
:fork
post
:fork
...
@@ -177,13 +177,13 @@ Gitlab::Application.routes.draw do
...
@@ -177,13 +177,13 @@ Gitlab::Application.routes.draw do
resources
:graphs
,
only:
[
:show
],
constraints:
{
id:
/(?:[^.]|\.(?!json$))+/
,
format:
/json/
}
resources
:graphs
,
only:
[
:show
],
constraints:
{
id:
/(?:[^.]|\.(?!json$))+/
,
format:
/json/
}
match
"/compare/:from...:to"
=>
"compare#show"
,
as:
"compare"
,
via:
[
:get
,
:post
],
constraints:
{
from:
/.+/
,
to:
/.+/
}
match
"/compare/:from...:to"
=>
"compare#show"
,
as:
"compare"
,
via:
[
:get
,
:post
],
constraints:
{
from:
/.+/
,
to:
/.+/
}
resources
:snippets
do
resources
:snippets
,
constraints:
{
id:
/\d+/
}
do
member
do
member
do
get
"raw"
get
"raw"
end
end
end
end
resources
:wikis
,
only:
[
:show
,
:edit
,
:destroy
,
:create
]
do
resources
:wikis
,
only:
[
:show
,
:edit
,
:destroy
,
:create
]
,
constraints:
{
id:
/[a-zA-Z.0-9_\-]+/
}
do
collection
do
collection
do
get
:pages
get
:pages
put
':id'
=>
'wikis#update'
put
':id'
=>
'wikis#update'
...
@@ -195,7 +195,7 @@ Gitlab::Application.routes.draw do
...
@@ -195,7 +195,7 @@ Gitlab::Application.routes.draw do
end
end
end
end
resource
:wall
,
only:
[
:show
]
do
resource
:wall
,
only:
[
:show
]
,
constraints:
{
id:
/\d+/
}
do
member
do
member
do
get
'notes'
get
'notes'
end
end
...
@@ -214,21 +214,21 @@ Gitlab::Application.routes.draw do
...
@@ -214,21 +214,21 @@ Gitlab::Application.routes.draw do
end
end
end
end
resources
:deploy_keys
do
resources
:deploy_keys
,
constraints:
{
id:
/\d+/
}
do
member
do
member
do
put
:enable
put
:enable
put
:disable
put
:disable
end
end
end
end
resources
:branches
,
only:
[
:index
,
:new
,
:create
,
:destroy
]
do
resources
:branches
,
only:
[
:index
,
:new
,
:create
,
:destroy
]
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-#%+]+/
}
do
collection
do
collection
do
get
:recent
get
:recent
end
end
end
end
resources
:tags
,
only:
[
:index
,
:new
,
:create
,
:destroy
]
resources
:tags
,
only:
[
:index
,
:new
,
:create
,
:destroy
]
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-#%+]+/
}
resources
:protected_branches
,
only:
[
:index
,
:create
,
:destroy
]
resources
:protected_branches
,
only:
[
:index
,
:create
,
:destroy
]
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-#%+]+/
}
resources
:refs
,
only:
[]
do
resources
:refs
,
only:
[]
do
collection
do
collection
do
...
@@ -262,14 +262,14 @@ Gitlab::Application.routes.draw do
...
@@ -262,14 +262,14 @@ Gitlab::Application.routes.draw do
end
end
end
end
resources
:hooks
,
only:
[
:index
,
:create
,
:destroy
]
do
resources
:hooks
,
only:
[
:index
,
:create
,
:destroy
]
,
constraints:
{
id:
/\d+/
}
do
member
do
member
do
get
:test
get
:test
end
end
end
end
resources
:team
,
controller:
'team_members'
,
only:
[
:index
]
resources
:team
,
controller:
'team_members'
,
only:
[
:index
]
resources
:milestones
,
except:
[
:destroy
]
resources
:milestones
,
except:
[
:destroy
]
,
constraints:
{
id:
/\d+/
}
resources
:labels
,
only:
[
:index
]
do
resources
:labels
,
only:
[
:index
]
do
collection
do
collection
do
...
@@ -283,7 +283,7 @@ Gitlab::Application.routes.draw do
...
@@ -283,7 +283,7 @@ Gitlab::Application.routes.draw do
end
end
end
end
resources
:team_members
,
except:
[
:index
,
:edit
]
do
resources
:team_members
,
except:
[
:index
,
:edit
]
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-#%+]+/
}
do
collection
do
collection
do
# Used for import team
# Used for import team
...
@@ -293,7 +293,7 @@ Gitlab::Application.routes.draw do
...
@@ -293,7 +293,7 @@ Gitlab::Application.routes.draw do
end
end
end
end
resources
:notes
,
only:
[
:index
,
:create
,
:destroy
,
:update
]
do
resources
:notes
,
only:
[
:index
,
:create
,
:destroy
,
:update
]
,
constraints:
{
id:
/\d+/
}
do
member
do
member
do
delete
:delete_attachment
delete
:delete_attachment
end
end
...
...
features/steps/dashboard/dashboard.rb
浏览文件 @
2898d923
...
@@ -57,7 +57,7 @@ class Dashboard < Spinach::FeatureSteps
...
@@ -57,7 +57,7 @@ class Dashboard < Spinach::FeatureSteps
And
'I have group with projects'
do
And
'I have group with projects'
do
@group
=
create
(
:group
)
@group
=
create
(
:group
)
@project
=
create
(
:project
,
group
:
@group
)
@project
=
create
(
:project
,
namespace
:
@group
)
@event
=
create
(
:closed_issue_event
,
project:
@project
)
@event
=
create
(
:closed_issue_event
,
project:
@project
)
@project
.
team
<<
[
current_user
,
:master
]
@project
.
team
<<
[
current_user
,
:master
]
...
...
features/steps/group/group.rb
浏览文件 @
2898d923
...
@@ -11,7 +11,7 @@ class Groups < Spinach::FeatureSteps
...
@@ -11,7 +11,7 @@ class Groups < Spinach::FeatureSteps
And
'I have group with projects'
do
And
'I have group with projects'
do
@group
=
create
(
:group
,
owner:
current_user
)
@group
=
create
(
:group
,
owner:
current_user
)
@project
=
create
(
:project
,
group
:
@group
)
@project
=
create
(
:project
,
namespace
:
@group
)
@event
=
create
(
:closed_issue_event
,
project:
@project
)
@event
=
create
(
:closed_issue_event
,
project:
@project
)
@project
.
team
<<
[
current_user
,
:master
]
@project
.
team
<<
[
current_user
,
:master
]
...
...
features/steps/project/project_network_graph.rb
浏览文件 @
2898d923
...
@@ -38,11 +38,6 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
...
@@ -38,11 +38,6 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
sleep
2
sleep
2
end
end
When
'I switch ref to "v2.1.0"'
do
page
.
select
'v2.1.0'
,
from:
'ref'
sleep
2
end
When
'click "Show only selected branch" checkbox'
do
When
'click "Show only selected branch" checkbox'
do
find
(
'#filter_ref'
).
click
find
(
'#filter_ref'
).
click
sleep
2
sleep
2
...
...
features/support/env.rb
浏览文件 @
2898d923
...
@@ -26,10 +26,13 @@ WebMock.allow_net_connect!
...
@@ -26,10 +26,13 @@ WebMock.allow_net_connect!
#
#
require
'capybara/poltergeist'
require
'capybara/poltergeist'
Capybara
.
javascript_driver
=
:poltergeist
Capybara
.
javascript_driver
=
:poltergeist
Capybara
.
register_driver
:poltergeist
do
|
app
|
Capybara
::
Poltergeist
::
Driver
.
new
(
app
,
:js_errors
=>
false
,
:timeout
=>
60
)
end
Spinach
.
hooks
.
on_tag
(
"javascript"
)
do
Spinach
.
hooks
.
on_tag
(
"javascript"
)
do
::
Capybara
.
current_driver
=
::
Capybara
.
javascript_driver
::
Capybara
.
current_driver
=
::
Capybara
.
javascript_driver
end
end
Capybara
.
default_wait_time
=
1
0
Capybara
.
default_wait_time
=
6
0
Capybara
.
ignore_hidden_elements
=
false
Capybara
.
ignore_hidden_elements
=
false
DatabaseCleaner
.
strategy
=
:truncation
DatabaseCleaner
.
strategy
=
:truncation
...
...
lib/api/merge_requests.rb
浏览文件 @
2898d923
...
@@ -4,7 +4,7 @@ module API
...
@@ -4,7 +4,7 @@ module API
before
{
authenticate!
}
before
{
authenticate!
}
before
{
Thread
.
current
[
:current_user
]
=
current_user
}
before
{
Thread
.
current
[
:current_user
]
=
current_user
}
resource
:projects
do
resource
:projects
,
requirements:
{
id:
/[a-zA-Z.0-9_\-]+\/[a-zA-Z.0-9_\-]+/
}
do
helpers
do
helpers
do
def
handle_merge_request_errors!
(
errors
)
def
handle_merge_request_errors!
(
errors
)
if
errors
[
:project_access
].
any?
if
errors
[
:project_access
].
any?
...
...
spec/controllers/blob_controller_spec.rb
浏览文件 @
2898d923
...
@@ -17,7 +17,7 @@ describe Projects::BlobController do
...
@@ -17,7 +17,7 @@ describe Projects::BlobController do
describe
"GET show"
do
describe
"GET show"
do
render_views
render_views
before
{
get
:show
,
project_id:
project
.
code
,
id:
id
}
before
{
get
:show
,
project_id:
project
.
to_param
,
id:
id
}
context
"valid branch, valid file"
do
context
"valid branch, valid file"
do
let
(
:id
)
{
'master/README.md'
}
let
(
:id
)
{
'master/README.md'
}
...
...
spec/controllers/commit_controller_spec.rb
浏览文件 @
2898d923
...
@@ -13,7 +13,7 @@ describe Projects::CommitController do
...
@@ -13,7 +13,7 @@ describe Projects::CommitController do
describe
"#show"
do
describe
"#show"
do
shared_examples
"export as"
do
|
format
|
shared_examples
"export as"
do
|
format
|
it
"should generally work"
do
it
"should generally work"
do
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
).
to
be_success
expect
(
response
).
to
be_success
end
end
...
@@ -21,11 +21,11 @@ describe Projects::CommitController do
...
@@ -21,11 +21,11 @@ describe Projects::CommitController do
it
"should generate it"
do
it
"should generate it"
do
Commit
.
any_instance
.
should_receive
(
:"to_
#{
format
}
"
)
Commit
.
any_instance
.
should_receive
(
:"to_
#{
format
}
"
)
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
end
end
it
"should render it"
do
it
"should render it"
do
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
.
body
).
to
eq
(
commit
.
send
(
:"to_
#{
format
}
"
))
expect
(
response
.
body
).
to
eq
(
commit
.
send
(
:"to_
#{
format
}
"
))
end
end
...
@@ -33,7 +33,7 @@ describe Projects::CommitController do
...
@@ -33,7 +33,7 @@ describe Projects::CommitController do
it
"should not escape Html"
do
it
"should not escape Html"
do
Commit
.
any_instance
.
stub
(
:"to_
#{
format
}
"
).
and_return
(
'HTML entities &<>" '
)
Commit
.
any_instance
.
stub
(
:"to_
#{
format
}
"
).
and_return
(
'HTML entities &<>" '
)
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
.
body
).
to_not
include
(
'&'
)
expect
(
response
.
body
).
to_not
include
(
'&'
)
expect
(
response
.
body
).
to_not
include
(
'>'
)
expect
(
response
.
body
).
to_not
include
(
'>'
)
...
@@ -47,7 +47,7 @@ describe Projects::CommitController do
...
@@ -47,7 +47,7 @@ describe Projects::CommitController do
let
(
:format
)
{
:diff
}
let
(
:format
)
{
:diff
}
it
"should really only be a git diff"
do
it
"should really only be a git diff"
do
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
.
body
).
to
start_with
(
"diff --git"
)
expect
(
response
.
body
).
to
start_with
(
"diff --git"
)
end
end
...
@@ -58,13 +58,13 @@ describe Projects::CommitController do
...
@@ -58,13 +58,13 @@ describe Projects::CommitController do
let
(
:format
)
{
:patch
}
let
(
:format
)
{
:patch
}
it
"should really be a git email patch"
do
it
"should really be a git email patch"
do
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
.
body
).
to
start_with
(
"From
#{
commit
.
id
}
"
)
expect
(
response
.
body
).
to
start_with
(
"From
#{
commit
.
id
}
"
)
end
end
it
"should contain a git diff"
do
it
"should contain a git diff"
do
get
:show
,
project_id:
project
.
code
,
id:
commit
.
id
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
commit
.
id
,
format:
format
expect
(
response
.
body
).
to
match
(
/^diff --git/
)
expect
(
response
.
body
).
to
match
(
/^diff --git/
)
end
end
...
...
spec/controllers/commits_controller_spec.rb
浏览文件 @
2898d923
...
@@ -13,7 +13,7 @@ describe Projects::CommitsController do
...
@@ -13,7 +13,7 @@ describe Projects::CommitsController do
describe
"GET show"
do
describe
"GET show"
do
context
"as atom feed"
do
context
"as atom feed"
do
it
"should render as atom"
do
it
"should render as atom"
do
get
:show
,
project_id:
project
.
path
,
id:
"master"
,
format:
"atom"
get
:show
,
project_id:
project
.
to_param
,
id:
"master"
,
format:
"atom"
response
.
should
be_success
response
.
should
be_success
response
.
content_type
.
should
==
'application/atom+xml'
response
.
content_type
.
should
==
'application/atom+xml'
end
end
...
...
spec/controllers/merge_requests_controller_spec.rb
浏览文件 @
2898d923
...
@@ -14,7 +14,7 @@ describe Projects::MergeRequestsController do
...
@@ -14,7 +14,7 @@ describe Projects::MergeRequestsController do
describe
"#show"
do
describe
"#show"
do
shared_examples
"export merge as"
do
|
format
|
shared_examples
"export merge as"
do
|
format
|
it
"should generally work"
do
it
"should generally work"
do
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
).
to
be_success
expect
(
response
).
to
be_success
end
end
...
@@ -22,11 +22,11 @@ describe Projects::MergeRequestsController do
...
@@ -22,11 +22,11 @@ describe Projects::MergeRequestsController do
it
"should generate it"
do
it
"should generate it"
do
MergeRequest
.
any_instance
.
should_receive
(
:"to_
#{
format
}
"
)
MergeRequest
.
any_instance
.
should_receive
(
:"to_
#{
format
}
"
)
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
end
end
it
"should render it"
do
it
"should render it"
do
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
.
body
).
to
eq
((
merge_request
.
send
(
:"to_
#{
format
}
"
,
user
)).
to_s
)
expect
(
response
.
body
).
to
eq
((
merge_request
.
send
(
:"to_
#{
format
}
"
,
user
)).
to_s
)
end
end
...
@@ -34,7 +34,7 @@ describe Projects::MergeRequestsController do
...
@@ -34,7 +34,7 @@ describe Projects::MergeRequestsController do
it
"should not escape Html"
do
it
"should not escape Html"
do
MergeRequest
.
any_instance
.
stub
(
:"to_
#{
format
}
"
).
and_return
(
'HTML entities &<>" '
)
MergeRequest
.
any_instance
.
stub
(
:"to_
#{
format
}
"
).
and_return
(
'HTML entities &<>" '
)
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
.
body
).
to_not
include
(
'&'
)
expect
(
response
.
body
).
to_not
include
(
'&'
)
expect
(
response
.
body
).
to_not
include
(
'>'
)
expect
(
response
.
body
).
to_not
include
(
'>'
)
...
@@ -48,7 +48,7 @@ describe Projects::MergeRequestsController do
...
@@ -48,7 +48,7 @@ describe Projects::MergeRequestsController do
let
(
:format
)
{
:diff
}
let
(
:format
)
{
:diff
}
it
"should really only be a git diff"
do
it
"should really only be a git diff"
do
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
.
body
).
to
start_with
(
"diff --git"
)
expect
(
response
.
body
).
to
start_with
(
"diff --git"
)
end
end
...
@@ -59,13 +59,13 @@ describe Projects::MergeRequestsController do
...
@@ -59,13 +59,13 @@ describe Projects::MergeRequestsController do
let
(
:format
)
{
:patch
}
let
(
:format
)
{
:patch
}
it
"should really be a git email patch with commit"
do
it
"should really be a git email patch with commit"
do
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
.
body
[
0
..
100
]).
to
start_with
(
"From
#{
merge_request
.
commits
.
last
.
id
}
"
)
expect
(
response
.
body
[
0
..
100
]).
to
start_with
(
"From
#{
merge_request
.
commits
.
last
.
id
}
"
)
end
end
it
"should contain git diffs"
do
it
"should contain git diffs"
do
get
:show
,
project_id:
project
.
code
,
id:
merge_request
.
iid
,
format:
format
get
:show
,
project_id:
project
.
to_param
,
id:
merge_request
.
iid
,
format:
format
expect
(
response
.
body
).
to
match
(
/^diff --git/
)
expect
(
response
.
body
).
to
match
(
/^diff --git/
)
end
end
...
...
spec/controllers/tree_controller_spec.rb
浏览文件 @
2898d923
...
@@ -18,7 +18,7 @@ describe Projects::TreeController do
...
@@ -18,7 +18,7 @@ describe Projects::TreeController do
# Make sure any errors accessing the tree in our views bubble up to this spec
# Make sure any errors accessing the tree in our views bubble up to this spec
render_views
render_views
before
{
get
:show
,
project_id:
project
.
code
,
id:
id
}
before
{
get
:show
,
project_id:
project
.
to_param
,
id:
id
}
context
"valid branch, no path"
do
context
"valid branch, no path"
do
let
(
:id
)
{
'master'
}
let
(
:id
)
{
'master'
}
...
...
spec/factories.rb
浏览文件 @
2898d923
...
@@ -28,6 +28,7 @@ FactoryGirl.define do
...
@@ -28,6 +28,7 @@ FactoryGirl.define do
factory
:project
do
factory
:project
do
sequence
(
:name
)
{
|
n
|
"project
#{
n
}
"
}
sequence
(
:name
)
{
|
n
|
"project
#{
n
}
"
}
path
{
name
.
downcase
.
gsub
(
/\s/
,
'_'
)
}
path
{
name
.
downcase
.
gsub
(
/\s/
,
'_'
)
}
namespace
creator
creator
trait
:source
do
trait
:source
do
...
...
spec/features/atom/issues_spec.rb
浏览文件 @
2898d923
...
@@ -3,7 +3,7 @@ require 'spec_helper'
...
@@ -3,7 +3,7 @@ require 'spec_helper'
describe
"Issues Feed"
do
describe
"Issues Feed"
do
describe
"GET /issues"
do
describe
"GET /issues"
do
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:project
)
{
create
(
:project
,
namespace:
user
.
namespace
)
}
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:issue
)
{
create
(
:issue
,
author:
user
,
project:
project
)
}
let!
(
:issue
)
{
create
(
:issue
,
author:
user
,
project:
project
)
}
before
{
project
.
team
<<
[
user
,
:developer
]
}
before
{
project
.
team
<<
[
user
,
:developer
]
}
...
...
spec/models/project_spec.rb
浏览文件 @
2898d923
...
@@ -58,11 +58,11 @@ describe Project do
...
@@ -58,11 +58,11 @@ describe Project do
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:project
)
{
create
(
:project
)
}
it
{
should
validate_presence_of
(
:name
)
}
it
{
should
validate_presence_of
(
:name
)
}
it
{
should
validate_uniqueness_of
(
:name
)
}
it
{
should
validate_uniqueness_of
(
:name
)
.
scoped_to
(
:namespace_id
)
}
it
{
should
ensure_length_of
(
:name
).
is_within
(
0
..
255
)
}
it
{
should
ensure_length_of
(
:name
).
is_within
(
0
..
255
)
}
it
{
should
validate_presence_of
(
:path
)
}
it
{
should
validate_presence_of
(
:path
)
}
it
{
should
validate_uniqueness_of
(
:path
)
}
it
{
should
validate_uniqueness_of
(
:path
)
.
scoped_to
(
:namespace_id
)
}
it
{
should
ensure_length_of
(
:path
).
is_within
(
0
..
255
)
}
it
{
should
ensure_length_of
(
:path
).
is_within
(
0
..
255
)
}
it
{
should
ensure_length_of
(
:description
).
is_within
(
0
..
2000
)
}
it
{
should
ensure_length_of
(
:description
).
is_within
(
0
..
2000
)
}
it
{
should
validate_presence_of
(
:creator
)
}
it
{
should
validate_presence_of
(
:creator
)
}
...
@@ -157,15 +157,6 @@ describe Project do
...
@@ -157,15 +157,6 @@ describe Project do
it
{
Project
.
find_with_namespace
(
'gitlab/gitlab-ci'
).
should
==
@project
}
it
{
Project
.
find_with_namespace
(
'gitlab/gitlab-ci'
).
should
==
@project
}
it
{
Project
.
find_with_namespace
(
'gitlab-ci'
).
should
be_nil
}
it
{
Project
.
find_with_namespace
(
'gitlab-ci'
).
should
be_nil
}
end
end
context
'w/o namespace'
do
before
do
@project
=
create
(
:project
,
name:
'gitlab-ci'
)
end
it
{
Project
.
find_with_namespace
(
'gitlab-ci'
).
should
==
@project
}
it
{
Project
.
find_with_namespace
(
'gitlab/gitlab-ci'
).
should
be_nil
}
end
end
end
describe
:to_param
do
describe
:to_param
do
...
@@ -177,14 +168,6 @@ describe Project do
...
@@ -177,14 +168,6 @@ describe Project do
it
{
@project
.
to_param
.
should
==
"gitlab/gitlab-ci"
}
it
{
@project
.
to_param
.
should
==
"gitlab/gitlab-ci"
}
end
end
context
'w/o namespace'
do
before
do
@project
=
create
(
:project
,
name:
'gitlab-ci'
)
end
it
{
@project
.
to_param
.
should
==
"gitlab-ci"
}
end
end
end
describe
:repository
do
describe
:repository
do
...
...
spec/requests/api/merge_requests_spec.rb
浏览文件 @
2898d923
...
@@ -2,9 +2,10 @@ require "spec_helper"
...
@@ -2,9 +2,10 @@ require "spec_helper"
describe
API
::
API
do
describe
API
::
API
do
include
ApiHelpers
include
ApiHelpers
before
(
:each
)
{
ActiveRecord
::
Base
.
observers
.
enable
(
:user_observer
)
}
after
(
:each
)
{
ActiveRecord
::
Base
.
observers
.
disable
(
:user_observer
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let!
(
:project
)
{
create
(
:project_with_code
,
creator_id:
user
.
id
)
}
let!
(
:project
)
{
create
(
:project_with_code
,
creator_id:
user
.
id
,
namespace:
user
.
namespace
)
}
let!
(
:merge_request
)
{
create
(
:merge_request
,
author:
user
,
assignee:
user
,
source_project:
project
,
target_project:
project
,
title:
"Test"
)
}
let!
(
:merge_request
)
{
create
(
:merge_request
,
author:
user
,
assignee:
user
,
source_project:
project
,
target_project:
project
,
title:
"Test"
)
}
before
{
before
{
project
.
team
<<
[
user
,
:reporters
]
project
.
team
<<
[
user
,
:reporters
]
...
@@ -13,14 +14,14 @@ describe API::API do
...
@@ -13,14 +14,14 @@ describe API::API do
describe
"GET /projects/:id/merge_requests"
do
describe
"GET /projects/:id/merge_requests"
do
context
"when unauthenticated"
do
context
"when unauthenticated"
do
it
"should return authentication error"
do
it
"should return authentication error"
do
get
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
)
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
)
response
.
status
.
should
==
401
response
.
status
.
should
==
401
end
end
end
end
context
"when authenticated"
do
context
"when authenticated"
do
it
"should return an array of merge_requests"
do
it
"should return an array of merge_requests"
do
get
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
)
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
)
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
should
be_an
Array
json_response
.
first
[
'title'
].
should
==
merge_request
.
title
json_response
.
first
[
'title'
].
should
==
merge_request
.
title
...
@@ -30,13 +31,13 @@ describe API::API do
...
@@ -30,13 +31,13 @@ describe API::API do
describe
"GET /projects/:id/merge_request/:merge_request_id"
do
describe
"GET /projects/:id/merge_request/:merge_request_id"
do
it
"should return merge_request"
do
it
"should return merge_request"
do
get
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
)
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
)
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
merge_request
.
title
json_response
[
'title'
].
should
==
merge_request
.
title
end
end
it
"should return a 404 error if merge_request_id not found"
do
it
"should return a 404 error if merge_request_id not found"
do
get
api
(
"/projects/
#{
project
.
id
}
/merge_request/999"
,
user
)
get
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/999"
,
user
)
response
.
status
.
should
==
404
response
.
status
.
should
==
404
end
end
end
end
...
@@ -44,32 +45,32 @@ describe API::API do
...
@@ -44,32 +45,32 @@ describe API::API do
describe
"POST /projects/:id/merge_requests"
do
describe
"POST /projects/:id/merge_requests"
do
context
'between branches projects'
do
context
'between branches projects'
do
it
"should return merge_request"
do
it
"should return merge_request"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
201
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
json_response
[
'title'
].
should
==
'Test merge_request'
end
end
it
"should return 422 when source_branch equals target_branch"
do
it
"should return 422 when source_branch equals target_branch"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user
title:
"Test merge_request"
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
422
response
.
status
.
should
==
422
end
end
it
"should return 400 when source_branch is missing"
do
it
"should return 400 when source_branch is missing"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
target_branch:
"master"
,
author:
user
title:
"Test merge_request"
,
target_branch:
"master"
,
author:
user
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when target_branch is missing"
do
it
"should return 400 when target_branch is missing"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
title:
"Test merge_request"
,
source_branch:
"stable"
,
author:
user
title:
"Test merge_request"
,
source_branch:
"stable"
,
author:
user
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when title is missing"
do
it
"should return 400 when title is missing"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
target_branch:
'master'
,
source_branch:
'stable'
target_branch:
'master'
,
source_branch:
'stable'
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
...
@@ -89,54 +90,54 @@ describe API::API do
...
@@ -89,54 +90,54 @@ describe API::API do
end
end
it
"should return merge_request"
do
it
"should return merge_request"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
title:
'Test merge_request'
,
source_branch:
"stable"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
201
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
json_response
[
'title'
].
should
==
'Test merge_request'
end
end
it
"should not return 422 when source_branch equals target_branch"
do
it
"should not return 422 when source_branch equals target_branch"
do
project
.
id
.
should_not
==
fork_project
.
id
project
.
to_param
.
should_not
==
fork_project
.
to_param
fork_project
.
forked?
.
should
be_true
fork_project
.
forked?
.
should
be_true
fork_project
.
forked_from_project
.
should
==
project
fork_project
.
forked_from_project
.
should
==
project
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
title:
'Test merge_request'
,
source_branch:
"master"
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
201
response
.
status
.
should
==
201
json_response
[
'title'
].
should
==
'Test merge_request'
json_response
[
'title'
].
should
==
'Test merge_request'
end
end
it
"should return 400 when source_branch is missing"
do
it
"should return 400 when source_branch is missing"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when target_branch is missing"
do
it
"should return 400 when target_branch is missing"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
title:
'Test merge_request'
,
target_branch:
"master"
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when title is missing"
do
it
"should return 400 when title is missing"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
project
.
id
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
project
.
id
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when target_branch is specified and not a forked project"
do
it
"should return 400 when target_branch is specified and not a forked project"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_requests"
,
user
),
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_requests"
,
user
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user
,
target_project_id:
fork_project
.
id
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user
,
target_project_id:
fork_project
.
id
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 400 when target_branch is specified and for a different fork"
do
it
"should return 400 when target_branch is specified and for a different fork"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
unrelated_project
.
id
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
unrelated_project
.
id
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 201 when target_branch is specified and for the same project"
do
it
"should return 201 when target_branch is specified and for the same project"
do
post
api
(
"/projects/
#{
fork_project
.
id
}
/merge_requests"
,
user2
),
post
api
(
"/projects/
#{
fork_project
.
to_param
}
/merge_requests"
,
user2
),
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
fork_project
.
id
title:
'Test merge_request'
,
target_branch:
'master'
,
source_branch:
'stable'
,
author:
user2
,
target_project_id:
fork_project
.
id
response
.
status
.
should
==
201
response
.
status
.
should
==
201
end
end
...
@@ -145,7 +146,7 @@ describe API::API do
...
@@ -145,7 +146,7 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id to close MR"
do
describe
"PUT /projects/:id/merge_request/:merge_request_id to close MR"
do
it
"should return merge_request"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"close"
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"close"
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'state'
].
should
==
'closed'
json_response
[
'state'
].
should
==
'closed'
end
end
...
@@ -153,7 +154,7 @@ describe API::API do
...
@@ -153,7 +154,7 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id to merge MR"
do
describe
"PUT /projects/:id/merge_request/:merge_request_id to merge MR"
do
it
"should return merge_request"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"merge"
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
state_event:
"merge"
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'state'
].
should
==
'merged'
json_response
[
'state'
].
should
==
'merged'
end
end
...
@@ -161,19 +162,19 @@ describe API::API do
...
@@ -161,19 +162,19 @@ describe API::API do
describe
"PUT /projects/:id/merge_request/:merge_request_id"
do
describe
"PUT /projects/:id/merge_request/:merge_request_id"
do
it
"should return merge_request"
do
it
"should return merge_request"
do
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
title:
"New title"
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
title:
"New title"
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
'New title'
json_response
[
'title'
].
should
==
'New title'
end
end
it
"should return 422 when source_branch and target_branch are renamed the same"
do
it
"should return 422 when source_branch and target_branch are renamed the same"
do
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
source_branch:
"master"
,
target_branch:
"master"
source_branch:
"master"
,
target_branch:
"master"
response
.
status
.
should
==
422
response
.
status
.
should
==
422
end
end
it
"should return merge_request with renamed target_branch"
do
it
"should return merge_request with renamed target_branch"
do
put
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
target_branch:
"wiki"
put
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
"
,
user
),
target_branch:
"wiki"
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'target_branch'
].
should
==
'wiki'
json_response
[
'target_branch'
].
should
==
'wiki'
end
end
...
@@ -181,18 +182,18 @@ describe API::API do
...
@@ -181,18 +182,18 @@ describe API::API do
describe
"POST /projects/:id/merge_request/:merge_request_id/comments"
do
describe
"POST /projects/:id/merge_request/:merge_request_id/comments"
do
it
"should return comment"
do
it
"should return comment"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
),
note:
"My comment"
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
),
note:
"My comment"
response
.
status
.
should
==
201
response
.
status
.
should
==
201
json_response
[
'note'
].
should
==
'My comment'
json_response
[
'note'
].
should
==
'My comment'
end
end
it
"should return 400 if note is missing"
do
it
"should return 400 if note is missing"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
)
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/
#{
merge_request
.
id
}
/comments"
,
user
)
response
.
status
.
should
==
400
response
.
status
.
should
==
400
end
end
it
"should return 404 if note is attached to non existent merge request"
do
it
"should return 404 if note is attached to non existent merge request"
do
post
api
(
"/projects/
#{
project
.
id
}
/merge_request/111/comments"
,
user
),
note:
"My comment"
post
api
(
"/projects/
#{
project
.
to_param
}
/merge_request/111/comments"
,
user
),
note:
"My comment"
response
.
status
.
should
==
404
response
.
status
.
should
==
404
end
end
end
end
...
...
spec/routing/project_routing_spec.rb
浏览文件 @
2898d923
此差异已折叠。
点击以展开。
spec/routing/routing_spec.rb
浏览文件 @
2898d923
...
@@ -11,11 +11,11 @@ end
...
@@ -11,11 +11,11 @@ end
# /:path Grack
# /:path Grack
describe
"Mounted Apps"
,
"routing"
do
describe
"Mounted Apps"
,
"routing"
do
it
"to API"
do
it
"to API"
do
get
(
"/api"
).
should
be_routable
get
(
"/api
/issues
"
).
should
be_routable
end
end
it
"to Grack"
do
it
"to Grack"
do
get
(
"/gitlabhq.git"
).
should
be_routable
get
(
"/gitlab
/gitlab
hq.git"
).
should
be_routable
end
end
end
end
...
...
spec/services/git_push_service_spec.rb
浏览文件 @
2898d923
...
@@ -48,7 +48,7 @@ describe GitPushService do
...
@@ -48,7 +48,7 @@ describe GitPushService do
it
{
should
include
(
id:
@commit
.
id
)
}
it
{
should
include
(
id:
@commit
.
id
)
}
it
{
should
include
(
message:
@commit
.
safe_message
)
}
it
{
should
include
(
message:
@commit
.
safe_message
)
}
it
{
should
include
(
timestamp:
@commit
.
date
.
xmlschema
)
}
it
{
should
include
(
timestamp:
@commit
.
date
.
xmlschema
)
}
it
{
should
include
(
url:
"
#{
Gitlab
.
config
.
gitlab
.
url
}
/
#{
project
.
code
}
/commit/
#{
@commit
.
id
}
"
)
}
it
{
should
include
(
url:
"
#{
Gitlab
.
config
.
gitlab
.
url
}
/
#{
project
.
to_param
}
/commit/
#{
@commit
.
id
}
"
)
}
context
"with a author"
do
context
"with a author"
do
subject
{
@push_data
[
:commits
].
first
[
:author
]
}
subject
{
@push_data
[
:commits
].
first
[
:author
]
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录