Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
af5d0e9e
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,体验更适合开发者的 AI 搜索 >>
提交
af5d0e9e
编写于
5月 07, 2013
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3275 from Undev/feature/code_cleanup_remove_old_hashes
Code cleanup: Replace old hashes and remove trailing spaces
上级
dc41ffa3
a50d96a8
变更
46
隐藏空白更改
内联
并排
Showing
46 changed file
with
302 addition
and
303 deletion
+302
-303
app/contexts/issues_bulk_update_context.rb
app/contexts/issues_bulk_update_context.rb
+2
-2
app/models/milestone.rb
app/models/milestone.rb
+2
-2
app/views/devise/confirmations/new.html.erb
app/views/devise/confirmations/new.html.erb
+2
-2
app/views/devise/mailer/confirmation_instructions.html.erb
app/views/devise/mailer/confirmation_instructions.html.erb
+1
-1
app/views/devise/mailer/reset_password_instructions.html.erb
app/views/devise/mailer/reset_password_instructions.html.erb
+1
-1
app/views/devise/mailer/unlock_instructions.html.erb
app/views/devise/mailer/unlock_instructions.html.erb
+1
-1
app/views/devise/registrations/edit.html.erb
app/views/devise/registrations/edit.html.erb
+3
-3
app/views/devise/shared/_links.erb
app/views/devise/shared/_links.erb
+2
-2
app/views/devise/unlocks/new.html.erb
app/views/devise/unlocks/new.html.erb
+2
-2
config/application.rb
config/application.rb
+1
-1
config/environments/production.rb
config/environments/production.rb
+2
-2
config/initializers/devise.rb
config/initializers/devise.rb
+9
-9
config/routes.rb
config/routes.rb
+1
-2
db/fixtures/development/07_milestones.rb
db/fixtures/development/07_milestones.rb
+10
-10
features/steps/admin/admin_groups.rb
features/steps/admin/admin_groups.rb
+5
-5
features/steps/group/group.rb
features/steps/group/group.rb
+3
-3
features/steps/profile/profile.rb
features/steps/profile/profile.rb
+5
-5
features/steps/profile/profile_ssh_keys.rb
features/steps/profile/profile_ssh_keys.rb
+3
-3
features/steps/project/project_browse_branches.rb
features/steps/project/project_browse_branches.rb
+1
-1
features/steps/project/project_browse_commits.rb
features/steps/project/project_browse_commits.rb
+3
-3
features/steps/project/project_issues.rb
features/steps/project/project_issues.rb
+11
-11
features/steps/project/project_merge_requests.rb
features/steps/project/project_merge_requests.rb
+3
-3
features/steps/project/project_milestones.rb
features/steps/project/project_milestones.rb
+3
-3
features/steps/project/project_network_graph.rb
features/steps/project/project_network_graph.rb
+6
-6
features/steps/project/project_wiki.rb
features/steps/project/project_wiki.rb
+2
-2
lib/api.rb
lib/api.rb
+2
-2
lib/api/groups.rb
lib/api/groups.rb
+1
-1
lib/api/system_hooks.rb
lib/api/system_hooks.rb
+70
-70
lib/gitlab/auth.rb
lib/gitlab/auth.rb
+2
-2
lib/gitlab/inline_diff.rb
lib/gitlab/inline_diff.rb
+2
-2
lib/gitlab/popen.rb
lib/gitlab/popen.rb
+1
-1
lib/tasks/gitlab/backup.rake
lib/tasks/gitlab/backup.rake
+8
-8
lib/tasks/gitlab/bulk_add_permission.rake
lib/tasks/gitlab/bulk_add_permission.rake
+4
-4
lib/tasks/gitlab/cleanup.rake
lib/tasks/gitlab/cleanup.rake
+2
-2
lib/tasks/gitlab/import.rake
lib/tasks/gitlab/import.rake
+2
-2
lib/tasks/gitlab/setup.rake
lib/tasks/gitlab/setup.rake
+1
-1
lib/tasks/gitlab/test.rake
lib/tasks/gitlab/test.rake
+1
-1
lib/tasks/travis.rake
lib/tasks/travis.rake
+1
-1
spec/models/merge_request_spec.rb
spec/models/merge_request_spec.rb
+1
-1
spec/models/milestone_spec.rb
spec/models/milestone_spec.rb
+1
-1
spec/observers/users_project_observer_spec.rb
spec/observers/users_project_observer_spec.rb
+1
-1
spec/requests/api/groups_spec.rb
spec/requests/api/groups_spec.rb
+13
-13
spec/requests/api/system_hooks_spec.rb
spec/requests/api/system_hooks_spec.rb
+81
-81
spec/routing/admin_routing_spec.rb
spec/routing/admin_routing_spec.rb
+12
-12
spec/routing/project_routing_spec.rb
spec/routing/project_routing_spec.rb
+7
-7
spec/tasks/gitlab/backup_rake_spec.rb
spec/tasks/gitlab/backup_rake_spec.rb
+5
-5
未找到文件。
app/contexts/issues_bulk_update_context.rb
浏览文件 @
af5d0e9e
...
...
@@ -7,7 +7,7 @@ class IssuesBulkUpdateContext < BaseContext
assignee_id
=
update_data
[
:assignee_id
]
status
=
update_data
[
:status
]
opts
=
{}
opts
=
{}
opts
[
:milestone_id
]
=
milestone_id
if
milestone_id
.
present?
opts
[
:assignee_id
]
=
assignee_id
if
assignee_id
.
present?
opts
[
:closed
]
=
(
status
==
"closed"
)
if
status
.
present?
...
...
@@ -15,7 +15,7 @@ class IssuesBulkUpdateContext < BaseContext
issues
=
Issue
.
where
(
id:
issues_ids
).
all
issues
=
issues
.
select
{
|
issue
|
can?
(
current_user
,
:modify_issue
,
issue
)
}
issues
.
each
{
|
issue
|
issue
.
update_attributes
(
opts
)
}
{
{
count:
issues
.
count
,
success:
!
issues
.
count
.
zero?
}
...
...
app/models/milestone.rb
浏览文件 @
af5d0e9e
...
...
@@ -72,9 +72,9 @@ class Milestone < ActiveRecord::Base
if
due_date
.
past?
"expired at
#{
due_date
.
stamp
(
"Aug 21, 2011"
)
}
"
else
"expires at
#{
due_date
.
stamp
(
"Aug 21, 2011"
)
}
"
"expires at
#{
due_date
.
stamp
(
"Aug 21, 2011"
)
}
"
end
end
end
end
def
can_be_closed?
...
...
app/views/devise/confirmations/new.html.erb
浏览文件 @
af5d0e9e
<h2>
Resend confirmation instructions
</h2>
<%=
form_for
(
resource
,
:as
=>
resource_name
,
:url
=>
confirmation_path
(
resource_name
),
:html
=>
{
:method
=>
:post
})
do
|
f
|
%>
<%=
form_for
(
resource
,
as:
resource_name
,
url:
confirmation_path
(
resource_name
),
html:
{
method:
:post
})
do
|
f
|
%>
<%=
devise_error_messages!
%>
<div>
<%=
f
.
label
:email
%>
<br
/>
...
...
@@ -9,4 +9,4 @@
<div>
<%=
f
.
submit
"Resend confirmation instructions"
%>
</div>
<%
end
%>
<%=
render
:partial
=>
"devise/shared/links"
%>
<%=
render
partial:
"devise/shared/links"
%>
app/views/devise/mailer/confirmation_instructions.html.erb
浏览文件 @
af5d0e9e
...
...
@@ -2,4 +2,4 @@
<p>
You can confirm your account through the link below:
</p>
<p>
<%=
link_to
'Confirm my account'
,
confirmation_url
(
@resource
,
:confirmation_token
=>
@resource
.
confirmation_token
)
%>
</p>
<p>
<%=
link_to
'Confirm my account'
,
confirmation_url
(
@resource
,
confirmation_token:
@resource
.
confirmation_token
)
%>
</p>
app/views/devise/mailer/reset_password_instructions.html.erb
浏览文件 @
af5d0e9e
...
...
@@ -2,7 +2,7 @@
<p>
Someone has requested a link to change your password, and you can do this through the link below.
</p>
<p>
<%=
link_to
'Change my password'
,
edit_password_url
(
@resource
,
:reset_password_token
=>
@resource
.
reset_password_token
)
%>
</p>
<p>
<%=
link_to
'Change my password'
,
edit_password_url
(
@resource
,
reset_password_token:
@resource
.
reset_password_token
)
%>
</p>
<p>
If you didn't request this, please ignore this email.
</p>
<p>
Your password won't change until you access the link above and create a new one.
</p>
app/views/devise/mailer/unlock_instructions.html.erb
浏览文件 @
af5d0e9e
...
...
@@ -4,4 +4,4 @@
<p>
Click the link below to unlock your account:
</p>
<p>
<%=
link_to
'Unlock my account'
,
unlock_url
(
@resource
,
:unlock_token
=>
@resource
.
unlock_token
)
%>
</p>
<p>
<%=
link_to
'Unlock my account'
,
unlock_url
(
@resource
,
unlock_token:
@resource
.
unlock_token
)
%>
</p>
app/views/devise/registrations/edit.html.erb
浏览文件 @
af5d0e9e
<h2>
Edit
<%=
resource_name
.
to_s
.
humanize
%>
</h2>
<%=
form_for
(
resource
,
:as
=>
resource_name
,
:url
=>
registration_path
(
resource_name
),
:html
=>
{
:method
=>
:put
})
do
|
f
|
%>
<%=
form_for
(
resource
,
as:
resource_name
,
url:
registration_path
(
resource_name
),
html:
{
method:
:put
})
do
|
f
|
%>
<%=
devise_error_messages!
%>
<div>
<%=
f
.
label
:email
%>
<br
/>
...
...
@@ -18,11 +18,11 @@
<div>
<%=
f
.
label
:current_password
%>
<i>
(we need your current password to confirm your changes)
</i><br
/>
<%=
f
.
password_field
:current_password
%>
</div>
<div>
<%=
f
.
submit
"Update"
,
:class
=>
"input_button"
%>
</div>
<div>
<%=
f
.
submit
"Update"
,
class:
"input_button"
%>
</div>
<%
end
%>
<h3>
Cancel my account
</h3>
<p>
Unhappy?
<%=
link_to
"Cancel my account"
,
registration_path
(
resource_name
),
:confirm
=>
"Are you sure?"
,
:method
=>
:delete
%>
.
</p>
<p>
Unhappy?
<%=
link_to
"Cancel my account"
,
registration_path
(
resource_name
),
confirm:
"Are you sure?"
,
method:
:delete
%>
.
</p>
<%=
link_to
"Back"
,
:back
%>
app/views/devise/shared/_links.erb
浏览文件 @
af5d0e9e
<%-
if
controller_name
!=
'sessions'
%>
<%=
link_to
"Sign in"
,
new_session_path
(
resource_name
),
:class
=>
"btn"
%>
<br
/>
<%=
link_to
"Sign in"
,
new_session_path
(
resource_name
),
class:
"btn"
%>
<br
/>
<%
end
-%>
<%-
if
devise_mapping
.
registerable?
&&
controller_name
!=
'registrations'
%>
...
...
@@ -7,7 +7,7 @@
<%
end
-%>
<%-
if
devise_mapping
.
recoverable?
&&
controller_name
!=
'passwords'
%>
<%=
link_to
"Forgot your password?"
,
new_password_path
(
resource_name
),
:class
=>
"btn"
%>
<br
/>
<%=
link_to
"Forgot your password?"
,
new_password_path
(
resource_name
),
class:
"btn"
%>
<br
/>
<%
end
-%>
<%-
if
devise_mapping
.
confirmable?
&&
controller_name
!=
'confirmations'
%>
...
...
app/views/devise/unlocks/new.html.erb
浏览文件 @
af5d0e9e
<h2>
Resend unlock instructions
</h2>
<%=
form_for
(
resource
,
:as
=>
resource_name
,
:url
=>
unlock_path
(
resource_name
),
:html
=>
{
:method
=>
:post
})
do
|
f
|
%>
<%=
form_for
(
resource
,
as:
resource_name
,
url:
unlock_path
(
resource_name
),
html:
{
method:
:post
})
do
|
f
|
%>
<%=
devise_error_messages!
%>
<div>
<%=
f
.
label
:email
%>
<br
/>
...
...
@@ -9,4 +9,4 @@
<div>
<%=
f
.
submit
"Resend unlock instructions"
%>
</div>
<%
end
%>
<%=
render
:partial
=>
"devise/shared/links"
%>
<%=
render
partial:
"devise/shared/links"
%>
config/application.rb
浏览文件 @
af5d0e9e
...
...
@@ -4,7 +4,7 @@ require 'rails/all'
if
defined?
(
Bundler
)
# If you precompile assets before deploying to production, use this line
# Bundler.require(*Rails.groups(
:assets =>
%w(development test)))
# Bundler.require(*Rails.groups(
assets:
%w(development test)))
# If you want your assets lazily compiled in production, use this line
Bundler
.
require
(
:default
,
:assets
,
Rails
.
env
)
end
...
...
config/environments/production.rb
浏览文件 @
af5d0e9e
...
...
@@ -68,8 +68,8 @@ Gitlab::Application.configure do
config
.
action_mailer
.
delivery_method
=
:sendmail
# Defaults to:
# # config.action_mailer.sendmail_settings = {
# #
:location =>
'/usr/sbin/sendmail',
# #
:arguments =>
'-i -t'
# #
location:
'/usr/sbin/sendmail',
# #
arguments:
'-i -t'
# # }
config
.
action_mailer
.
perform_deliveries
=
true
config
.
action_mailer
.
raise_delivery_errors
=
true
...
...
config/initializers/devise.rb
浏览文件 @
af5d0e9e
...
...
@@ -94,7 +94,7 @@ Devise.setup do |config|
# config.extend_remember_period = false
# Options to be passed to the created cookie. For instance, you can set
#
:secure =>
true in order to force SSL only cookies.
#
secure:
true in order to force SSL only cookies.
# config.cookie_options = {}
# ==> Configuration for :validatable
...
...
@@ -202,18 +202,18 @@ Devise.setup do |config|
# config.warden do |manager|
# manager.failure_app = AnotherApp
# manager.intercept_401 = false
# manager.default_strategies(
:scope =>
:user).unshift :some_external_strategy
# manager.default_strategies(
scope:
:user).unshift :some_external_strategy
# end
if
Gitlab
.
config
.
ldap
.
enabled
config
.
omniauth
:ldap
,
:host
=>
Gitlab
.
config
.
ldap
[
'host'
],
:base
=>
Gitlab
.
config
.
ldap
[
'base'
],
:uid
=>
Gitlab
.
config
.
ldap
[
'uid'
],
:port
=>
Gitlab
.
config
.
ldap
[
'port'
],
:method
=>
Gitlab
.
config
.
ldap
[
'method'
],
:bind_dn
=>
Gitlab
.
config
.
ldap
[
'bind_dn'
],
:password
=>
Gitlab
.
config
.
ldap
[
'password'
]
host:
Gitlab
.
config
.
ldap
[
'host'
],
base:
Gitlab
.
config
.
ldap
[
'base'
],
uid:
Gitlab
.
config
.
ldap
[
'uid'
],
port:
Gitlab
.
config
.
ldap
[
'port'
],
method:
Gitlab
.
config
.
ldap
[
'method'
],
bind_dn:
Gitlab
.
config
.
ldap
[
'bind_dn'
],
password:
Gitlab
.
config
.
ldap
[
'password'
]
end
Gitlab
.
config
.
omniauth
.
providers
.
each
do
|
provider
|
...
...
config/routes.rb
浏览文件 @
af5d0e9e
...
...
@@ -179,8 +179,7 @@ Gitlab::Application.routes.draw do
resources
:compare
,
only:
[
:index
,
:create
]
resources
:blame
,
only:
[
:show
],
constraints:
{
id:
/.+/
}
resources
:graph
,
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
:wikis
,
only:
[
:show
,
:edit
,
:destroy
,
:create
]
do
collection
do
...
...
db/fixtures/development/07_milestones.rb
浏览文件 @
af5d0e9e
Milestone
.
seed
(
:id
,
[
{
:id
=>
1
,
:project_id
=>
1
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
2
,
:project_id
=>
1
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
3
,
:project_id
=>
1
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
4
,
:project_id
=>
2
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
5
,
:project_id
=>
2
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
1
,
project_id:
1
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
2
,
project_id:
1
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
3
,
project_id:
1
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
4
,
project_id:
2
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
5
,
project_id:
2
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
6
,
:project_id
=>
2
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
7
,
:project_id
=>
2
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
8
,
:project_id
=>
3
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
9
,
:project_id
=>
3
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
:id
=>
11
,
:project_id
=>
3
,
:title
=>
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
6
,
project_id:
2
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
7
,
project_id:
2
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
8
,
project_id:
3
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
9
,
project_id:
3
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
{
id:
11
,
project_id:
3
,
title:
'v'
+
Faker
::
Address
.
zip_code
},
])
features/steps/admin/admin_groups.rb
浏览文件 @
af5d0e9e
...
...
@@ -20,12 +20,12 @@ class AdminGroups < Spinach::FeatureSteps
end
And
'Create gitlab user "John"'
do
create
(
:user
,
:name
=>
"John"
)
create
(
:user
,
name:
"John"
)
end
And
'submit form with new group info'
do
fill_in
'group_name'
,
:with
=>
'gitlab'
fill_in
'group_description'
,
:with
=>
'Group description'
fill_in
'group_name'
,
with:
'gitlab'
fill_in
'group_description'
,
with:
'Group description'
click_button
"Create group"
end
...
...
@@ -41,8 +41,8 @@ class AdminGroups < Spinach::FeatureSteps
When
'I select user "John" from user list as "Reporter"'
do
user
=
User
.
find_by_name
(
"John"
)
within
"#new_team_member"
do
select
user
.
name
,
:from
=>
"user_ids"
select
"Reporter"
,
:from
=>
"project_access"
select
user
.
name
,
from:
"user_ids"
select
"Reporter"
,
from:
"project_access"
end
click_button
"Add user to projects in group"
end
...
...
features/steps/group/group.rb
浏览文件 @
af5d0e9e
...
...
@@ -39,8 +39,8 @@ class Groups < Spinach::FeatureSteps
And
'I select user "John" from list with role "Reporter"'
do
user
=
User
.
find_by_name
(
"John"
)
within
"#new_team_member"
do
select
user
.
name
,
:from
=>
"user_ids"
select
"Reporter"
,
:from
=>
"project_access"
select
user
.
name
,
from:
"user_ids"
select
"Reporter"
,
from:
"project_access"
end
click_button
"Add"
end
...
...
@@ -85,7 +85,7 @@ class Groups < Spinach::FeatureSteps
end
And
'I change group name'
do
fill_in
'group_name'
,
:with
=>
'new-name'
fill_in
'group_name'
,
with:
'new-name'
click_button
"Save group"
end
...
...
features/steps/profile/profile.rb
浏览文件 @
af5d0e9e
...
...
@@ -9,9 +9,9 @@ class Profile < Spinach::FeatureSteps
end
Then
'I change my contact info'
do
fill_in
"user_skype"
,
:with
=>
"testskype"
fill_in
"user_linkedin"
,
:with
=>
"testlinkedin"
fill_in
"user_twitter"
,
:with
=>
"testtwitter"
fill_in
"user_skype"
,
with:
"testskype"
fill_in
"user_linkedin"
,
with:
"testlinkedin"
fill_in
"user_twitter"
,
with:
"testtwitter"
click_button
"Save"
@user
.
reload
end
...
...
@@ -24,8 +24,8 @@ class Profile < Spinach::FeatureSteps
Then
'I change my password'
do
within
'.update-password'
do
fill_in
"user_password"
,
:with
=>
"222333"
fill_in
"user_password_confirmation"
,
:with
=>
"222333"
fill_in
"user_password"
,
with:
"222333"
fill_in
"user_password_confirmation"
,
with:
"222333"
click_button
"Save"
end
end
...
...
features/steps/profile/profile_ssh_keys.rb
浏览文件 @
af5d0e9e
...
...
@@ -12,8 +12,8 @@ class ProfileSshKeys < Spinach::FeatureSteps
end
And
'I submit new ssh key "Laptop"'
do
fill_in
"key_title"
,
:with
=>
"Laptop"
fill_in
"key_key"
,
:with
=>
"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzrEJUIR6Y03TCE9rIJ+GqTBvgb8t1jI9h5UBzCLuK4VawOmkLornPqLDrGbm6tcwM/wBrrLvVOqi2HwmkKEIecVO0a64A4rIYScVsXIniHRS6w5twyn1MD3sIbN+socBDcaldECQa2u1dI3tnNVcs8wi77fiRe7RSxePsJceGoheRQgC8AZ510UdIlO+9rjIHUdVN7LLyz512auAfYsgx1OfablkQ/XJcdEwDNgi9imI6nAXhmoKUm1IPLT2yKajTIC64AjLOnE0YyCh6+7RFMpiMyu1qiOCpdjYwTgBRiciNRZCH8xIedyCoAmiUgkUT40XYHwLuwiPJICpkAzp7Q== user@laptop"
fill_in
"key_title"
,
with:
"Laptop"
fill_in
"key_key"
,
with:
"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzrEJUIR6Y03TCE9rIJ+GqTBvgb8t1jI9h5UBzCLuK4VawOmkLornPqLDrGbm6tcwM/wBrrLvVOqi2HwmkKEIecVO0a64A4rIYScVsXIniHRS6w5twyn1MD3sIbN+socBDcaldECQa2u1dI3tnNVcs8wi77fiRe7RSxePsJceGoheRQgC8AZ510UdIlO+9rjIHUdVN7LLyz512auAfYsgx1OfablkQ/XJcdEwDNgi9imI6nAXhmoKUm1IPLT2yKajTIC64AjLOnE0YyCh6+7RFMpiMyu1qiOCpdjYwTgBRiciNRZCH8xIedyCoAmiUgkUT40XYHwLuwiPJICpkAzp7Q== user@laptop"
click_button
"Save"
end
...
...
@@ -43,6 +43,6 @@ class ProfileSshKeys < Spinach::FeatureSteps
end
And
'I have ssh key "ssh-rsa Work"'
do
create
(
:key
,
:user
=>
@user
,
:title
=>
"ssh-rsa Work"
,
:key
=>
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+L3TbFegm3k8QjejSwemk4HhlRh+DuN679Pc5ckqE/MPhVtE/+kZQDYCTB284GiT2aIoGzmZ8ee9TkaoejAsBwlA+Wz2Q3vhz65X6sMgalRwpdJx8kSEUYV8ZPV3MZvPo8KdNg993o4jL6G36GDW4BPIyO6FPZhfsawdf6liVD0Xo5kibIK7B9VoE178cdLQtLpS2YolRwf5yy6XR6hbbBGQR+6xrGOdP16eGZDb1CE2bMvvJijjloFqPscGktWOqW+nfh5txwFfBzlfARDTBsS8WZtg3Yoj1kn33kPsWRlgHfNutFRAIynDuDdQzQq8tTtVwm+Yi75RfcPHW8y3P Work"
)
create
(
:key
,
user:
@user
,
title:
"ssh-rsa Work"
,
key:
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+L3TbFegm3k8QjejSwemk4HhlRh+DuN679Pc5ckqE/MPhVtE/+kZQDYCTB284GiT2aIoGzmZ8ee9TkaoejAsBwlA+Wz2Q3vhz65X6sMgalRwpdJx8kSEUYV8ZPV3MZvPo8KdNg993o4jL6G36GDW4BPIyO6FPZhfsawdf6liVD0Xo5kibIK7B9VoE178cdLQtLpS2YolRwf5yy6XR6hbbBGQR+6xrGOdP16eGZDb1CE2bMvvJijjloFqPscGktWOqW+nfh5txwFfBzlfARDTBsS8WZtg3Yoj1kn33kPsWRlgHfNutFRAIynDuDdQzQq8tTtVwm+Yi75RfcPHW8y3P Work"
)
end
end
features/steps/project/project_browse_branches.rb
浏览文件 @
af5d0e9e
...
...
@@ -30,6 +30,6 @@ class ProjectBrowseBranches < Spinach::FeatureSteps
And
'project "Shop" has protected branches'
do
project
=
Project
.
find_by_name
(
"Shop"
)
project
.
protected_branches
.
create
(
:name
=>
"stable"
)
project
.
protected_branches
.
create
(
name:
"stable"
)
end
end
features/steps/project/project_browse_commits.rb
浏览文件 @
af5d0e9e
...
...
@@ -17,9 +17,9 @@ class ProjectBrowseCommits < Spinach::FeatureSteps
Then
'I see commits atom feed'
do
commit
=
@project
.
repository
.
commit
page
.
response_headers
[
'Content-Type'
].
should
have_content
(
"application/atom+xml"
)
page
.
body
.
should
have_selector
(
"title"
,
:text
=>
"Recent commits to
#{
@project
.
name
}
"
)
page
.
body
.
should
have_selector
(
"author email"
,
:text
=>
commit
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
:text
=>
commit
.
description
)
page
.
body
.
should
have_selector
(
"title"
,
text:
"Recent commits to
#{
@project
.
name
}
"
)
page
.
body
.
should
have_selector
(
"author email"
,
text:
commit
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
text:
commit
.
description
)
end
Given
'I click on commit link'
do
...
...
features/steps/project/project_issues.rb
浏览文件 @
af5d0e9e
...
...
@@ -41,7 +41,7 @@ class ProjectIssues < Spinach::FeatureSteps
end
And
'I submit new issue "500 error on profile"'
do
fill_in
"issue_title"
,
:with
=>
"500 error on profile"
fill_in
"issue_title"
,
with:
"500 error on profile"
click_button
"Submit new issue"
end
...
...
@@ -78,16 +78,16 @@ class ProjectIssues < Spinach::FeatureSteps
Given
'project "Shop" has milestone "v2.2"'
do
project
=
Project
.
find_by_name
(
"Shop"
)
milestone
=
create
(
:milestone
,
:title
=>
"v2.2"
,
:project
=>
project
)
milestone
=
create
(
:milestone
,
title:
"v2.2"
,
project:
project
)
3
.
times
{
create
(
:issue
,
:project
=>
project
,
:milestone
=>
milestone
)
}
3
.
times
{
create
(
:issue
,
project:
project
,
milestone:
milestone
)
}
end
And
'project "Shop" has milestone "v3.0"'
do
project
=
Project
.
find_by_name
(
"Shop"
)
milestone
=
create
(
:milestone
,
:title
=>
"v3.0"
,
:project
=>
project
)
milestone
=
create
(
:milestone
,
title:
"v3.0"
,
project:
project
)
3
.
times
{
create
(
:issue
,
:project
=>
project
,
:milestone
=>
milestone
)
}
3
.
times
{
create
(
:issue
,
project:
project
,
milestone:
milestone
)
}
end
When
'I select milestone "v3.0"'
do
...
...
@@ -115,16 +115,16 @@ class ProjectIssues < Spinach::FeatureSteps
And
'project "Shop" have "Release 0.4" open issue'
do
project
=
Project
.
find_by_name
(
"Shop"
)
create
(
:issue
,
:title
=>
"Release 0.4"
,
:project
=>
project
,
:author
=>
project
.
users
.
first
)
title:
"Release 0.4"
,
project:
project
,
author:
project
.
users
.
first
)
end
And
'project "Shop" have "Release 0.3" closed issue'
do
project
=
Project
.
find_by_name
(
"Shop"
)
create
(
:closed_issue
,
:title
=>
"Release 0.3"
,
:project
=>
project
,
:author
=>
project
.
users
.
first
)
title:
"Release 0.3"
,
project:
project
,
author:
project
.
users
.
first
)
end
end
features/steps/project/project_merge_requests.rb
浏览文件 @
af5d0e9e
...
...
@@ -56,9 +56,9 @@ class ProjectMergeRequests < Spinach::FeatureSteps
end
And
'I submit new merge request "Wiki Feature"'
do
fill_in
"merge_request_title"
,
:with
=>
"Wiki Feature"
select
"master"
,
:from
=>
"merge_request_source_branch"
select
"stable"
,
:from
=>
"merge_request_target_branch"
fill_in
"merge_request_title"
,
with:
"Wiki Feature"
select
"master"
,
from:
"merge_request_source_branch"
select
"stable"
,
from:
"merge_request_target_branch"
click_button
"Submit merge request"
end
...
...
features/steps/project/project_milestones.rb
浏览文件 @
af5d0e9e
...
...
@@ -19,7 +19,7 @@ class ProjectMilestones < Spinach::FeatureSteps
end
And
'I submit new milestone "v2.3"'
do
fill_in
"milestone_title"
,
:with
=>
"v2.3"
fill_in
"milestone_title"
,
with:
"v2.3"
click_button
"Create milestone"
end
...
...
@@ -32,9 +32,9 @@ class ProjectMilestones < Spinach::FeatureSteps
And
'project "Shop" has milestone "v2.2"'
do
project
=
Project
.
find_by_name
(
"Shop"
)
milestone
=
create
(
:milestone
,
:title
=>
"v2.2"
,
:project
=>
project
)
milestone
=
create
(
:milestone
,
title:
"v2.2"
,
project:
project
)
3
.
times
{
create
(
:issue
,
:project
=>
project
,
:milestone
=>
milestone
)
}
3
.
times
{
create
(
:issue
,
project:
project
,
milestone:
milestone
)
}
end
Given
'the milestone has open and closed issues'
do
...
...
features/steps/project/project_network_graph.rb
浏览文件 @
af5d0e9e
...
...
@@ -16,7 +16,7 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
end
And
'page should select "master" in select box'
do
page
.
should
have_selector
'#ref_chzn span'
,
:text
=>
"master"
page
.
should
have_selector
'#ref_chzn span'
,
text:
"master"
end
And
'page should have "master" on graph'
do
...
...
@@ -26,21 +26,21 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
end
When
'I switch ref to "stable"'
do
page
.
select
'stable'
,
:from
=>
'ref'
page
.
select
'stable'
,
from:
'ref'
sleep
2
end
When
'I switch ref to "v2.1.0"'
do
page
.
select
'v2.1.0'
,
:from
=>
'ref'
page
.
select
'v2.1.0'
,
from:
'ref'
sleep
2
end
And
'page should select "stable" in select box'
do
page
.
should
have_selector
'#ref_chzn span'
,
:text
=>
"stable"
page
.
should
have_selector
'#ref_chzn span'
,
text:
"stable"
end
And
'page should select "v2.1.0" in select box'
do
page
.
should
have_selector
'#ref_chzn span'
,
:text
=>
"v2.1.0"
page
.
should
have_selector
'#ref_chzn span'
,
text:
"v2.1.0"
end
And
'page should have "stable" on graph'
do
...
...
@@ -51,7 +51,7 @@ class ProjectNetworkGraph < Spinach::FeatureSteps
When
'I looking for a commit by SHA of "v2.1.0"'
do
within
".content .search"
do
fill_in
'q'
,
:with
=>
'98d6492'
fill_in
'q'
,
with:
'98d6492'
find
(
'button'
).
click
end
sleep
2
...
...
features/steps/project/project_wiki.rb
浏览文件 @
af5d0e9e
...
...
@@ -16,7 +16,7 @@ class ProjectWiki < Spinach::FeatureSteps
end
Given
'I create the Wiki Home page'
do
fill_in
"Content"
,
:with
=>
'[link test](test)'
fill_in
"Content"
,
with:
'[link test](test)'
click_on
"Save"
end
...
...
@@ -42,7 +42,7 @@ class ProjectWiki < Spinach::FeatureSteps
end
And
'I change the content'
do
fill_in
"Content"
,
:with
=>
'Updated Wiki Content'
fill_in
"Content"
,
with:
'Updated Wiki Content'
click_on
"Save"
end
...
...
lib/api.rb
浏览文件 @
af5d0e9e
...
...
@@ -17,13 +17,13 @@ module Gitlab
message
<<
exception
.
annoted_source_code
.
to_s
if
exception
.
respond_to?
(
:annoted_source_code
)
message
<<
" "
<<
trace
.
join
(
"
\n
"
)
API
.
logger
.
add
Logger
::
FATAL
,
message
API
.
logger
.
add
Logger
::
FATAL
,
message
rack_response
({
'message'
=>
'500 Internal Server Error'
},
500
)
end
format
:json
helpers
APIHelpers
mount
Groups
mount
Users
mount
Projects
...
...
lib/api/groups.rb
浏览文件 @
af5d0e9e
...
...
@@ -70,7 +70,7 @@ module Gitlab
else
not_found!
end
end
end
end
end
end
lib/api/system_hooks.rb
浏览文件 @
af5d0e9e
module
Gitlab
# Hooks API
class
SystemHooks
<
Grape
::
API
before
{
authenticate!
authenticated_as_admin!
}
resource
:hooks
do
# Get the list of system hooks
#
# Example Request:
# GET /hooks
get
do
@hooks
=
SystemHook
.
all
present
@hooks
,
with:
Entities
::
Hook
end
# Create new system hook
#
# Parameters:
# url (required) - url for system hook
# Example Request
# POST /hooks
post
do
attrs
=
attributes_for_keys
[
:url
]
required_attributes!
[
:url
]
@hook
=
SystemHook
.
new
attrs
if
@hook
.
save
present
@hook
,
with:
Entities
::
Hook
else
not_found!
end
end
# Test a hook
#
# Example Request
# GET /hooks/:id
get
":id"
do
@hook
=
SystemHook
.
find
(
params
[
:id
])
data
=
{
event_name:
"project_create"
,
name:
"Ruby"
,
path:
"ruby"
,
project_id:
1
,
owner_name:
"Someone"
,
owner_email:
"example@gitlabhq.com"
}
@hook
.
execute
(
data
)
data
end
# Delete a hook. This is an idempotent function.
#
# Parameters:
# id (required) - ID of the hook
# Example Request:
# DELETE /hooks/:id
delete
":id"
do
begin
@hook
=
SystemHook
.
find
(
params
[
:id
])
@hook
.
destroy
rescue
# SystemHook raises an Error if no hook with id found
end
end
end
end
end
\ No newline at end of file
module
Gitlab
# Hooks API
class
SystemHooks
<
Grape
::
API
before
{
authenticate!
authenticated_as_admin!
}
resource
:hooks
do
# Get the list of system hooks
#
# Example Request:
# GET /hooks
get
do
@hooks
=
SystemHook
.
all
present
@hooks
,
with:
Entities
::
Hook
end
# Create new system hook
#
# Parameters:
# url (required) - url for system hook
# Example Request
# POST /hooks
post
do
attrs
=
attributes_for_keys
[
:url
]
required_attributes!
[
:url
]
@hook
=
SystemHook
.
new
attrs
if
@hook
.
save
present
@hook
,
with:
Entities
::
Hook
else
not_found!
end
end
# Test a hook
#
# Example Request
# GET /hooks/:id
get
":id"
do
@hook
=
SystemHook
.
find
(
params
[
:id
])
data
=
{
event_name:
"project_create"
,
name:
"Ruby"
,
path:
"ruby"
,
project_id:
1
,
owner_name:
"Someone"
,
owner_email:
"example@gitlabhq.com"
}
@hook
.
execute
(
data
)
data
end
# Delete a hook. This is an idempotent function.
#
# Parameters:
# id (required) - ID of the hook
# Example Request:
# DELETE /hooks/:id
delete
":id"
do
begin
@hook
=
SystemHook
.
find
(
params
[
:id
])
@hook
.
destroy
rescue
# SystemHook raises an Error if no hook with id found
end
end
end
end
end
lib/gitlab/auth.rb
浏览文件 @
af5d0e9e
...
...
@@ -10,7 +10,7 @@ module Gitlab
@user
elsif
@user
=
User
.
find_by_email
(
email
)
log
.
info
"Updating legacy LDAP user
#{
email
}
with extern_uid =>
#{
uid
}
"
@user
.
update_attributes
(
:extern_uid
=>
uid
,
:provider
=>
provider
)
@user
.
update_attributes
(
extern_uid:
uid
,
provider:
provider
)
@user
else
create_from_omniauth
(
auth
,
true
)
...
...
@@ -57,7 +57,7 @@ module Gitlab
if
@user
=
User
.
find_by_provider_and_extern_uid
(
provider
,
uid
)
@user
elsif
@user
=
User
.
find_by_email
(
email
)
@user
.
update_attributes
(
:extern_uid
=>
uid
,
:provider
=>
provider
)
@user
.
update_attributes
(
extern_uid:
uid
,
provider:
provider
)
@user
else
if
Gitlab
.
config
.
omniauth
[
'allow_single_sign_on'
]
...
...
lib/gitlab/inline_diff.rb
浏览文件 @
af5d0e9e
...
...
@@ -4,7 +4,7 @@ module Gitlab
START
=
"#!idiff-start!#"
FINISH
=
"#!idiff-finish!#"
def
processing
diff_arr
indexes
=
_indexes_of_changed_lines
diff_arr
...
...
@@ -60,7 +60,7 @@ module Gitlab
line
.
gsub!
(
FINISH
,
"</span>"
)
line
end
end
end
...
...
lib/gitlab/popen.rb
浏览文件 @
af5d0e9e
...
...
@@ -2,7 +2,7 @@ module Gitlab
module
Popen
def
popen
(
cmd
,
path
)
vars
=
{
"PWD"
=>
path
}
options
=
{
:chdir
=>
path
}
options
=
{
chdir:
path
}
@cmd_output
=
""
@cmd_status
=
0
...
...
lib/tasks/gitlab/backup.rake
浏览文件 @
af5d0e9e
...
...
@@ -4,7 +4,7 @@ namespace :gitlab do
namespace
:backup
do
# Create backup of GitLab system
desc
"GITLAB | Create a backup of the GitLab system"
task
:create
=>
:environment
do
task
create:
:environment
do
warn_user_is_not_gitlab
Rake
::
Task
[
"gitlab:backup:db:create"
].
invoke
...
...
@@ -57,7 +57,7 @@ namespace :gitlab do
# Restore backup of GitLab system
desc
"GITLAB | Restore a previously created backup"
task
:restore
=>
:environment
do
task
restore:
:environment
do
warn_user_is_not_gitlab
Dir
.
chdir
(
Gitlab
.
config
.
backup
.
path
)
...
...
@@ -113,13 +113,13 @@ namespace :gitlab do
end
namespace
:repo
do
task
:create
=>
:environment
do
task
create:
:environment
do
puts
"Dumping repositories ..."
.
blue
Backup
::
Repository
.
new
.
dump
puts
"done"
.
green
end
task
:restore
=>
:environment
do
task
restore:
:environment
do
puts
"Restoring repositories ..."
.
blue
Backup
::
Repository
.
new
.
restore
puts
"done"
.
green
...
...
@@ -127,13 +127,13 @@ namespace :gitlab do
end
namespace
:db
do
task
:create
=>
:environment
do
task
create:
:environment
do
puts
"Dumping database ... "
.
blue
Backup
::
Database
.
new
.
dump
puts
"done"
.
green
end
task
:restore
=>
:environment
do
task
restore:
:environment
do
puts
"Restoring database ... "
.
blue
Backup
::
Database
.
new
.
restore
puts
"done"
.
green
...
...
@@ -141,13 +141,13 @@ namespace :gitlab do
end
namespace
:uploads
do
task
:create
=>
:environment
do
task
create:
:environment
do
puts
"Dumping uploads ... "
.
blue
Backup
::
Uploads
.
new
.
dump
puts
"done"
.
green
end
task
:restore
=>
:environment
do
task
restore:
:environment
do
puts
"Restoring uploads ... "
.
blue
Backup
::
Uploads
.
new
.
restore
puts
"done"
.
green
...
...
lib/tasks/gitlab/bulk_add_permission.rake
浏览文件 @
af5d0e9e
namespace
:gitlab
do
namespace
:import
do
desc
"GITLAB | Add all users to all projects (admin users are added as masters)"
task
:all_users_to_all_projects
=>
:environment
do
|
t
,
args
|
user_ids
=
User
.
where
(
:admin
=>
false
).
pluck
(
:id
)
admin_ids
=
User
.
where
(
:admin
=>
true
).
pluck
(
:id
)
task
all_users_to_all_projects:
:environment
do
|
t
,
args
|
user_ids
=
User
.
where
(
admin:
false
).
pluck
(
:id
)
admin_ids
=
User
.
where
(
admin:
true
).
pluck
(
:id
)
projects_ids
=
Project
.
pluck
(
:id
)
puts
"Importing
#{
user_ids
.
size
}
users into
#{
projects_ids
.
size
}
projects"
...
...
@@ -21,4 +21,4 @@ namespace :gitlab do
UsersProject
.
add_users_into_projects
(
project_ids
,
Array
.
wrap
(
user
.
id
),
UsersProject
::
DEVELOPER
)
end
end
end
\ No newline at end of file
end
lib/tasks/gitlab/cleanup.rake
浏览文件 @
af5d0e9e
namespace
:gitlab
do
namespace
:cleanup
do
desc
"GITLAB | Cleanup | Clean namespaces"
task
:dirs
=>
:environment
do
task
dirs:
:environment
do
warn_user_is_not_gitlab
remove_flag
=
ENV
[
'REMOVE'
]
...
...
@@ -44,7 +44,7 @@ namespace :gitlab do
end
desc
"GITLAB | Cleanup | Clean respositories"
task
:repos
=>
:environment
do
task
repos:
:environment
do
warn_user_is_not_gitlab
remove_flag
=
ENV
[
'REMOVE'
]
...
...
lib/tasks/gitlab/import.rake
浏览文件 @
af5d0e9e
...
...
@@ -10,7 +10,7 @@ namespace :gitlab do
# * existing projects will be skipped
#
desc
"GITLAB | Import bare repositories from git_host -> base_path into GitLab project instance"
task
:repos
=>
:environment
do
task
repos:
:environment
do
git_base_path
=
Gitlab
.
config
.
gitlab_shell
.
repos_path
repos_to_import
=
Dir
.
glob
(
git_base_path
+
'/*'
)
...
...
@@ -40,7 +40,7 @@ namespace :gitlab do
user
=
User
.
admins
.
first
project_params
=
{
:name
=>
path
,
name:
path
,
}
project
=
Projects
::
CreateContext
.
new
(
user
,
project_params
).
execute
...
...
lib/tasks/gitlab/setup.rake
浏览文件 @
af5d0e9e
namespace
:gitlab
do
desc
"GITLAB | Setup production application"
task
:setup
=>
:environment
do
task
setup:
:environment
do
setup_db
end
...
...
lib/tasks/gitlab/test.rake
浏览文件 @
af5d0e9e
namespace
:gitlab
do
desc
"GITLAB | Run both spinach and rspec"
task
:test
=>
[
'spinach'
,
'spec'
]
task
test:
[
'spinach'
,
'spec'
]
end
lib/tasks/travis.rake
浏览文件 @
af5d0e9e
desc
"Travis run tests"
task
:travis
=>
[
task
travis:
[
:spinach
,
:spec
]
spec/models/merge_request_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -36,7 +36,7 @@ describe MergeRequest do
it
{
should
respond_to
(
:can_be_merged?
)
}
it
{
should
respond_to
(
:cannot_be_merged?
)
}
end
describe
'modules'
do
it
{
should
include_module
(
Issuable
)
}
end
...
...
spec/models/milestone_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -134,7 +134,7 @@ describe Milestone do
it
'should be false if milestone active and not all nestied issues closed'
do
issue
.
milestone
=
milestone
issue
.
save
issue
.
save
milestone
.
can_be_closed?
.
should
be_false
end
...
...
spec/observers/users_project_observer_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -16,7 +16,7 @@ describe UsersProjectObserver do
it
"should send email to user"
do
subject
.
should_receive
(
:notification
)
Event
.
stub
(
:create
=>
true
)
Event
.
stub
(
create:
true
)
create
(
:users_project
)
end
...
...
spec/requests/api/groups_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -26,7 +26,7 @@ describe Gitlab::API do
json_response
.
first
[
'name'
].
should
==
group1
.
name
end
end
context
"when authenticated as admin"
do
it
"admin: should return an array of all groups"
do
get
api
(
"/groups"
,
admin
)
...
...
@@ -36,7 +36,7 @@ describe Gitlab::API do
end
end
end
describe
"GET /groups/:id"
do
context
"when authenticated as user"
do
it
"should return one of user1's groups"
do
...
...
@@ -44,32 +44,32 @@ describe Gitlab::API do
response
.
status
.
should
==
200
json_response
[
'name'
]
==
group1
.
name
end
it
"should not return a non existing group"
do
get
api
(
"/groups/1328"
,
user1
)
response
.
status
.
should
==
404
end
it
"should not return a group not attached to user1"
do
get
api
(
"/groups/
#{
group2
.
id
}
"
,
user1
)
response
.
status
.
should
==
404
end
end
context
"when authenticated as admin"
do
it
"should return any existing group"
do
get
api
(
"/groups/
#{
group2
.
id
}
"
,
admin
)
response
.
status
.
should
==
200
json_response
[
'name'
]
==
group2
.
name
end
it
"should not return a non existing group"
do
get
api
(
"/groups/1328"
,
admin
)
response
.
status
.
should
==
404
end
end
end
describe
"POST /groups"
do
context
"when authenticated as user"
do
it
"should not create group"
do
...
...
@@ -77,7 +77,7 @@ describe Gitlab::API do
response
.
status
.
should
==
403
end
end
context
"when authenticated as admin"
do
it
"should create group"
do
post
api
(
"/groups"
,
admin
),
attributes_for
(
:group
)
...
...
@@ -85,17 +85,17 @@ describe Gitlab::API do
end
it
"should not create group, duplicate"
do
post
api
(
"/groups"
,
admin
),
{
:name
=>
"Duplicate Test"
,
:path
=>
group2
.
path
}
post
api
(
"/groups"
,
admin
),
{
name:
"Duplicate Test"
,
path:
group2
.
path
}
response
.
status
.
should
==
404
end
it
"should return 400 bad request error if name not given"
do
post
api
(
"/groups"
,
admin
),
{
:path
=>
group2
.
path
}
post
api
(
"/groups"
,
admin
),
{
path:
group2
.
path
}
response
.
status
.
should
==
400
end
it
"should return 400 bad request error if path not given"
do
post
api
(
"/groups"
,
admin
),
{
:name
=>
'test'
}
post
api
(
"/groups"
,
admin
),
{
name:
'test'
}
response
.
status
.
should
==
400
end
end
...
...
@@ -104,8 +104,8 @@ describe Gitlab::API do
describe
"POST /groups/:id/projects/:project_id"
do
let
(
:project
)
{
create
(
:project
)
}
before
(
:each
)
do
project
.
stub!
(
:transfer
).
and_return
(
true
)
Project
.
stub
(
:find
).
and_return
(
project
)
project
.
stub!
(
:transfer
).
and_return
(
true
)
Project
.
stub
(
:find
).
and_return
(
project
)
end
...
...
spec/requests/api/system_hooks_spec.rb
浏览文件 @
af5d0e9e
require
'spec_helper'
describe
Gitlab
::
API
do
include
ApiHelpers
let
(
:user
)
{
create
(
:user
)
}
let
(
:admin
)
{
create
(
:admin
)
}
let!
(
:hook
)
{
create
(
:system_hook
,
url:
"http://example.com"
)
}
before
{
stub_request
(
:post
,
hook
.
url
)
}
describe
"GET /hooks"
do
context
"when no user"
do
it
"should return authentication error"
do
get
api
(
"/hooks"
)
response
.
status
.
should
==
401
end
end
context
"when not an admin"
do
it
"should return forbidden error"
do
get
api
(
"/hooks"
,
user
)
response
.
status
.
should
==
403
end
end
context
"when authenticated as admin"
do
it
"should return an array of hooks"
do
get
api
(
"/hooks"
,
admin
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'url'
].
should
==
hook
.
url
end
end
end
describe
"POST /hooks"
do
it
"should create new hook"
do
expect
{
post
api
(
"/hooks"
,
admin
),
url:
'http://example.com'
}.
to
change
{
SystemHook
.
count
}.
by
(
1
)
end
it
"should respond with 400 if url not given"
do
post
api
(
"/hooks"
,
admin
)
response
.
status
.
should
==
400
end
it
"should not create new hook without url"
do
expect
{
post
api
(
"/hooks"
,
admin
)
}.
to_not
change
{
SystemHook
.
count
}
end
end
describe
"GET /hooks/:id"
do
it
"should return hook by id"
do
get
api
(
"/hooks/
#{
hook
.
id
}
"
,
admin
)
response
.
status
.
should
==
200
json_response
[
'event_name'
].
should
==
'project_create'
end
it
"should return 404 on failure"
do
get
api
(
"/hooks/404"
,
admin
)
response
.
status
.
should
==
404
end
end
describe
"DELETE /hooks/:id"
do
it
"should delete a hook"
do
expect
{
delete
api
(
"/hooks/
#{
hook
.
id
}
"
,
admin
)
}.
to
change
{
SystemHook
.
count
}.
by
(
-
1
)
end
it
"should return success if hook id not found"
do
delete
api
(
"/hooks/12345"
,
admin
)
response
.
status
.
should
==
200
end
end
end
\ No newline at end of file
require
'spec_helper'
describe
Gitlab
::
API
do
include
ApiHelpers
let
(
:user
)
{
create
(
:user
)
}
let
(
:admin
)
{
create
(
:admin
)
}
let!
(
:hook
)
{
create
(
:system_hook
,
url:
"http://example.com"
)
}
before
{
stub_request
(
:post
,
hook
.
url
)
}
describe
"GET /hooks"
do
context
"when no user"
do
it
"should return authentication error"
do
get
api
(
"/hooks"
)
response
.
status
.
should
==
401
end
end
context
"when not an admin"
do
it
"should return forbidden error"
do
get
api
(
"/hooks"
,
user
)
response
.
status
.
should
==
403
end
end
context
"when authenticated as admin"
do
it
"should return an array of hooks"
do
get
api
(
"/hooks"
,
admin
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'url'
].
should
==
hook
.
url
end
end
end
describe
"POST /hooks"
do
it
"should create new hook"
do
expect
{
post
api
(
"/hooks"
,
admin
),
url:
'http://example.com'
}.
to
change
{
SystemHook
.
count
}.
by
(
1
)
end
it
"should respond with 400 if url not given"
do
post
api
(
"/hooks"
,
admin
)
response
.
status
.
should
==
400
end
it
"should not create new hook without url"
do
expect
{
post
api
(
"/hooks"
,
admin
)
}.
to_not
change
{
SystemHook
.
count
}
end
end
describe
"GET /hooks/:id"
do
it
"should return hook by id"
do
get
api
(
"/hooks/
#{
hook
.
id
}
"
,
admin
)
response
.
status
.
should
==
200
json_response
[
'event_name'
].
should
==
'project_create'
end
it
"should return 404 on failure"
do
get
api
(
"/hooks/404"
,
admin
)
response
.
status
.
should
==
404
end
end
describe
"DELETE /hooks/:id"
do
it
"should delete a hook"
do
expect
{
delete
api
(
"/hooks/
#{
hook
.
id
}
"
,
admin
)
}.
to
change
{
SystemHook
.
count
}.
by
(
-
1
)
end
it
"should return success if hook id not found"
do
delete
api
(
"/hooks/12345"
,
admin
)
response
.
status
.
should
==
200
end
end
end
spec/routing/admin_routing_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -56,15 +56,15 @@ describe Admin::UsersController, "routing" do
end
end
# team_admin_project GET /admin/projects/:id/team(.:format) admin/projects#team {
:id=>
/[^\/]+/}
# team_update_admin_project PUT /admin/projects/:id/team_update(.:format) admin/projects#team_update {
:id=>
/[^\/]+/}
# admin_projects GET /admin/projects(.:format) admin/projects#index {
:id=>
/[^\/]+/}
# POST /admin/projects(.:format) admin/projects#create {
:id=>
/[^\/]+/}
# new_admin_project GET /admin/projects/new(.:format) admin/projects#new {
:id=>
/[^\/]+/}
# edit_admin_project GET /admin/projects/:id/edit(.:format) admin/projects#edit {
:id=>
/[^\/]+/}
# admin_project GET /admin/projects/:id(.:format) admin/projects#show {
:id=>
/[^\/]+/}
# PUT /admin/projects/:id(.:format) admin/projects#update {
:id=>
/[^\/]+/}
# DELETE /admin/projects/:id(.:format) admin/projects#destroy {
:id=>
/[^\/]+/}
# team_admin_project GET /admin/projects/:id/team(.:format) admin/projects#team {
id:
/[^\/]+/}
# team_update_admin_project PUT /admin/projects/:id/team_update(.:format) admin/projects#team_update {
id:
/[^\/]+/}
# admin_projects GET /admin/projects(.:format) admin/projects#index {
id:
/[^\/]+/}
# POST /admin/projects(.:format) admin/projects#create {
id:
/[^\/]+/}
# new_admin_project GET /admin/projects/new(.:format) admin/projects#new {
id:
/[^\/]+/}
# edit_admin_project GET /admin/projects/:id/edit(.:format) admin/projects#edit {
id:
/[^\/]+/}
# admin_project GET /admin/projects/:id(.:format) admin/projects#show {
id:
/[^\/]+/}
# PUT /admin/projects/:id(.:format) admin/projects#update {
id:
/[^\/]+/}
# DELETE /admin/projects/:id(.:format) admin/projects#destroy {
id:
/[^\/]+/}
describe
Admin
::
ProjectsController
,
"routing"
do
it
"to #index"
do
get
(
"/admin/projects"
).
should
route_to
(
'admin/projects#index'
)
...
...
@@ -75,9 +75,9 @@ describe Admin::ProjectsController, "routing" do
end
end
# edit_admin_project_member GET /admin/projects/:project_id/members/:id/edit(.:format) admin/projects/members#edit {
:id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# admin_project_member PUT /admin/projects/:project_id/members/:id(.:format) admin/projects/members#update {
:id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# DELETE /admin/projects/:project_id/members/:id(.:format) admin/projects/members#destroy {
:id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# edit_admin_project_member GET /admin/projects/:project_id/members/:id/edit(.:format) admin/projects/members#edit {
id: /[^\/]+/, project_id:
/[^\/]+/}
# admin_project_member PUT /admin/projects/:project_id/members/:id(.:format) admin/projects/members#update {
id: /[^\/]+/, project_id:
/[^\/]+/}
# DELETE /admin/projects/:project_id/members/:id(.:format) admin/projects/members#destroy {
id: /[^\/]+/, project_id:
/[^\/]+/}
describe
Admin
::
Projects
::
MembersController
,
"routing"
do
it
"to #edit"
do
get
(
"/admin/projects/test/members/1/edit"
).
should
route_to
(
'admin/projects/members#edit'
,
project_id:
'test'
,
id:
'1'
)
...
...
spec/routing/project_routing_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -279,7 +279,7 @@ describe HooksController, "routing" do
end
end
# project_commit GET /:project_id/commit/:id(.:format) commit#show {
:id=>/[[:alnum:]]{6,40}/, :project_id=>
/[^\/]+/}
# project_commit GET /:project_id/commit/:id(.:format) commit#show {
id: /[[:alnum:]]{6,40}/, project_id:
/[^\/]+/}
describe
CommitController
,
"routing"
do
it
"to #show"
do
get
(
"/gitlabhq/commit/4246fb"
).
should
route_to
(
'commit#show'
,
project_id:
'gitlabhq'
,
id:
'4246fb'
)
...
...
@@ -375,7 +375,7 @@ describe NotesController, "routing" do
end
end
# project_blame GET /:project_id/blame/:id(.:format) blame#show {
:id=>/.+/, :project_id=>
/[^\/]+/}
# project_blame GET /:project_id/blame/:id(.:format) blame#show {
id: /.+/, project_id:
/[^\/]+/}
describe
BlameController
,
"routing"
do
it
"to #show"
do
get
(
"/gitlabhq/blame/master/app/models/project.rb"
).
should
route_to
(
'blame#show'
,
project_id:
'gitlabhq'
,
id:
'master/app/models/project.rb'
)
...
...
@@ -383,7 +383,7 @@ describe BlameController, "routing" do
end
end
# project_blob GET /:project_id/blob/:id(.:format) blob#show {
:id=>/.+/, :project_id=>
/[^\/]+/}
# project_blob GET /:project_id/blob/:id(.:format) blob#show {
id: /.+/, project_id:
/[^\/]+/}
describe
BlobController
,
"routing"
do
it
"to #show"
do
get
(
"/gitlabhq/blob/master/app/models/project.rb"
).
should
route_to
(
'blob#show'
,
project_id:
'gitlabhq'
,
id:
'master/app/models/project.rb'
)
...
...
@@ -392,7 +392,7 @@ describe BlobController, "routing" do
end
end
# project_tree GET /:project_id/tree/:id(.:format) tree#show {
:id=>/.+/, :project_id=>
/[^\/]+/}
# project_tree GET /:project_id/tree/:id(.:format) tree#show {
id: /.+/, project_id:
/[^\/]+/}
describe
TreeController
,
"routing"
do
it
"to #show"
do
get
(
"/gitlabhq/tree/master/app/models/project.rb"
).
should
route_to
(
'tree#show'
,
project_id:
'gitlabhq'
,
id:
'master/app/models/project.rb'
)
...
...
@@ -400,9 +400,9 @@ describe TreeController, "routing" do
end
end
# project_compare_index GET /:project_id/compare(.:format) compare#index {
:id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# POST /:project_id/compare(.:format) compare#create {
:id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# project_compare /:project_id/compare/:from...:to(.:format) compare#show {
:from=>/.+/, :to=>/.+/, :id=>/[^\/]+/, :project_id=>
/[^\/]+/}
# project_compare_index GET /:project_id/compare(.:format) compare#index {
id: /[^\/]+/, project_id:
/[^\/]+/}
# POST /:project_id/compare(.:format) compare#create {
id: /[^\/]+/, project_id:
/[^\/]+/}
# project_compare /:project_id/compare/:from...:to(.:format) compare#show {
from: /.+/, to: /.+/, id: /[^\/]+/, project_id:
/[^\/]+/}
describe
CompareController
,
"routing"
do
it
"to #index"
do
get
(
"/gitlabhq/compare"
).
should
route_to
(
'compare#index'
,
project_id:
'gitlabhq'
)
...
...
spec/tasks/gitlab/backup_rake_spec.rb
浏览文件 @
af5d0e9e
...
...
@@ -22,21 +22,21 @@ describe 'gitlab:app namespace rake task' do
context
'gitlab version'
do
before
do
Dir
.
stub
:glob
=>
[]
Dir
.
stub
glob:
[]
Dir
.
stub
:chdir
File
.
stub
:exists?
=>
true
Kernel
.
stub
:system
=>
true
File
.
stub
exists?:
true
Kernel
.
stub
system:
true
end
let
(
:gitlab_version
)
{
%x{git rev-parse HEAD}
.
gsub
(
/\n/
,
""
)
}
it
'should fail on mismach'
do
YAML
.
stub
:load_file
=>
{
:gitlab_version
=>
gitlab_version
.
reverse
}
YAML
.
stub
load_file:
{
gitlab_version:
gitlab_version
.
reverse
}
expect
{
run_rake_task
}.
to
raise_error
SystemExit
end
it
'should invoke restoration on mach'
do
YAML
.
stub
:load_file
=>
{
:gitlab_version
=>
gitlab_version
}
YAML
.
stub
load_file:
{
gitlab_version:
gitlab_version
}
Rake
::
Task
[
"gitlab:backup:db:restore"
].
should_receive
:invoke
Rake
::
Task
[
"gitlab:backup:repo:restore"
].
should_receive
:invoke
expect
{
run_rake_task
}.
to_not
raise_error
SystemExit
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录