Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
6a9158d7
Commit
6a9158d7
authored
Dec 30, 2016
by
Jose Ivan Vargas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Port of 26138-combine-webhooks-and-services-settings-pages to EE
parent
bb4baf24
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
469 additions
and
42 deletions
+469
-42
app/controllers/projects/hooks_controller.rb
app/controllers/projects/hooks_controller.rb
+4
-10
app/controllers/projects/services_controller.rb
app/controllers/projects/services_controller.rb
+0
-4
app/controllers/projects/settings/integrations_controller.rb
app/controllers/projects/settings/integrations_controller.rb
+18
-0
app/helpers/gitlab_routing_helper.rb
app/helpers/gitlab_routing_helper.rb
+4
-0
app/views/layouts/nav/_project_settings.html.haml
app/views/layouts/nav/_project_settings.html.haml
+3
-7
app/views/projects/hooks/_index.html.haml
app/views/projects/hooks/_index.html.haml
+0
-0
app/views/projects/services/_index.html.haml
app/views/projects/services/_index.html.haml
+0
-2
app/views/projects/settings/integrations/_project_hook.html.haml
...ws/projects/settings/integrations/_project_hook.html.haml
+0
-0
app/views/projects/settings/integrations/show.html.haml
app/views/projects/settings/integrations/show.html.haml
+3
-0
app/views/shared/web_hooks/_form.html.haml
app/views/shared/web_hooks/_form.html.haml
+0
-1
config/routes/project.rb
config/routes/project.rb
+1
-0
config/routes/project.rb.orig
config/routes/project.rb.orig
+398
-0
features/project/active_tab.feature
features/project/active_tab.feature
+3
-3
features/steps/project/active_tab.rb
features/steps/project/active_tab.rb
+4
-4
features/steps/project/hooks.rb
features/steps/project/hooks.rb
+3
-3
features/steps/project/services.rb
features/steps/project/services.rb
+1
-1
features/steps/shared/paths.rb
features/steps/shared/paths.rb
+1
-1
spec/controllers/projects/settings/integrations_controller_spec.rb
...rollers/projects/settings/integrations_controller_spec.rb
+20
-0
spec/features/security/project/internal_access_spec.rb
spec/features/security/project/internal_access_spec.rb
+2
-2
spec/features/security/project/private_access_spec.rb
spec/features/security/project/private_access_spec.rb
+2
-2
spec/features/security/project/public_access_spec.rb
spec/features/security/project/public_access_spec.rb
+2
-2
No files found.
app/controllers/projects/hooks_controller.rb
View file @
6a9158d7
...
@@ -6,21 +6,15 @@ class Projects::HooksController < Projects::ApplicationController
...
@@ -6,21 +6,15 @@ class Projects::HooksController < Projects::ApplicationController
layout
"project_settings"
layout
"project_settings"
def
index
@hooks
=
@project
.
hooks
@hook
=
ProjectHook
.
new
end
def
create
def
create
@hook
=
@project
.
hooks
.
new
(
hook_params
)
@hook
=
@project
.
hooks
.
new
(
hook_params
)
@hook
.
save
@hook
.
save
if
@hook
.
valid?
unless
@hook
.
valid?
redirect_to
namespace_project_hooks_path
(
@project
.
namespace
,
@project
)
else
@hooks
=
@project
.
hooks
.
select
(
&
:persisted?
)
@hooks
=
@project
.
hooks
.
select
(
&
:persisted?
)
render
:index
flash
[
:alert
]
=
@hook
.
errors
.
full_messages
.
join
.
html_safe
end
end
redirect_to
namespace_project_settings_integrations_path
(
@project
.
namespace
,
@project
)
end
end
def
test
def
test
...
@@ -44,7 +38,7 @@ class Projects::HooksController < Projects::ApplicationController
...
@@ -44,7 +38,7 @@ class Projects::HooksController < Projects::ApplicationController
def
destroy
def
destroy
hook
.
destroy
hook
.
destroy
redirect_to
namespace_project_
hook
s_path
(
@project
.
namespace
,
@project
)
redirect_to
namespace_project_
settings_integration
s_path
(
@project
.
namespace
,
@project
)
end
end
private
private
...
...
app/controllers/projects/services_controller.rb
View file @
6a9158d7
...
@@ -9,10 +9,6 @@ class Projects::ServicesController < Projects::ApplicationController
...
@@ -9,10 +9,6 @@ class Projects::ServicesController < Projects::ApplicationController
layout
"project_settings"
layout
"project_settings"
def
index
@services
=
@project
.
find_or_initialize_services
end
def
edit
def
edit
end
end
...
...
app/controllers/projects/settings/integrations_controller.rb
0 → 100644
View file @
6a9158d7
module
Projects
module
Settings
class
IntegrationsController
<
Projects
::
ApplicationController
include
ServiceParams
before_action
:authorize_admin_project!
layout
"project_settings"
def
show
@hooks
=
@project
.
hooks
@hook
=
ProjectHook
.
new
# Services
@services
=
@project
.
find_or_initialize_services
end
end
end
end
app/helpers/gitlab_routing_helper.rb
View file @
6a9158d7
...
@@ -208,6 +208,10 @@ module GitlabRoutingHelper
...
@@ -208,6 +208,10 @@ module GitlabRoutingHelper
end
end
# Settings
# Settings
def
project_settings_integrations_path
(
project
,
*
args
)
namespace_project_settings_integrations_path
(
project
.
namespace
,
project
,
*
args
)
end
def
project_settings_members_path
(
project
,
*
args
)
def
project_settings_members_path
(
project
,
*
args
)
namespace_project_settings_members_path
(
project
.
namespace
,
project
,
*
args
)
namespace_project_settings_members_path
(
project
.
namespace
,
project
,
*
args
)
end
end
...
...
app/views/layouts/nav/_project_settings.html.haml
View file @
6a9158d7
...
@@ -8,14 +8,10 @@
...
@@ -8,14 +8,10 @@
=
link_to
namespace_project_deploy_keys_path
(
@project
.
namespace
,
@project
),
title:
'Deploy Keys'
do
=
link_to
namespace_project_deploy_keys_path
(
@project
.
namespace
,
@project
),
title:
'Deploy Keys'
do
%span
%span
Deploy Keys
Deploy Keys
=
nav_link
(
controller: :
hook
s
)
do
=
nav_link
(
controller: :
integration
s
)
do
=
link_to
namespace_project_
hooks_path
(
@project
.
namespace
,
@project
),
title:
'Webhook
s'
do
=
link_to
namespace_project_
settings_integrations_path
(
@project
.
namespace
,
@project
),
title:
'Integration
s'
do
%span
%span
Webhooks
Integrations
=
nav_link
(
controller: :services
)
do
=
link_to
namespace_project_services_path
(
@project
.
namespace
,
@project
),
title:
'Services'
do
%span
Services
=
nav_link
(
controller: :protected_branches
)
do
=
nav_link
(
controller: :protected_branches
)
do
=
link_to
namespace_project_protected_branches_path
(
@project
.
namespace
,
@project
),
title:
'Protected Branches'
do
=
link_to
namespace_project_protected_branches_path
(
@project
.
namespace
,
@project
),
title:
'Protected Branches'
do
%span
%span
...
...
app/views/projects/hooks/index.html.haml
→
app/views/projects/hooks/
_
index.html.haml
View file @
6a9158d7
File moved
app/views/projects/services/index.html.haml
→
app/views/projects/services/
_
index.html.haml
View file @
6a9158d7
-
page_title
"Services"
.row.prepend-top-default.append-bottom-default
.row.prepend-top-default.append-bottom-default
.col-lg-3
.col-lg-3
%h4
.prepend-top-0
%h4
.prepend-top-0
...
...
app/views/projects/
hook
s/_project_hook.html.haml
→
app/views/projects/
settings/integration
s/_project_hook.html.haml
View file @
6a9158d7
File moved
app/views/projects/settings/integrations/show.html.haml
0 → 100644
View file @
6a9158d7
-
page_title
'Integrations'
=
render
'projects/hooks/index'
=
render
'projects/services/index'
app/views/shared/web_hooks/_form.html.haml
View file @
6a9158d7
-
page_title
"Webhooks"
-
context_title
=
@project
?
'project'
:
'group'
-
context_title
=
@project
?
'project'
:
'group'
.row.prepend-top-default
.row.prepend-top-default
...
...
config/routes/project.rb
View file @
6a9158d7
...
@@ -361,6 +361,7 @@ constraints(ProjectUrlConstrainer.new) do
...
@@ -361,6 +361,7 @@ constraints(ProjectUrlConstrainer.new) do
namespace
:settings
do
namespace
:settings
do
resource
:members
,
only:
[
:show
]
resource
:members
,
only:
[
:show
]
resource
:integrations
,
only:
[
:show
]
end
end
# Since both wiki and repository routing contains wildcard characters
# Since both wiki and repository routing contains wildcard characters
...
...
config/routes/project.rb.orig
0 → 100644
View file @
6a9158d7
require 'constraints/project_url_constrainer'
resources :projects, only: [:index, :new, :create]
draw :git_http
constraints(ProjectUrlConstrainer.new) do
scope(path: '*namespace_id', as: :namespace) do
scope(path: ':project_id',
constraints: { project_id: Gitlab::Regex.project_route_regex },
module: :projects,
as: :project) do
resources :autocomplete_sources, only: [] do
collection do
get 'emojis'
get 'members'
get 'issues'
get 'merge_requests'
get 'labels'
get 'milestones'
get 'commands'
end
end
#
# Templates
#
get '/templates/:template_type/:key' => 'templates#show', as: :template
resource :avatar, only: [:show, :destroy]
resources :commit, only: [:show], constraints: { id: /\h{7,40}/ } do
member do
get :branches
get :pipelines
post :revert
post :cherry_pick
get :diff_for_path
end
end
## EE-specific
resource :pages, only: [:show, :destroy] do
resources :domains, only: [:show, :new, :create, :destroy], controller: 'pages_domains', constraints: { id: /[^\/]+/ }
end
## EE-specific
resources :compare, only: [:index, :create] do
collection do
get :diff_for_path
end
end
get '/compare/:from...:to', to: 'compare#show', as: 'compare', constraints: { from: /.+/, to: /.+/ }
# Don't use format parameter as file extension (old 3.0.x behavior)
# See http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
scope format: false do
resources :network, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex }
resources :graphs, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex } do
member do
get :commits
get :ci
get :languages
end
end
end
resources :snippets, concerns: :awardable, constraints: { id: /\d+/ } do
member do
get 'raw'
end
end
resources :services, constraints: { id: /[^\/]+/ }, only: [:index, :edit, :update] do
member do
get :test
end
end
resource :mattermost, only: [:new, :create]
resources :deploy_keys, constraints: { id: /\d+/ }, only: [:index, :new, :create] do
member do
put :enable
put :disable
end
end
resources :forks, only: [:index, :new, :create]
resource :import, only: [:new, :create, :show]
resources :merge_requests, concerns: :awardable, constraints: { id: /\d+/ } do
member do
get :commits
get :diffs
get :conflicts
get :conflict_for_path
get :pipelines
get :merge_check
post :merge
post :cancel_merge_when_build_succeeds
get :ci_status
get :ci_environments_status
post :toggle_subscription
## EE-specific
get :approvals
post :approvals, action: :approve
delete :approvals, action: :unapprove
post :rebase
## EE-specific
post :remove_wip
get :diff_for_path
post :resolve_conflicts
post :assign_related_issues
end
collection do
get :branch_from
get :branch_to
get :update_branches
get :diff_for_path
post :bulk_update
get :new_diffs, path: 'new/diffs'
end
## EE-specific
resources :approvers, only: :destroy
resources :approver_groups, only: :destroy
## EE-specific
resources :discussions, only: [], constraints: { id: /\h{40}/ } do
member do
post :resolve
delete :resolve, action: :unresolve
end
end
end
resources :branches, only: [:index, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
delete :merged_branches, controller: 'branches', action: :destroy_all_merged
resources :tags, only: [:index, :show, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex } do
resource :release, only: [:edit, :update]
end
## EE-specific
resources :path_locks, only: [:index, :destroy] do
collection do
post :toggle
end
end
resources :protected_branches, only: [:index, :show, :create, :update, :destroy, :patch], constraints: { id: Gitlab::Regex.git_reference_regex } do
scope module: :protected_branches do
resources :merge_access_levels, only: [:destroy]
resources :push_access_levels, only: [:destroy]
end
end
## EE-specific
resources :variables, only: [:index, :show, :update, :create, :destroy]
resources :triggers, only: [:index, :create, :destroy]
## EE-specific
resource :mirror, only: [:show, :update] do
member do
post :update_now
end
end
resources :push_rules, constraints: { id: /\d+/ }
## EE-specific
resources :pipelines, only: [:index, :new, :create, :show] do
collection do
resource :pipelines_settings, path: 'settings', only: [:show, :update]
end
member do
get :stage
post :cancel
post :retry
get :builds
end
end
resources :environments, except: [:destroy] do
member do
post :stop
get :terminal
get '/terminal.ws/authorize', to: 'environments#terminal_websocket_authorize', constraints: { format: nil }
end
end
resource :cycle_analytics, only: [:show]
namespace :cycle_analytics do
scope :events, controller: 'events' do
get :issue
get :plan
get :code
get :test
get :review
get :staging
get :production
end
end
resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do
collection do
post :cancel_all
resources :artifacts, only: [] do
collection do
get :latest_succeeded,
path: '*ref_name_and_path',
format: false
end
end
end
member do
get :status
post :cancel
post :retry
post :play
post :erase
get :trace
get :raw
end
resource :artifacts, only: [] do
get :download
get :browse, path: 'browse(/*path)', format: false
get :file, path: 'file/*path', format: false
post :keep
end
end
resources :hooks, only: [:index, :create, :destroy], constraints: { id: /\d+/ } do
member do
get :test
end
end
resources :container_registry, only: [:index, :destroy], constraints: { id: Gitlab::Regex.container_registry_reference_regex }
resources :milestones, constraints: { id: /\d+/ } do
member do
put :sort_issues
put :sort_merge_requests
end
end
resources :labels, except: [:show], constraints: { id: /\d+/ } do
collection do
post :generate
post :set_priorities
end
member do
post :toggle_subscription
delete :remove_priority
end
end
resources :issues, concerns: :awardable, constraints: { id: /\d+/ } do
member do
post :toggle_subscription
post :mark_as_spam
get :referenced_merge_requests
get :related_branches
get :can_create_branch
end
collection do
post :bulk_update
end
end
resources :project_members, except: [:show, :new, :edit], constraints: { id: /[a-zA-Z.\/0-9_\-#%+]+/ }, concerns: :access_requestable do
collection do
delete :leave
# Used for import team
# from another project
get :import
post :apply_import
end
member do
post :resend_invite
end
end
resources :group_links, only: [:index, :create, :update, :destroy], constraints: { id: /\d+/ }
resources :notes, only: [:index, :create, :destroy, :update], concerns: :awardable, constraints: { id: /\d+/ } do
member do
delete :delete_attachment
post :resolve
delete :resolve, action: :unresolve
end
end
resources :boards, only: [:index, :show, :create, :update, :destroy] do
scope module: :boards do
resources :issues, only: [:update]
resources :lists, only: [:index, :create, :update, :destroy] do
collection do
post :generate
end
resources :issues, only: [:index, :create]
end
end
end
resources :todos, only: [:create]
resources :uploads, only: [:create] do
collection do
get ":secret/:filename", action: :show, as: :show, constraints: { filename: /[^\/]+/ }
end
end
resources :runners, only: [:index, :edit, :update, :destroy, :show] do
member do
get :resume
get :pause
end
collection do
post :toggle_shared_runners
end
end
## EE-specific
resources :approvers, only: :destroy
resources :approver_groups, only: :destroy
## EE-specific
resources :runner_projects, only: [:create, :destroy]
resources :badges, only: [:index] do
collection do
scope '*ref', constraints: { ref: Gitlab::Regex.git_reference_regex } do
constraints format: /svg/ do
get :build
get :coverage
end
end
end
end
<<<<<<< HEAD
## EE-specific
resources :audit_events, only: [:index]
## EE-specific
=======
>>>>>>> 9f0d794513... Moved the webhooks and services gear options to a single one called integrations
namespace :settings do
resource :members, only: [:show]
resource :integrations, only: [:show]
end
# Since both wiki and repository routing contains wildcard characters
# its preferable to keep it below all other project routes
draw :wiki
draw :repository
end
resources(:projects,
path: '/',
constraints: { id: Gitlab::Regex.project_route_regex },
only: [:edit, :show, :update, :destroy]) do
member do
put :transfer
delete :remove_fork
post :archive
post :unarchive
post :housekeeping
post :toggle_star
post :preview_markdown
post :export
post :remove_export
post :generate_new_export
get :download_export
get :activity
get :refs
put :new_issue_address
end
end
end
end
features/project/active_tab.feature
View file @
6a9158d7
...
@@ -39,10 +39,10 @@ Feature: Project Active Tab
...
@@ -39,10 +39,10 @@ Feature: Project Active Tab
# Sub Tabs: Settings
# Sub Tabs: Settings
Scenario
:
On Project Settings/
Hook
s
Scenario
:
On Project Settings/
Integration
s
Given
I visit my project's settings page
Given
I visit my project's settings page
And
I click the
"
Hook
s"
tab
And
I click the
"
Integration
s"
tab
Then
the active sub nav should be
Hook
s
Then
the active sub nav should be
Integration
s
And
no other sub navs should be active
And
no other sub navs should be active
And
the active main tab should be Settings
And
the active main tab should be Settings
...
...
features/steps/project/active_tab.rb
View file @
6a9158d7
...
@@ -27,8 +27,8 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
...
@@ -27,8 +27,8 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
end
end
end
end
step
'I click the "
Hook
s" tab'
do
step
'I click the "
Integration
s" tab'
do
click_link
(
'
Webhook
s'
)
click_link
(
'
Integration
s'
)
end
end
step
'I click the "Deploy Keys" tab'
do
step
'I click the "Deploy Keys" tab'
do
...
@@ -43,8 +43,8 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
...
@@ -43,8 +43,8 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
ensure_active_sub_nav
(
'Members'
)
ensure_active_sub_nav
(
'Members'
)
end
end
step
'the active sub nav should be
Hook
s'
do
step
'the active sub nav should be
Integration
s'
do
ensure_active_sub_nav
(
'
Webhook
s'
)
ensure_active_sub_nav
(
'
Integration
s'
)
end
end
step
'the active sub nav should be Deploy Keys'
do
step
'the active sub nav should be Deploy Keys'
do
...
...
features/steps/project/hooks.rb
View file @
6a9158d7
...
@@ -36,12 +36,12 @@ class Spinach::Features::ProjectHooks < Spinach::FeatureSteps
...
@@ -36,12 +36,12 @@ class Spinach::Features::ProjectHooks < Spinach::FeatureSteps
end
end
step
'I should see newly created hook'
do
step
'I should see newly created hook'
do
expect
(
current_path
).
to
eq
namespace_project_
hook
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
current_path
).
to
eq
namespace_project_
settings_integration
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
page
).
to
have_content
(
@url
)
expect
(
page
).
to
have_content
(
@url
)
end
end
step
'I should see newly created hook with SSL verification enabled'
do
step
'I should see newly created hook with SSL verification enabled'
do
expect
(
current_path
).
to
eq
namespace_project_
hook
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
current_path
).
to
eq
namespace_project_
settings_integration
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
page
).
to
have_content
(
@url
)
expect
(
page
).
to
have_content
(
@url
)
expect
(
page
).
to
have_content
(
"SSL Verification: enabled"
)
expect
(
page
).
to
have_content
(
"SSL Verification: enabled"
)
end
end
...
@@ -57,7 +57,7 @@ class Spinach::Features::ProjectHooks < Spinach::FeatureSteps
...
@@ -57,7 +57,7 @@ class Spinach::Features::ProjectHooks < Spinach::FeatureSteps
end
end
step
'hook should be triggered'
do
step
'hook should be triggered'
do
expect
(
current_path
).
to
eq
namespace_project_
hook
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
current_path
).
to
eq
namespace_project_
settings_integration
s_path
(
current_project
.
namespace
,
current_project
)
expect
(
page
).
to
have_selector
'.flash-notice'
,
expect
(
page
).
to
have_selector
'.flash-notice'
,
text:
'Hook executed successfully: HTTP 200'
text:
'Hook executed successfully: HTTP 200'
end
end
...
...
features/steps/project/services.rb
View file @
6a9158d7
...
@@ -4,7 +4,7 @@ class Spinach::Features::ProjectServices < Spinach::FeatureSteps
...
@@ -4,7 +4,7 @@ class Spinach::Features::ProjectServices < Spinach::FeatureSteps
include
SharedPaths
include
SharedPaths
step
'I visit project "Shop" services page'
do
step
'I visit project "Shop" services page'
do
visit
namespace_project_se
rvice
s_path
(
@project
.
namespace
,
@project
)
visit
namespace_project_se
ttings_integration
s_path
(
@project
.
namespace
,
@project
)
end
end
step
'I should see list of available services'
do
step
'I should see list of available services'
do
...
...
features/steps/shared/paths.rb
View file @
6a9158d7
...
@@ -276,7 +276,7 @@ module SharedPaths
...
@@ -276,7 +276,7 @@ module SharedPaths
end
end
step
'I visit project hooks page'
do
step
'I visit project hooks page'
do
visit
namespace_project_
hook
s_path
(
@project
.
namespace
,
@project
)
visit
namespace_project_
settings_integration
s_path
(
@project
.
namespace
,
@project
)
end
end
step
'I visit group hooks page'
do
step
'I visit group hooks page'
do
...
...
spec/controllers/projects/settings/integrations_controller_spec.rb
0 → 100644
View file @
6a9158d7
require
'spec_helper'
describe
Projects
::
Settings
::
IntegrationsController
do
let
(
:project
)
{
create
(
:project
,
:public
)
}
let
(
:user
)
{
create
(
:user
)
}
before
do
project
.
team
<<
[
user
,
:master
]
sign_in
(
user
)
end
describe
'GET show'
do
it
'renders show with 200 status code'
do
get
:show
,
namespace_id:
project
.
namespace
,
project_id:
project
expect
(
response
).
to
have_http_status
(
200
)
expect
(
response
).
to
render_template
(
:show
)
end
end
end
spec/features/security/project/internal_access_spec.rb
View file @
6a9158d7
...
@@ -262,8 +262,8 @@ describe "Internal Project Access", feature: true do
...
@@ -262,8 +262,8 @@ describe "Internal Project Access", feature: true do
it
{
is_expected
.
to
be_denied_for
(
:visitor
)
}
it
{
is_expected
.
to
be_denied_for
(
:visitor
)
}
end
end
describe
"GET /:project_path/
hook
s"
do
describe
"GET /:project_path/
settings/integration
s"
do
subject
{
namespace_project_
hook
s_path
(
project
.
namespace
,
project
)
}
subject
{
namespace_project_
settings_integration
s_path
(
project
.
namespace
,
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
...
...
spec/features/security/project/private_access_spec.rb
View file @
6a9158d7
...
@@ -234,8 +234,8 @@ describe "Private Project Access", feature: true do
...
@@ -234,8 +234,8 @@ describe "Private Project Access", feature: true do
it
{
is_expected
.
to
be_denied_for
(
:visitor
)
}
it
{
is_expected
.
to
be_denied_for
(
:visitor
)
}
end
end
describe
"GET /:project_path/hooks"
do
describe
"GET /:project_path/
namespace/
hooks"
do
subject
{
namespace_project_
hook
s_path
(
project
.
namespace
,
project
)
}
subject
{
namespace_project_
settings_integration
s_path
(
project
.
namespace
,
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
...
...
spec/features/security/project/public_access_spec.rb
View file @
6a9158d7
...
@@ -400,8 +400,8 @@ describe "Public Project Access", feature: true do
...
@@ -400,8 +400,8 @@ describe "Public Project Access", feature: true do
it
{
is_expected
.
to
be_allowed_for
(
:visitor
)
}
it
{
is_expected
.
to
be_allowed_for
(
:visitor
)
}
end
end
describe
"GET /:project_path/
hook
s"
do
describe
"GET /:project_path/
settings/integration
s"
do
subject
{
namespace_project_
hook
s_path
(
project
.
namespace
,
project
)
}
subject
{
namespace_project_
settings_integration
s_path
(
project
.
namespace
,
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:admin
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
it
{
is_expected
.
to
be_allowed_for
(
:owner
).
of
(
project
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment