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
55c6405b
Commit
55c6405b
authored
Feb 13, 2020
by
Peter Leitzen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add http status cop to api specs a-l
243 files inspected, 391 offenses detected, 391 offenses corrected
parent
c5e575e5
Changes
23
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
395 additions
and
395 deletions
+395
-395
.rubocop.yml
.rubocop.yml
+2
-2
ee/spec/requests/api/geo_replication_spec.rb
ee/spec/requests/api/geo_replication_spec.rb
+7
-7
ee/spec/requests/api/geo_spec.rb
ee/spec/requests/api/geo_spec.rb
+31
-31
ee/spec/requests/api/group_clusters_spec.rb
ee/spec/requests/api/group_clusters_spec.rb
+1
-1
ee/spec/requests/api/group_milestones_spec.rb
ee/spec/requests/api/group_milestones_spec.rb
+1
-1
ee/spec/requests/api/groups_spec.rb
ee/spec/requests/api/groups_spec.rb
+25
-25
ee/spec/requests/api/issue_links_spec.rb
ee/spec/requests/api/issue_links_spec.rb
+14
-14
ee/spec/requests/api/issues_spec.rb
ee/spec/requests/api/issues_spec.rb
+12
-12
ee/spec/requests/api/jobs_spec.rb
ee/spec/requests/api/jobs_spec.rb
+5
-5
spec/requests/api/graphql_spec.rb
spec/requests/api/graphql_spec.rb
+2
-2
spec/requests/api/group_boards_spec.rb
spec/requests/api/group_boards_spec.rb
+1
-1
spec/requests/api/group_clusters_spec.rb
spec/requests/api/group_clusters_spec.rb
+20
-20
spec/requests/api/group_export_spec.rb
spec/requests/api/group_export_spec.rb
+7
-7
spec/requests/api/group_import_spec.rb
spec/requests/api/group_import_spec.rb
+9
-9
spec/requests/api/group_labels_spec.rb
spec/requests/api/group_labels_spec.rb
+33
-33
spec/requests/api/group_variables_spec.rb
spec/requests/api/group_variables_spec.rb
+20
-20
spec/requests/api/groups_spec.rb
spec/requests/api/groups_spec.rb
+87
-87
spec/requests/api/helpers_spec.rb
spec/requests/api/helpers_spec.rb
+1
-1
spec/requests/api/import_github_spec.rb
spec/requests/api/import_github_spec.rb
+2
-2
spec/requests/api/jobs_spec.rb
spec/requests/api/jobs_spec.rb
+56
-56
spec/requests/api/keys_spec.rb
spec/requests/api/keys_spec.rb
+11
-11
spec/requests/api/labels_spec.rb
spec/requests/api/labels_spec.rb
+44
-44
spec/requests/api/lint_spec.rb
spec/requests/api/lint_spec.rb
+4
-4
No files found.
.rubocop.yml
View file @
55c6405b
...
...
@@ -349,8 +349,8 @@ RSpec/HaveGitlabHttpStatus:
-
'
ee/spec/requests/{groups,projects,repositories}/**/*'
-
'
spec/requests/api/*/**/*.rb'
-
'
ee/spec/requests/api/*/**/*.rb'
-
'
spec/requests/api/[a-
f
]*.rb'
-
'
ee/spec/requests/api/[a-
f
]*.rb'
-
'
spec/requests/api/[a-
l
]*.rb'
-
'
ee/spec/requests/api/[a-
l
]*.rb'
Style/MultilineWhenThen
:
Enabled
:
false
...
...
ee/spec/requests/api/geo_replication_spec.rb
View file @
55c6405b
...
...
@@ -23,7 +23,7 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
it
'retrieves the designs if admin is logged in'
do
get
api
(
"/geo_replication/designs"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/geo_designs'
,
dir:
'ee'
)
end
...
...
@@ -38,7 +38,7 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
get
api
(
"/geo_replication/designs"
,
admin
),
params:
{
search:
'bla'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/geo_designs'
,
dir:
'ee'
)
expect
(
json_response
.
size
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'project_id'
]).
to
eq
(
project
.
id
)
...
...
@@ -47,7 +47,7 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
it
'denies access if not admin'
do
get
api
(
'/geo_replication/designs'
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -59,14 +59,14 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
put
api
(
"/geo_replication/designs/
#{
project
.
id
}
/resync"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
design_registry
.
reload
.
state
).
to
eq
(
'pending'
)
end
it
'denies access if not admin'
do
put
api
(
'/geo_replication/designs/1/resync'
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -77,7 +77,7 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
post
api
(
"/geo_replication/designs/resync"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
::
Geo
::
DesignRegistry
.
all
.
each
do
|
registry
|
expect
(
registry
.
state
).
to
eq
(
'pending'
)
...
...
@@ -87,7 +87,7 @@ describe API::GeoReplication, :request_store, :geo, :geo_fdw, api: true do
it
'denies access if not admin'
do
post
api
(
'/geo_replication/designs/resync'
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
ee/spec/requests/api/geo_spec.rb
View file @
55c6405b
...
...
@@ -51,7 +51,7 @@ describe API::Geo do
get
api
(
"/geo/transfers/attachment/
#{
upload
.
id
}
"
),
headers:
req_header
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
it
'responds with 200 when IP is allowed'
do
...
...
@@ -59,7 +59,7 @@ describe API::Geo do
get
api
(
"/geo/transfers/attachment/
#{
upload
.
id
}
"
),
headers:
req_header
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
...
...
@@ -78,7 +78,7 @@ describe API::Geo do
it
'responds with 401 with invalid auth header'
do
get
api
(
"/geo/transfers/attachment/
#{
upload
.
id
}
"
),
headers:
{
Authorization
:
'Test'
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
context
'attachment file exists'
do
...
...
@@ -87,7 +87,7 @@ describe API::Geo do
it
'responds with 200 with X-Sendfile'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
[
'Content-Type'
]).
to
eq
(
'application/octet-stream'
)
expect
(
response
.
headers
[
'X-Sendfile'
]).
to
eq
(
note
.
attachment
.
path
)
end
...
...
@@ -99,7 +99,7 @@ describe API::Geo do
it
'responds with 404'
do
get
api
(
"/geo/transfers/attachment/100000"
),
headers:
not_found_req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -119,7 +119,7 @@ describe API::Geo do
it
'responds with 401 with invalid auth header'
do
get
api
(
"/geo/transfers/avatar/
#{
upload
.
id
}
"
),
headers:
{
Authorization
:
'Test'
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
context
'avatar file exists'
do
...
...
@@ -128,7 +128,7 @@ describe API::Geo do
it
'responds with 200 with X-Sendfile'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
[
'Content-Type'
]).
to
eq
(
'application/octet-stream'
)
expect
(
response
.
headers
[
'X-Sendfile'
]).
to
eq
(
user
.
avatar
.
path
)
end
...
...
@@ -140,7 +140,7 @@ describe API::Geo do
it
'responds with 404'
do
get
api
(
"/geo/transfers/avatar/100000"
),
headers:
not_found_req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -150,7 +150,7 @@ describe API::Geo do
get
api
(
"/geo/transfers/avatar/
#{
upload
.
id
}
"
),
headers:
req_header
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
[
'Content-Type'
]).
to
eq
(
'application/octet-stream'
)
expect
(
response
.
headers
[
'X-Sendfile'
]).
to
eq
(
user
.
avatar
.
path
)
end
...
...
@@ -173,7 +173,7 @@ describe API::Geo do
it
'responds with 401 with invalid auth header'
do
get
api
(
"/geo/transfers/file/
#{
upload
.
id
}
"
),
headers:
{
Authorization
:
'Test'
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
context
'when the Upload record exists'
do
...
...
@@ -183,7 +183,7 @@ describe API::Geo do
it
'responds with 200 with X-Sendfile'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
[
'Content-Type'
]).
to
eq
(
'application/octet-stream'
)
expect
(
response
.
headers
[
'X-Sendfile'
]).
to
end_with
(
'dk.png'
)
end
...
...
@@ -197,7 +197,7 @@ describe API::Geo do
get
api
(
"/geo/transfers/file/
#{
upload
.
id
}
"
),
headers:
req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'geo_code'
]).
to
eq
(
Gitlab
::
Geo
::
Replication
::
FILE_NOT_FOUND_GEO_CODE
)
end
end
...
...
@@ -207,7 +207,7 @@ describe API::Geo do
it
'responds with 404'
do
get
api
(
"/geo/transfers/file/100000"
),
headers:
not_found_req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -226,7 +226,7 @@ describe API::Geo do
it
'responds with 401 with invalid auth header'
do
get
api
(
"/geo/transfers/lfs/
#{
lfs_object
.
id
}
"
),
headers:
{
Authorization
:
'Test'
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
context
'LFS object exists'
do
...
...
@@ -236,7 +236,7 @@ describe API::Geo do
it
'responds with 200 with X-Sendfile'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
[
'Content-Type'
]).
to
eq
(
'application/octet-stream'
)
expect
(
response
.
headers
[
'X-Sendfile'
]).
to
eq
(
lfs_object
.
file
.
path
)
end
...
...
@@ -250,7 +250,7 @@ describe API::Geo do
get
api
(
"/geo/transfers/lfs/
#{
lfs_object
.
id
}
"
),
headers:
req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'geo_code'
]).
to
eq
(
Gitlab
::
Geo
::
Replication
::
FILE_NOT_FOUND_GEO_CODE
)
end
end
...
...
@@ -260,7 +260,7 @@ describe API::Geo do
it
'responds with 404'
do
get
api
(
"/geo/transfers/lfs/100000"
),
headers:
not_found_req_header
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -315,7 +315,7 @@ describe API::Geo do
it
'responds with 401 with invalid auth header'
do
post
api
(
'/geo/status'
),
headers:
{
Authorization
:
'Test'
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
it
'responds with 401 when the db_key_base is wrong'
do
...
...
@@ -325,7 +325,7 @@ describe API::Geo do
request
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
describe
'allowed IPs'
do
...
...
@@ -334,7 +334,7 @@ describe API::Geo do
request
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
it
'responds with 201 when IP is allowed'
do
...
...
@@ -342,7 +342,7 @@ describe API::Geo do
request
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
end
...
...
@@ -355,7 +355,7 @@ describe API::Geo do
it
'updates the status and responds with 201'
do
expect
{
request
}.
to
change
{
GeoNodeStatus
.
count
}.
by
(
1
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
secondary_node
.
reload
.
status
.
projects_count
).
to
eq
(
10
)
end
...
...
@@ -370,7 +370,7 @@ describe API::Geo do
post
api
(
'/geo/status'
),
params:
data
,
headers:
geo_base_request
.
headers
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
it_behaves_like
'with terms enforced'
...
...
@@ -391,7 +391,7 @@ describe API::Geo do
it
'responds with 400'
do
post
api
(
'/geo/proxy_git_push_ssh/info_refs'
),
params:
nil
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eql
(
'secret_token is missing, data is missing, data[gl_id] is missing, data[primary_repo] is missing'
)
end
end
...
...
@@ -407,7 +407,7 @@ describe API::Geo do
it
'responds with 401'
do
post
(
api
(
'/geo/proxy_git_push_ssh/info_refs'
),
params:
{
secret_token:
'invalid'
,
data:
data
})
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
expect
(
json_response
[
'error'
]).
to
be_nil
end
end
...
...
@@ -418,7 +418,7 @@ describe API::Geo do
post
api
(
'/geo/proxy_git_push_ssh/info_refs'
),
params:
{
secret_token:
secret_token
,
data:
data
}
expect
(
response
).
to
have_gitlab_http_status
(
500
)
expect
(
response
).
to
have_gitlab_http_status
(
:internal_server_error
)
expect
(
json_response
[
'message'
]).
to
include
(
'RuntimeError (deliberate exception raised)'
)
expect
(
json_response
[
'result'
]).
to
be_nil
end
...
...
@@ -439,7 +439,7 @@ describe API::Geo do
post
api
(
'/geo/proxy_git_push_ssh/info_refs'
),
params:
{
secret_token:
secret_token
,
data:
data
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
Base64
.
decode64
(
json_response
[
'result'
])).
to
eql
(
'something here'
)
end
end
...
...
@@ -451,7 +451,7 @@ describe API::Geo do
it
'responds with 400'
do
post
api
(
'/geo/proxy_git_push_ssh/push'
),
params:
nil
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eql
(
'secret_token is missing, data is missing, data[gl_id] is missing, data[primary_repo] is missing, output is missing'
)
end
end
...
...
@@ -468,7 +468,7 @@ describe API::Geo do
it
'responds with 401'
do
post
(
api
(
'/geo/proxy_git_push_ssh/push'
),
params:
{
secret_token:
'invalid'
,
data:
data
,
output:
output
})
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
expect
(
json_response
[
'error'
]).
to
be_nil
end
end
...
...
@@ -478,7 +478,7 @@ describe API::Geo do
expect
(
git_push_ssh_proxy
).
to
receive
(
:push
).
and_raise
(
'deliberate exception raised'
)
post
api
(
'/geo/proxy_git_push_ssh/push'
),
params:
{
secret_token:
secret_token
,
data:
data
,
output:
output
}
expect
(
response
).
to
have_gitlab_http_status
(
500
)
expect
(
response
).
to
have_gitlab_http_status
(
:internal_server_error
)
expect
(
json_response
[
'message'
]).
to
include
(
'RuntimeError (deliberate exception raised)'
)
expect
(
json_response
[
'result'
]).
to
be_nil
end
...
...
@@ -499,7 +499,7 @@ describe API::Geo do
post
api
(
'/geo/proxy_git_push_ssh/push'
),
params:
{
secret_token:
secret_token
,
data:
data
,
output:
output
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
Base64
.
decode64
(
json_response
[
'result'
])).
to
eql
(
'something here'
)
end
end
...
...
ee/spec/requests/api/group_clusters_spec.rb
View file @
55c6405b
...
...
@@ -64,7 +64,7 @@ describe API::GroupClusters do
end
it
'responds with 201'
do
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
it
'allows multiple clusters to be associated to group'
do
...
...
ee/spec/requests/api/group_milestones_spec.rb
View file @
55c6405b
...
...
@@ -20,7 +20,7 @@ describe API::GroupMilestones do
it
'matches V4 EE-specific response schema for a list of issues'
do
get
api
(
issues_route
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/issues'
,
dir:
'ee'
)
end
...
...
ee/spec/requests/api/groups_spec.rb
View file @
55c6405b
...
...
@@ -58,7 +58,7 @@ describe API::Groups do
it
'returns 200'
do
get
api
(
"/groups/
#{
private_group
.
id
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
...
...
@@ -70,13 +70,13 @@ describe API::Groups do
it
'returns 404 for request from ip not in the range'
do
get
api
(
"/groups/
#{
private_group
.
id
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 200 for request from ip in the range'
do
get
api
(
"/groups/
#{
private_group
.
id
}
"
,
user
),
headers:
{
'REMOTE_ADDR'
=>
'192.168.0.0'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
end
...
...
@@ -118,7 +118,7 @@ describe API::Groups do
stub_licensed_features
(
custom_file_templates_for_namespace:
false
)
expect
{
subject
}.
not_to
change
{
group
.
reload
.
file_template_project_id
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
not_to
have_key
(
'file_template_project_id'
)
end
...
...
@@ -126,7 +126,7 @@ describe API::Groups do
stub_licensed_features
(
custom_file_templates_for_namespace:
true
)
expect
{
subject
}.
to
change
{
group
.
reload
.
file_template_project_id
}.
to
(
project
.
id
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'file_template_project_id'
]).
to
eq
(
project
.
id
)
end
end
...
...
@@ -142,7 +142,7 @@ describe API::Groups do
put
api
(
"/groups/
#{
group
.
id
}
"
,
user
),
params:
{
shared_runners_minutes_limit:
133
}
end
.
not_to
change
{
group
.
shared_runners_minutes_limit
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
...
...
@@ -153,7 +153,7 @@ describe API::Groups do
expect
{
subject
}.
to
(
change
{
group
.
reload
.
shared_runners_minutes_limit
}.
from
(
nil
).
to
(
133
))
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'shared_runners_minutes_limit'
]).
to
eq
(
133
)
end
end
...
...
@@ -176,7 +176,7 @@ describe API::Groups do
post
api
(
"/groups"
,
another_user
),
params:
group
end
.
not_to
change
{
Group
.
count
}
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -191,7 +191,7 @@ describe API::Groups do
created_group
=
Group
.
find
(
json_response
[
'id'
])
expect
(
created_group
.
shared_runners_minutes_limit
).
to
eq
(
133
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'shared_runners_minutes_limit'
]).
to
eq
(
133
)
end
end
...
...
@@ -213,7 +213,7 @@ describe API::Groups do
context
'when the group is ready to sync'
do
it
'returns 202 Accepted'
do
ldap_sync
(
group
.
id
,
user
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
it
'queues a sync job'
do
...
...
@@ -233,7 +233,7 @@ describe API::Groups do
it
'returns 202 Accepted'
do
ldap_sync
(
group
.
id
,
user
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
it
'does not queue a sync job'
do
...
...
@@ -251,21 +251,21 @@ describe API::Groups do
non_existent_group_id
=
Group
.
maximum
(
:id
).
to_i
+
1
ldap_sync
(
non_existent_group_id
,
user
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
context
'when authenticated as the admin'
do
it
'returns 202 Accepted'
do
ldap_sync
(
group
.
id
,
admin
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
end
context
'when authenticated as a non-owner user that can see the group'
do
it
'returns 403'
do
ldap_sync
(
group
.
id
,
another_user
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -273,7 +273,7 @@ describe API::Groups do
it
'returns 404'
do
ldap_sync
(
private_group
.
id
,
user
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -286,7 +286,7 @@ describe API::Groups do
it
'returns 404 (same as CE would)'
do
ldap_sync
(
group
.
id
,
admin
,
:disable!
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -362,7 +362,7 @@ describe API::Groups do
it
'returns 200 response'
do
get
api
(
path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
it
'includes the correct pagination headers'
do
...
...
@@ -454,7 +454,7 @@ describe API::Groups do
it
'returns 200 response'
do
get
api
(
path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
context
'response schema'
do
...
...
@@ -499,7 +499,7 @@ describe API::Groups do
expect
{
subject
}.
to
change
(
GroupDestroyWorker
.
jobs
,
:size
).
by
(
1
)
end
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
end
...
...
@@ -518,7 +518,7 @@ describe API::Groups do
subject
group
.
reload
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
expect
(
group
.
marked_for_deletion_on
).
to
eq
(
Date
.
today
)
expect
(
group
.
deleting_user
).
to
eq
(
user
)
end
...
...
@@ -536,7 +536,7 @@ describe API::Groups do
it
'returns error'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
]).
to
eq
(
'error'
)
end
end
...
...
@@ -579,7 +579,7 @@ describe API::Groups do
it
'restores the group to original state'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'marked_for_deletion_on'
]).
to
be_falsey
end
end
...
...
@@ -592,7 +592,7 @@ describe API::Groups do
it
'returns error'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
]).
to
eq
(
'error'
)
end
end
...
...
@@ -604,7 +604,7 @@ describe API::Groups do
it
'returns 403'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -617,7 +617,7 @@ describe API::Groups do
it
'returns 404'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
ee/spec/requests/api/issue_links_spec.rb
View file @
55c6405b
...
...
@@ -16,7 +16,7 @@ describe API::IssueLinks do
it
'returns 401'
do
get
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -27,7 +27,7 @@ describe API::IssueLinks do
get
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/issue_links'
)
...
...
@@ -43,7 +43,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
),
params:
{
target_project_id:
target_issue
.
project
.
id
,
target_issue_iid:
target_issue
.
iid
}
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -55,7 +55,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
),
params:
{
target_project_id:
-
1
,
target_issue_iid:
target_issue
.
iid
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Project Not Found'
)
end
end
...
...
@@ -67,7 +67,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
),
params:
{
target_project_id:
target_project
.
id
,
target_issue_iid:
999
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Not found'
)
end
end
...
...
@@ -81,7 +81,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
),
params:
{
target_project_id:
unauthorized_project
.
id
,
target_issue_iid:
target_issue
.
iid
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'No Issue found for given params'
)
end
end
...
...
@@ -94,7 +94,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
),
params:
{
target_project_id:
project
.
id
,
target_issue_iid:
target_issue
.
iid
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Not found'
)
end
end
...
...
@@ -107,7 +107,7 @@ describe API::IssueLinks do
post
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links"
,
user
),
params:
{
target_project_id:
project
.
id
,
target_issue_iid:
target_issue
.
iid
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Project Not Found'
)
end
end
...
...
@@ -134,7 +134,7 @@ describe API::IssueLinks do
end
def
expect_link_response
(
link_type:
'relates_to'
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/issue_link'
)
expect
(
json_response
[
'link_type'
]).
to
eq
(
link_type
)
end
...
...
@@ -149,7 +149,7 @@ describe API::IssueLinks do
delete
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links/
#{
issue_link
.
id
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -163,7 +163,7 @@ describe API::IssueLinks do
delete
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links/
#{
issue_link
.
id
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'No Issue Link found'
)
end
end
...
...
@@ -172,7 +172,7 @@ describe API::IssueLinks do
it
'returns 404'
do
delete
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links/999"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Not found'
)
end
end
...
...
@@ -185,7 +185,7 @@ describe API::IssueLinks do
delete
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links/
#{
issue_link
.
id
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Project Not Found'
)
end
end
...
...
@@ -198,7 +198,7 @@ describe API::IssueLinks do
delete
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
/links/
#{
issue_link
.
id
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/issue_link'
)
end
end
...
...
ee/spec/requests/api/issues_spec.rb
View file @
55c6405b
...
...
@@ -85,7 +85,7 @@ describe API::Issues, :mailer do
it
'matches V4 response schema'
do
get
api
(
'/issues'
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
match_response_schema
(
'public_api/v4/issues'
,
dir:
'ee'
)
end
...
...
@@ -185,7 +185,7 @@ describe API::Issues, :mailer do
it
'does not contain epic_iid in response'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
epic_issue_response_for
(
epic_issue
)).
not_to
have_key
(
'epic_iid'
)
end
end
...
...
@@ -212,7 +212,7 @@ describe API::Issues, :mailer do
it
'does not contain epic_iid in response'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
epic_issue_response_for
(
epic_issue
)).
not_to
have_key
(
'epic_iid'
)
end
end
...
...
@@ -258,7 +258,7 @@ describe API::Issues, :mailer do
it
'returns an error'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
expect
(
json_response
[
'message'
]).
to
eq
(
'403 Forbidden'
)
end
end
...
...
@@ -273,7 +273,7 @@ describe API::Issues, :mailer do
it
'does not set epic on issue'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Not found'
)
end
end
...
...
@@ -284,7 +284,7 @@ describe API::Issues, :mailer do
it
'returns an error'
do
request
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
end
...
...
@@ -306,7 +306,7 @@ describe API::Issues, :mailer do
post
api
(
"/projects/
#{
project
.
id
}
/issues"
,
user
),
params:
{
title:
'new issue'
,
labels:
'label, label2'
,
weight:
101
,
assignee_ids:
[
user2
.
id
]
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'title'
]).
to
eq
(
'new issue'
)
expect
(
json_response
[
'description'
]).
to
be_nil
expect
(
json_response
[
'labels'
]).
to
eq
(
%w(label label2)
)
...
...
@@ -325,7 +325,7 @@ describe API::Issues, :mailer do
it
'updates an issue with no weight'
do
put
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
"
,
user
),
params:
{
weight:
101
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'weight'
]).
to
eq
(
101
)
end
...
...
@@ -334,14 +334,14 @@ describe API::Issues, :mailer do
put
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
weighted_issue
.
iid
}
"
,
user
),
params:
{
weight:
nil
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'weight'
]).
to
be_nil
end
it
'returns 400 if weight is less than minimum weight'
do
put
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
"
,
user
),
params:
{
weight:
-
1
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'weight'
]).
to
be_present
end
...
...
@@ -360,7 +360,7 @@ describe API::Issues, :mailer do
it
'adds a note when the weight is changed'
do
put
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
"
,
user
),
params:
{
weight:
9
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'weight'
]).
to
eq
(
9
)
end
...
...
@@ -372,7 +372,7 @@ describe API::Issues, :mailer do
it
'ignores the update'
do
put
api
(
"/projects/
#{
project
.
id
}
/issues/
#{
issue
.
iid
}
"
,
user
),
params:
{
weight:
5
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'weight'
]).
to
be_nil
expect
(
issue
.
reload
.
read_attribute
(
:weight
)).
to
be_nil
end
...
...
ee/spec/requests/api/jobs_spec.rb
View file @
55c6405b
...
...
@@ -44,7 +44,7 @@ describe API::Jobs do
it
'returns specific job artifacts'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
).
to
include
(
download_headers
)
expect
(
response
.
body
).
to
match_file
(
job
.
artifacts_file
.
file
.
file
)
end
...
...
@@ -57,7 +57,7 @@ describe API::Jobs do
subject
expect
(
project
).
to
be_private
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -68,7 +68,7 @@ describe API::Jobs do
it
'disallows access to the artifacts'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -98,7 +98,7 @@ describe API::Jobs do
it
'returns specific job artifacts'
,
:sidekiq_might_not_need_inline
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
).
to
include
(
download_headers
)
expect
(
response
.
body
).
to
match_file
(
job
.
artifacts_file
.
file
.
file
)
end
...
...
@@ -128,7 +128,7 @@ describe API::Jobs do
it
'does not allow to see that artfiact is present'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/graphql_spec.rb
View file @
55c6405b
...
...
@@ -58,7 +58,7 @@ describe 'GraphQL' do
it
'returns an error'
do
post_graphql
(
query
,
variables:
"This is not JSON"
)
expect
(
response
).
to
have_gitlab_http_status
(
422
)
expect
(
response
).
to
have_gitlab_http_status
(
:unprocessable_entity
)
expect
(
json_response
[
'errors'
].
first
[
'message'
]).
not_to
be_nil
end
end
...
...
@@ -114,7 +114,7 @@ describe 'GraphQL' do
post_graphql
(
query
,
headers:
{
'PRIVATE-TOKEN'
=>
token
.
token
})
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
graphql_data
[
'echo'
]).
to
eq
(
'nil says: Hello world'
)
end
...
...
spec/requests/api/group_boards_spec.rb
View file @
55c6405b
...
...
@@ -50,7 +50,7 @@ describe API::GroupBoards do
post
api
(
url
,
user
),
params:
{
label_id:
project_label
.
id
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
end
spec/requests/api/group_clusters_spec.rb
View file @
55c6405b
...
...
@@ -26,7 +26,7 @@ describe API::GroupClusters do
it
'responds with 403'
do
get
api
(
"/groups/
#{
group
.
id
}
/clusters"
,
developer_user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -36,7 +36,7 @@ describe API::GroupClusters do
end
it
'responds with 200'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
it
'includes pagination headers'
do
...
...
@@ -70,7 +70,7 @@ describe API::GroupClusters do
it
'responds with 403'
do
get
api
(
"/groups/
#{
group
.
id
}
/clusters/
#{
cluster_id
}
"
,
developer_user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -140,7 +140,7 @@ describe API::GroupClusters do
let
(
:cluster_id
)
{
123
}
it
'returns 404'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -179,7 +179,7 @@ describe API::GroupClusters do
it
'responds with 403'
do
post
api
(
"/groups/
#{
group
.
id
}
/clusters/user"
,
developer_user
),
params:
cluster_params
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -190,7 +190,7 @@ describe API::GroupClusters do
context
'with valid params'
do
it
'responds with 201'
do
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
it
'creates a new Cluster::Cluster'
do
...
...
@@ -238,7 +238,7 @@ describe API::GroupClusters do
let
(
:api_url
)
{
'invalid_api_url'
}
it
'responds with 400'
do
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'does not create a new Clusters::Cluster'
do
...
...
@@ -260,7 +260,7 @@ describe API::GroupClusters do
end
it
'responds with 400'
do
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'base'
].
first
).
to
eq
(
_
(
'Instance does not support multiple Kubernetes clusters'
))
end
end
...
...
@@ -271,7 +271,7 @@ describe API::GroupClusters do
end
it
'responds with 403'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
expect
(
json_response
[
'message'
]).
to
eq
(
'403 Forbidden'
)
end
...
...
@@ -305,7 +305,7 @@ describe API::GroupClusters do
it
'responds with 403'
do
put
api
(
"/groups/
#{
group
.
id
}
/clusters/
#{
cluster
.
id
}
"
,
developer_user
),
params:
update_params
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -320,7 +320,7 @@ describe API::GroupClusters do
context
'with valid params'
do
it
'responds with 200'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
it
'updates cluster attributes'
do
...
...
@@ -333,7 +333,7 @@ describe API::GroupClusters do
let
(
:domain
)
{
'invalid domain'
}
it
'responds with 400'
do
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'does not update cluster attributes'
do
...
...
@@ -350,7 +350,7 @@ describe API::GroupClusters do
let
(
:management_project_id
)
{
create
(
:project
).
id
}
it
'responds with 400'
do
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns validation errors'
do
...
...
@@ -368,7 +368,7 @@ describe API::GroupClusters do
end
it
'responds with 400'
do
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns validation error'
do
...
...
@@ -380,7 +380,7 @@ describe API::GroupClusters do
let
(
:domain
)
{
'new-domain.com'
}
it
'responds with 200'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
end
...
...
@@ -408,7 +408,7 @@ describe API::GroupClusters do
end
it
'responds with 200'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
it
'updates platform kubernetes attributes'
do
...
...
@@ -424,7 +424,7 @@ describe API::GroupClusters do
let
(
:cluster
)
{
create
(
:cluster
,
:group
,
:provided_by_user
)
}
it
'responds with 404'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -442,7 +442,7 @@ describe API::GroupClusters do
it
'responds with 403'
do
delete
api
(
"/groups/
#{
group
.
id
}
/clusters/
#{
cluster
.
id
}
"
,
developer_user
),
params:
cluster_params
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -452,7 +452,7 @@ describe API::GroupClusters do
end
it
'responds with 204'
do
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
it
'deletes the cluster'
do
...
...
@@ -463,7 +463,7 @@ describe API::GroupClusters do
let
(
:cluster
)
{
create
(
:cluster
,
:group
,
:provided_by_user
)
}
it
'responds with 404'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/group_export_spec.rb
View file @
55c6405b
...
...
@@ -44,7 +44,7 @@ describe API::GroupExport do
it
'downloads exported group archive'
do
get
api
(
download_path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
context
'when export_file.file does not exist'
do
...
...
@@ -57,7 +57,7 @@ describe API::GroupExport do
it
'returns 404'
do
get
api
(
download_path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -66,7 +66,7 @@ describe API::GroupExport do
it
'returns 404'
do
get
api
(
download_path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -79,7 +79,7 @@ describe API::GroupExport do
it
'responds with 404 Not Found'
do
get
api
(
download_path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -98,7 +98,7 @@ describe API::GroupExport do
it
'accepts download'
do
post
api
(
path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
end
...
...
@@ -110,7 +110,7 @@ describe API::GroupExport do
it
'forbids the request'
do
post
api
(
path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -123,7 +123,7 @@ describe API::GroupExport do
it
'responds with 404 Not Found'
do
post
api
(
path
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/group_import_spec.rb
View file @
55c6405b
...
...
@@ -42,7 +42,7 @@ describe API::GroupImport do
it
'creates new group and accepts request'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
it
'creates private group'
do
...
...
@@ -63,7 +63,7 @@ describe API::GroupImport do
subject
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
expect
(
group
.
children
.
count
).
to
eq
(
1
)
end
...
...
@@ -81,7 +81,7 @@ describe API::GroupImport do
subject
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
expect
(
public_parent_group
.
children
.
first
.
visibility_level
).
to
eq
(
Gitlab
::
VisibilityLevel
::
PUBLIC
)
end
...
...
@@ -90,7 +90,7 @@ describe API::GroupImport do
subject
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
expect
(
internal_parent_group
.
children
.
first
.
visibility_level
).
to
eq
(
Gitlab
::
VisibilityLevel
::
INTERNAL
)
end
end
...
...
@@ -101,7 +101,7 @@ describe API::GroupImport do
expect
{
subject
}.
not_to
change
{
Group
.
count
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Group Not Found'
)
end
...
...
@@ -111,7 +111,7 @@ describe API::GroupImport do
subject
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
expect
(
json_response
[
'message'
]).
to
eq
(
'403 Forbidden'
)
end
end
...
...
@@ -128,7 +128,7 @@ describe API::GroupImport do
it
'returns 400 HTTP status'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
end
...
...
@@ -139,7 +139,7 @@ describe API::GroupImport do
it
'forbids the request'
do
subject
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -154,7 +154,7 @@ describe API::GroupImport do
post
api
(
'/groups/import'
,
user
),
params:
params
,
headers:
workhorse_header
end
.
not_to
change
{
Group
.
count
}.
from
(
1
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
error_message
)
end
end
...
...
spec/requests/api/group_labels_spec.rb
View file @
55c6405b
...
...
@@ -15,7 +15,7 @@ describe API::GroupLabels do
it
'returns all available labels for the group'
do
get
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label'
))
...
...
@@ -27,7 +27,7 @@ describe API::GroupLabels do
it
'includes counts in the response'
do
get
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
with_counts:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label_with_counts'
))
...
...
@@ -42,7 +42,7 @@ describe API::GroupLabels do
it
'returns all available labels for the group and ancestor groups'
do
get
api
(
"/groups/
#{
subgroup
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label'
))
...
...
@@ -55,7 +55,7 @@ describe API::GroupLabels do
it
'returns all available labels for the group but not for ancestor groups'
do
get
api
(
"/groups/
#{
subgroup
.
id
}
/labels"
,
user
),
params:
{
include_ancestor_groups:
false
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label'
))
...
...
@@ -69,7 +69,7 @@ describe API::GroupLabels do
it
'returns a single label for the group'
do
get
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
name
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
group_label1
.
name
)
expect
(
json_response
[
'color'
]).
to
eq
(
group_label1
.
color
)
expect
(
json_response
[
'description'
]).
to
eq
(
group_label1
.
description
)
...
...
@@ -85,7 +85,7 @@ describe API::GroupLabels do
description:
'test'
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
'Foo'
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFAABB'
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
...
...
@@ -107,13 +107,13 @@ describe API::GroupLabels do
it
'returns a 400 bad request if name not given'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns a 400 bad request if color is not given'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
name:
'Foobar'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns 409 if label already exists'
do
...
...
@@ -123,7 +123,7 @@ describe API::GroupLabels do
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
409
)
expect
(
response
).
to
have_gitlab_http_status
(
:conflict
)
expect
(
json_response
[
'message'
]).
to
eq
(
'Label already exists'
)
end
end
...
...
@@ -132,20 +132,20 @@ describe API::GroupLabels do
it
'returns 204 for existing label'
do
delete
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
name:
group_label1
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
it
'returns 404 for non existing label'
do
delete
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
name:
'not_exists'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Label Not Found'
)
end
it
'returns 400 for wrong parameters'
do
delete
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
"does not delete parent's group labels"
do
...
...
@@ -154,7 +154,7 @@ describe API::GroupLabels do
delete
api
(
"/groups/
#{
subgroup
.
id
}
/labels"
,
user
),
params:
{
name:
subgroup_label
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
expect
(
subgroup
.
labels
.
size
).
to
eq
(
0
)
expect
(
group
.
labels
).
to
include
(
group_label1
)
end
...
...
@@ -169,13 +169,13 @@ describe API::GroupLabels do
it
'returns 204 for existing label'
do
delete
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
name
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
it
'returns 404 for non existing label'
do
delete
api
(
"/groups/
#{
group
.
id
}
/labels/not_exists"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Label Not Found'
)
end
...
...
@@ -185,7 +185,7 @@ describe API::GroupLabels do
delete
api
(
"/groups/
#{
subgroup
.
id
}
/labels/
#{
subgroup_label
.
name
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
expect
(
subgroup
.
labels
.
size
).
to
eq
(
0
)
expect
(
group
.
labels
).
to
include
(
group_label1
)
end
...
...
@@ -205,7 +205,7 @@ describe API::GroupLabels do
description:
'test'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
'New Label'
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFFFFF'
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
...
...
@@ -221,7 +221,7 @@ describe API::GroupLabels do
new_name:
'New Label'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
subgroup
.
labels
[
0
].
name
).
to
eq
(
'New Label'
)
expect
(
group_label1
.
name
).
to
eq
(
'feature'
)
end
...
...
@@ -233,20 +233,20 @@ describe API::GroupLabels do
new_name:
'label3'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 400 if no label name given'
do
put
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
new_name:
group_label1
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'label_id, name are missing, exactly one parameter must be provided'
)
end
it
'returns 400 if no new parameters given'
do
put
api
(
"/groups/
#{
group
.
id
}
/labels"
,
user
),
params:
{
name:
group_label1
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'new_name, color, description are missing, '
\
'at least one parameter must be provided'
)
end
...
...
@@ -261,7 +261,7 @@ describe API::GroupLabels do
description:
'test'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
'New Label'
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFFFFF'
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
...
...
@@ -276,7 +276,7 @@ describe API::GroupLabels do
new_name:
'New Label'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
subgroup
.
labels
[
0
].
name
).
to
eq
(
'New Label'
)
expect
(
group_label1
.
name
).
to
eq
(
'feature'
)
end
...
...
@@ -287,13 +287,13 @@ describe API::GroupLabels do
new_name:
'label3'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 400 if no new parameters given'
do
put
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
name
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'new_name, color, description are missing, '
\
'at least one parameter must be provided'
)
end
...
...
@@ -304,7 +304,7 @@ describe API::GroupLabels do
it
'subscribes to the label'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
title
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
group_label1
.
title
)
expect
(
json_response
[
'subscribed'
]).
to
be_truthy
end
...
...
@@ -314,7 +314,7 @@ describe API::GroupLabels do
it
'subscribes to the label'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
id
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
group_label1
.
title
)
expect
(
json_response
[
'subscribed'
]).
to
be_truthy
end
...
...
@@ -328,7 +328,7 @@ describe API::GroupLabels do
it
'returns 304'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
id
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
304
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_modified
)
end
end
...
...
@@ -336,7 +336,7 @@ describe API::GroupLabels do
it
'returns 404 error'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/1234/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -350,7 +350,7 @@ describe API::GroupLabels do
it
'unsubscribes from the label'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
title
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
group_label1
.
title
)
expect
(
json_response
[
'subscribed'
]).
to
be_falsey
end
...
...
@@ -360,7 +360,7 @@ describe API::GroupLabels do
it
'unsubscribes from the label'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
id
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
group_label1
.
title
)
expect
(
json_response
[
'subscribed'
]).
to
be_falsey
end
...
...
@@ -374,7 +374,7 @@ describe API::GroupLabels do
it
'returns 304'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/
#{
group_label1
.
id
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
304
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_modified
)
end
end
...
...
@@ -382,7 +382,7 @@ describe API::GroupLabels do
it
'returns 404 error'
do
post
api
(
"/groups/
#{
group
.
id
}
/labels/1234/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/group_variables_spec.rb
View file @
55c6405b
...
...
@@ -17,7 +17,7 @@ describe API::GroupVariables do
it
'returns group variables'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_a
(
Array
)
end
end
...
...
@@ -26,7 +26,7 @@ describe API::GroupVariables do
it
'does not return group variables'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -34,7 +34,7 @@ describe API::GroupVariables do
it
'does not return group variables'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -50,7 +50,7 @@ describe API::GroupVariables do
it
'returns group variable details'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'value'
]).
to
eq
(
variable
.
value
)
expect
(
json_response
[
'protected'
]).
to
eq
(
variable
.
protected?
)
expect
(
json_response
[
'variable_type'
]).
to
eq
(
variable
.
variable_type
)
...
...
@@ -59,7 +59,7 @@ describe API::GroupVariables do
it
'responds with 404 Not Found if requesting non-existing variable'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables/non_existing_variable"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -67,7 +67,7 @@ describe API::GroupVariables do
it
'does not return group variable details'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -75,7 +75,7 @@ describe API::GroupVariables do
it
'does not return group variable details'
do
get
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -93,7 +93,7 @@ describe API::GroupVariables do
post
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
),
params:
{
key:
'TEST_VARIABLE_2'
,
value:
'PROTECTED_VALUE_2'
,
protected:
true
,
masked:
true
}
end
.
to
change
{
group
.
variables
.
count
}.
by
(
1
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'key'
]).
to
eq
(
'TEST_VARIABLE_2'
)
expect
(
json_response
[
'value'
]).
to
eq
(
'PROTECTED_VALUE_2'
)
expect
(
json_response
[
'protected'
]).
to
be_truthy
...
...
@@ -106,7 +106,7 @@ describe API::GroupVariables do
post
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
),
params:
{
variable_type:
'file'
,
key:
'TEST_VARIABLE_2'
,
value:
'VALUE_2'
}
end
.
to
change
{
group
.
variables
.
count
}.
by
(
1
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'key'
]).
to
eq
(
'TEST_VARIABLE_2'
)
expect
(
json_response
[
'value'
]).
to
eq
(
'VALUE_2'
)
expect
(
json_response
[
'protected'
]).
to
be_falsey
...
...
@@ -119,7 +119,7 @@ describe API::GroupVariables do
post
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
),
params:
{
key:
variable
.
key
,
value:
'VALUE_2'
}
end
.
to
change
{
group
.
variables
.
count
}.
by
(
0
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
...
...
@@ -127,7 +127,7 @@ describe API::GroupVariables do
it
'does not create variable'
do
post
api
(
"/groups/
#{
group
.
id
}
/variables"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -135,7 +135,7 @@ describe API::GroupVariables do
it
'does not create variable'
do
post
api
(
"/groups/
#{
group
.
id
}
/variables"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -156,7 +156,7 @@ describe API::GroupVariables do
updated_variable
=
group
.
variables
.
reload
.
first
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
value_before
).
to
eq
(
variable
.
value
)
expect
(
updated_variable
.
value
).
to
eq
(
'VALUE_1_UP'
)
expect
(
updated_variable
).
to
be_protected
...
...
@@ -167,7 +167,7 @@ describe API::GroupVariables do
it
'responds with 404 Not Found if requesting non-existing variable'
do
put
api
(
"/groups/
#{
group
.
id
}
/variables/non_existing_variable"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -175,7 +175,7 @@ describe API::GroupVariables do
it
'does not update variable'
do
put
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -183,7 +183,7 @@ describe API::GroupVariables do
it
'does not update variable'
do
put
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -200,14 +200,14 @@ describe API::GroupVariables do
expect
do
delete
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
.
to
change
{
group
.
variables
.
count
}.
by
(
-
1
)
end
it
'responds with 404 Not Found if requesting non-existing variable'
do
delete
api
(
"/groups/
#{
group
.
id
}
/variables/non_existing_variable"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it_behaves_like
'412 response'
do
...
...
@@ -219,7 +219,7 @@ describe API::GroupVariables do
it
'does not delete variable'
do
delete
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -227,7 +227,7 @@ describe API::GroupVariables do
it
'does not delete variable'
do
delete
api
(
"/groups/
#{
group
.
id
}
/variables/
#{
variable
.
key
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
spec/requests/api/groups_spec.rb
View file @
55c6405b
...
...
@@ -26,7 +26,7 @@ describe API::Groups do
it
"returns public groups"
do
get
api
(
"/groups"
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -54,7 +54,7 @@ describe API::Groups do
it
"normal user: returns an array of groups of user1"
do
get
api
(
"/groups"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -65,7 +65,7 @@ describe API::Groups do
it
"does not include runners_token information"
do
get
api
(
"/groups"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -75,7 +75,7 @@ describe API::Groups do
it
"does not include statistics"
do
get
api
(
"/groups"
,
user1
),
params:
{
statistics:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
).
not_to
include
'statistics'
...
...
@@ -86,7 +86,7 @@ describe API::Groups do
it
"admin: returns an array of all groups"
do
get
api
(
"/groups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
2
)
...
...
@@ -95,7 +95,7 @@ describe API::Groups do
it
"does not include runners_token information"
do
get
api
(
"/groups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
2
)
...
...
@@ -105,7 +105,7 @@ describe API::Groups do
it
"does not include statistics by default"
do
get
api
(
"/groups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
).
not_to
include
(
'statistics'
)
...
...
@@ -126,7 +126,7 @@ describe API::Groups do
get
api
(
"/groups"
,
admin
),
params:
{
statistics:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
)
...
...
@@ -138,7 +138,7 @@ describe API::Groups do
it
"returns all groups excluding skipped groups"
do
get
api
(
"/groups"
,
admin
),
params:
{
skip_groups:
[
group2
.
id
]
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -153,7 +153,7 @@ describe API::Groups do
get
api
(
"/groups"
,
user1
),
params:
{
all_available:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
contain_exactly
(
public_group
.
name
,
group1
.
name
)
...
...
@@ -176,7 +176,7 @@ describe API::Groups do
it
"sorts by name ascending by default"
do
get
api
(
"/groups"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
(
groups_visible_to_user
(
user1
).
order
(
:name
).
pluck
(
:name
))
...
...
@@ -185,7 +185,7 @@ describe API::Groups do
it
"sorts in descending order when passed"
do
get
api
(
"/groups"
,
user1
),
params:
{
sort:
"desc"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
(
groups_visible_to_user
(
user1
).
order
(
name: :desc
).
pluck
(
:name
))
...
...
@@ -194,7 +194,7 @@ describe API::Groups do
it
"sorts by path in order_by param"
do
get
api
(
"/groups"
,
user1
),
params:
{
order_by:
"path"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
(
groups_visible_to_user
(
user1
).
order
(
:path
).
pluck
(
:name
))
...
...
@@ -203,7 +203,7 @@ describe API::Groups do
it
"sorts by id in the order_by param"
do
get
api
(
"/groups"
,
user1
),
params:
{
order_by:
"id"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
(
groups_visible_to_user
(
user1
).
order
(
:id
).
pluck
(
:name
))
...
...
@@ -212,7 +212,7 @@ describe API::Groups do
it
"sorts also by descending id with pagination fix"
do
get
api
(
"/groups"
,
user1
),
params:
{
order_by:
"id"
,
sort:
"desc"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
(
groups_visible_to_user
(
user1
).
order
(
id: :desc
).
pluck
(
:name
))
...
...
@@ -221,7 +221,7 @@ describe API::Groups do
it
"sorts identical keys by id for good pagination"
do
get
api
(
"/groups"
,
user1
),
params:
{
search:
"same-name"
,
order_by:
"name"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups_ids
).
to
eq
(
Group
.
select
{
|
group
|
group
[
'name'
]
==
'same-name'
}.
map
{
|
group
|
group
[
'id'
]
}.
sort
)
...
...
@@ -230,7 +230,7 @@ describe API::Groups do
it
"sorts descending identical keys by id for good pagination"
do
get
api
(
"/groups"
,
user1
),
params:
{
search:
"same-name"
,
order_by:
"name"
,
sort:
"desc"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups_ids
).
to
eq
(
Group
.
select
{
|
group
|
group
[
'name'
]
==
'same-name'
}.
map
{
|
group
|
group
[
'id'
]
}.
sort
)
...
...
@@ -247,7 +247,7 @@ describe API::Groups do
get
api
(
'/groups'
,
user2
),
params:
{
owned:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -267,7 +267,7 @@ describe API::Groups do
it
'returns an array of groups the user has at least master access'
do
get
api
(
'/groups'
,
user2
),
params:
{
min_access_level:
40
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
response_groups
).
to
eq
([
group2
.
id
,
group3
.
id
])
...
...
@@ -308,13 +308,13 @@ describe API::Groups do
it
'returns 404 for a private group'
do
get
api
(
"/groups/
#{
group2
.
id
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 200 for a public group'
do
get
api
(
"/groups/
#{
group1
.
id
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
not_to
include
(
'runners_token'
)
end
...
...
@@ -346,7 +346,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'id'
]).
to
eq
(
group1
.
id
)
expect
(
json_response
[
'name'
]).
to
eq
(
group1
.
name
)
expect
(
json_response
[
'path'
]).
to
eq
(
group1
.
path
)
...
...
@@ -379,7 +379,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
"
,
user1
),
params:
{
with_projects:
false
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'projects'
]).
to
be_nil
expect
(
json_response
[
'shared_projects'
]).
to
be_nil
expect
(
json_response
).
not_to
include
(
'runners_token'
)
...
...
@@ -388,7 +388,7 @@ describe API::Groups do
it
"doesn't return runners_token if the user is not the owner of the group"
do
get
api
(
"/groups/
#{
group1
.
id
}
"
,
user3
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
not_to
include
(
'runners_token'
)
end
...
...
@@ -396,20 +396,20 @@ describe API::Groups do
group1
.
add_owner
(
user3
)
get
api
(
"/groups/
#{
group1
.
id
}
"
,
user3
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
include
(
'runners_token'
)
end
it
"does not return a non existing group"
do
get
api
(
"/groups/1328"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
"does not return a group not attached to user1"
do
get
api
(
"/groups/
#{
group2
.
id
}
"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns only public and internal projects in the group'
do
...
...
@@ -451,21 +451,21 @@ describe API::Groups do
it
"returns any existing group"
do
get
api
(
"/groups/
#{
group2
.
id
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
group2
.
name
)
end
it
"returns information of the runners_token for the group"
do
get
api
(
"/groups/
#{
group2
.
id
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
include
(
'runners_token'
)
end
it
"does not return a non existing group"
do
get
api
(
"/groups/1328"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -473,20 +473,20 @@ describe API::Groups do
it
'returns any existing group'
do
get
api
(
"/groups/
#{
group1
.
path
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
group1
.
name
)
end
it
'does not return a non existing group'
do
get
api
(
'/groups/unknown'
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'does not return a group not attached to user1'
do
get
api
(
"/groups/
#{
group2
.
path
}
"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -548,7 +548,7 @@ describe API::Groups do
subgroup_creation_level:
"maintainer"
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
new_group_name
)
expect
(
json_response
[
'description'
]).
to
eq
(
''
)
expect
(
json_response
[
'visibility'
]).
to
eq
(
'public'
)
...
...
@@ -571,7 +571,7 @@ describe API::Groups do
it
'returns 404 for a non existing group'
do
put
api
(
'/groups/1328'
,
user1
),
params:
{
name:
new_group_name
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
context
'within a subgroup'
do
...
...
@@ -585,14 +585,14 @@ describe API::Groups do
it
'does not change visibility when not requested'
do
put
api
(
"/groups/
#{
group3
.
id
}
"
,
user3
),
params:
{
description:
'Bug #23083'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'visibility'
]).
to
eq
(
'public'
)
end
it
'prevents making private a group containing public subgroups'
do
put
api
(
"/groups/
#{
group3
.
id
}
"
,
user3
),
params:
{
visibility:
'private'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'visibility_level'
]).
to
contain_exactly
(
'private is not allowed since there are sub-groups with higher visibility.'
)
end
end
...
...
@@ -602,7 +602,7 @@ describe API::Groups do
it
'updates the group'
do
put
api
(
"/groups/
#{
group1
.
id
}
"
,
admin
),
params:
{
name:
new_group_name
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
new_group_name
)
end
end
...
...
@@ -611,7 +611,7 @@ describe API::Groups do
it
'does not updates the group'
do
put
api
(
"/groups/
#{
group1
.
id
}
"
,
user2
),
params:
{
name:
new_group_name
}
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -619,7 +619,7 @@ describe API::Groups do
it
'returns 404 when trying to update the group'
do
put
api
(
"/groups/
#{
group2
.
id
}
"
,
user1
),
params:
{
name:
new_group_name
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -645,7 +645,7 @@ describe API::Groups do
it
"returns the group's projects"
do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
.
length
).
to
eq
(
2
)
project_names
=
json_response
.
map
{
|
proj
|
proj
[
'name'
]
}
...
...
@@ -656,7 +656,7 @@ describe API::Groups do
it
"returns the group's projects with simple representation"
do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
),
params:
{
simple:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
.
length
).
to
eq
(
2
)
project_names
=
json_response
.
map
{
|
proj
|
proj
[
'name'
]
}
...
...
@@ -669,7 +669,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
),
params:
{
visibility:
'public'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
(
Array
)
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -683,7 +683,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
),
params:
{
with_shared:
false
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
(
Array
)
expect
(
json_response
.
length
).
to
eq
(
2
)
...
...
@@ -696,7 +696,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
),
params:
{
include_subgroups:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
(
Array
)
expect
(
json_response
.
length
).
to
eq
(
4
)
...
...
@@ -705,13 +705,13 @@ describe API::Groups do
it
"does not return a non existing group"
do
get
api
(
"/groups/1328/projects"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
"does not return a group not attached to user1"
do
get
api
(
"/groups/
#{
group2
.
id
}
/projects"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
"only returns projects to which user has access"
do
...
...
@@ -719,7 +719,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user3
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'name'
]).
to
eq
(
project3
.
name
)
...
...
@@ -730,7 +730,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
project2
.
group
.
id
}
/projects"
,
user3
),
params:
{
owned:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'name'
]).
to
eq
(
project2
.
name
)
end
...
...
@@ -740,7 +740,7 @@ describe API::Groups do
get
api
(
"/groups/
#{
group1
.
id
}
/projects"
,
user1
),
params:
{
starred:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'name'
]).
to
eq
(
project1
.
name
)
end
...
...
@@ -750,7 +750,7 @@ describe API::Groups do
it
"returns any existing group"
do
get
api
(
"/groups/
#{
group2
.
id
}
/projects"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'name'
]).
to
eq
(
project2
.
name
)
...
...
@@ -759,7 +759,7 @@ describe API::Groups do
it
"does not return a non existing group"
do
get
api
(
"/groups/1328/projects"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'avoids N+1 queries'
do
...
...
@@ -781,7 +781,7 @@ describe API::Groups do
it
'returns any existing group'
do
get
api
(
"/groups/
#{
group1
.
path
}
/projects"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
project_names
=
json_response
.
map
{
|
proj
|
proj
[
'name'
]
}
expect
(
project_names
).
to
match_array
([
project1
.
name
,
project3
.
name
])
...
...
@@ -790,13 +790,13 @@ describe API::Groups do
it
'does not return a non existing group'
do
get
api
(
'/groups/unknown/projects'
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'does not return a group not attached to user1'
do
get
api
(
"/groups/
#{
group2
.
path
}
/projects"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -810,7 +810,7 @@ describe API::Groups do
it
'returns only public subgroups'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
...
...
@@ -821,7 +821,7 @@ describe API::Groups do
it
'returns 404 for a private group'
do
get
api
(
"/groups/
#{
group2
.
id
}
/subgroups"
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -830,7 +830,7 @@ describe API::Groups do
it
'returns no subgroups for the public group'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
user2
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
0
)
end
...
...
@@ -839,7 +839,7 @@ describe API::Groups do
it
'returns public subgroups'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
user2
),
params:
{
all_available:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
[
0
][
'id'
]).
to
eq
(
subgroup1
.
id
)
...
...
@@ -852,7 +852,7 @@ describe API::Groups do
it
'returns 404 for the private group'
do
get
api
(
"/groups/
#{
group2
.
id
}
/subgroups"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -864,7 +864,7 @@ describe API::Groups do
it
'returns private subgroups'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
user2
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
2
)
...
...
@@ -878,7 +878,7 @@ describe API::Groups do
it
'does not include statistics'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
user2
),
params:
{
statistics:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
).
not_to
include
'statistics'
end
...
...
@@ -893,7 +893,7 @@ describe API::Groups do
it
'returns subgroups'
do
get
api
(
"/groups/
#{
group2
.
id
}
/subgroups"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
expect
(
json_response
.
first
[
'id'
]).
to
eq
(
subgroup3
.
id
)
...
...
@@ -906,7 +906,7 @@ describe API::Groups do
it
'returns private subgroups of a public group'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
2
)
end
...
...
@@ -914,7 +914,7 @@ describe API::Groups do
it
'returns subgroups of a private group'
do
get
api
(
"/groups/
#{
group2
.
id
}
/subgroups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
1
)
end
...
...
@@ -922,7 +922,7 @@ describe API::Groups do
it
'does not include statistics by default'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
).
not_to
include
(
'statistics'
)
end
...
...
@@ -930,7 +930,7 @@ describe API::Groups do
it
'includes statistics if requested'
do
get
api
(
"/groups/
#{
group1
.
id
}
/subgroups"
,
admin
),
params:
{
statistics:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
).
to
include
(
'statistics'
)
end
...
...
@@ -944,7 +944,7 @@ describe API::Groups do
post
api
(
"/groups"
,
user1
),
params:
group
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
context
'as owner'
do
...
...
@@ -955,7 +955,7 @@ describe API::Groups do
it
'can create subgroups'
do
post
api
(
"/groups"
,
user1
),
params:
{
parent_id:
group2
.
id
,
name:
'foo'
,
path:
'foo'
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
end
...
...
@@ -967,7 +967,7 @@ describe API::Groups do
it
'can create subgroups'
do
post
api
(
"/groups"
,
user1
),
params:
{
parent_id:
group2
.
id
,
name:
'foo'
,
path:
'foo'
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
end
end
...
...
@@ -978,7 +978,7 @@ describe API::Groups do
post
api
(
"/groups"
,
user3
),
params:
group
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"name"
]).
to
eq
(
group
[
:name
])
expect
(
json_response
[
"path"
]).
to
eq
(
group
[
:path
])
...
...
@@ -993,7 +993,7 @@ describe API::Groups do
post
api
(
"/groups"
,
user3
),
params:
group
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"full_path"
]).
to
eq
(
"
#{
parent
.
path
}
/
#{
group
[
:path
]
}
"
)
expect
(
json_response
[
"parent_id"
]).
to
eq
(
parent
.
id
)
...
...
@@ -1002,20 +1002,20 @@ describe API::Groups do
it
"does not create group, duplicate"
do
post
api
(
"/groups"
,
user3
),
params:
{
name:
'Duplicate Test'
,
path:
group2
.
path
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
response
.
message
).
to
eq
(
"Bad Request"
)
end
it
"returns 400 bad request error if name not given"
do
post
api
(
"/groups"
,
user3
),
params:
{
path:
group2
.
path
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
"returns 400 bad request error if path not given"
do
post
api
(
"/groups"
,
user3
),
params:
{
name:
'test'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
end
...
...
@@ -1027,7 +1027,7 @@ describe API::Groups do
expect
{
delete
api
(
"/groups/
#{
group1
.
id
}
"
,
user1
)
}.
to
change
(
GroupDestroyWorker
.
jobs
,
:size
).
by
(
1
)
end
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
it_behaves_like
'412 response'
do
...
...
@@ -1041,19 +1041,19 @@ describe API::Groups do
delete
api
(
"/groups/
#{
group1
.
id
}
"
,
user3
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
it
"does not remove a non existing group"
do
delete
api
(
"/groups/1328"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
"does not remove a group not attached to user1"
do
delete
api
(
"/groups/
#{
group2
.
id
}
"
,
user1
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -1061,13 +1061,13 @@ describe API::Groups do
it
"removes any existing group"
do
delete
api
(
"/groups/
#{
group2
.
id
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
202
)
expect
(
response
).
to
have_gitlab_http_status
(
:accepted
)
end
it
"does not remove a non existing group"
do
delete
api
(
"/groups/1328"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -1086,7 +1086,7 @@ describe API::Groups do
it
"does not transfer project to group"
do
post
api
(
"/groups/
#{
group1
.
id
}
/projects/
#{
project
.
id
}
"
,
user2
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -1094,7 +1094,7 @@ describe API::Groups do
it
"transfers project to group"
do
post
api
(
"/groups/
#{
group1
.
id
}
/projects/
#{
project
.
id
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
context
'when using project path in URL'
do
...
...
@@ -1102,7 +1102,7 @@ describe API::Groups do
it
"transfers project to group"
do
post
api
(
"/groups/
#{
group1
.
id
}
/projects/
#{
project_path
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
end
...
...
@@ -1110,7 +1110,7 @@ describe API::Groups do
it
"does not transfer project to group"
do
post
api
(
"/groups/
#{
group1
.
id
}
/projects/nogroup%2Fnoproject"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -1120,7 +1120,7 @@ describe API::Groups do
it
"transfers project to group"
do
post
api
(
"/groups/
#{
group1
.
path
}
/projects/
#{
project_path
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
end
end
...
...
@@ -1128,7 +1128,7 @@ describe API::Groups do
it
"does not transfer project to group"
do
post
api
(
"/groups/noexist/projects/
#{
project_path
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/helpers_spec.rb
View file @
55c6405b
...
...
@@ -269,7 +269,7 @@ describe API::Helpers do
# The 500 status is expected as we're testing a case where an exception
# is raised, but Grape shouldn't raise an additional exception
expect
(
response
).
to
have_gitlab_http_status
(
500
)
expect
(
response
).
to
have_gitlab_http_status
(
:internal_server_error
)
expect
(
json_response
[
'message'
]).
not_to
include
(
"undefined local variable or method `request'"
)
expect
(
json_response
[
'message'
]).
to
start_with
(
"
\n
RuntimeError (Runtime Error!):"
)
end
...
...
spec/requests/api/import_github_spec.rb
View file @
55c6405b
...
...
@@ -36,7 +36,7 @@ describe API::ImportGithub do
personal_access_token:
token
,
repo_id:
1234
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
).
to
be_a
Hash
expect
(
json_response
[
'name'
]).
to
eq
(
project
.
name
)
end
...
...
@@ -50,7 +50,7 @@ describe API::ImportGithub do
repo_id:
1234
}
expect
(
response
).
to
have_gitlab_http_status
(
422
)
expect
(
response
).
to
have_gitlab_http_status
(
:unprocessable_entity
)
end
end
end
spec/requests/api/jobs_spec.rb
View file @
55c6405b
...
...
@@ -66,7 +66,7 @@ describe API::Jobs do
context
'authorized user'
do
it
'returns project jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
end
...
...
@@ -122,7 +122,7 @@ describe API::Jobs do
let
(
:query
)
{
{
'scope'
=>
'pending'
}
}
it
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
end
end
...
...
@@ -131,7 +131,7 @@ describe API::Jobs do
let
(
:query
)
{
{
scope:
%w(pending running)
}
}
it
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
end
end
...
...
@@ -139,7 +139,7 @@ describe API::Jobs do
context
'respond 400 when scope contains invalid state'
do
let
(
:query
)
{
{
scope:
%w(unknown running)
}
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
400
)
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
}
end
end
...
...
@@ -148,7 +148,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return project jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -156,7 +156,7 @@ describe API::Jobs do
let
(
:api_user
)
{
guest
}
it
'does not return project jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -178,7 +178,7 @@ describe API::Jobs do
context
'authorized user'
do
it
'returns pipeline jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
end
...
...
@@ -210,7 +210,7 @@ describe API::Jobs do
let
(
:query
)
{
{
'scope'
=>
'pending'
}
}
it
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
end
end
...
...
@@ -219,7 +219,7 @@ describe API::Jobs do
let
(
:query
)
{
{
scope:
%w(pending running)
}
}
it
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Array
end
end
...
...
@@ -227,7 +227,7 @@ describe API::Jobs do
context
'respond 400 when scope contains invalid state'
do
let
(
:query
)
{
{
scope:
%w(unknown running)
}
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
400
)
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
}
end
context
'jobs in different pipelines'
do
...
...
@@ -257,7 +257,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -265,7 +265,7 @@ describe API::Jobs do
let
(
:api_user
)
{
guest
}
it
'does not return jobs'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -280,7 +280,7 @@ describe API::Jobs do
context
'authorized user'
do
it
'returns specific job data'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'id'
]).
to
eq
(
job
.
id
)
expect
(
json_response
[
'status'
]).
to
eq
(
job
.
status
)
expect
(
json_response
[
'stage'
]).
to
eq
(
job
.
stage
)
...
...
@@ -319,7 +319,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return specific job data'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -339,7 +339,7 @@ describe API::Jobs do
end
it
'returns status 401 (unauthorized)'
do
expect
(
response
).
to
have_
http_status
:unauthorized
expect
(
response
).
to
have_
gitlab_http_status
(
:unauthorized
)
end
end
...
...
@@ -349,7 +349,7 @@ describe API::Jobs do
end
it
'returns status 403 (forbidden)'
do
expect
(
response
).
to
have_
http_status
:forbidden
expect
(
response
).
to
have_
gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -362,7 +362,7 @@ describe API::Jobs do
end
it
'returns status 204 (no content)'
do
expect
(
response
).
to
have_
http_status
:no_content
expect
(
response
).
to
have_
gitlab_http_status
(
:no_content
)
end
end
end
...
...
@@ -386,7 +386,7 @@ describe API::Jobs do
get_artifact_file
(
artifact
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
end
...
...
@@ -398,7 +398,7 @@ describe API::Jobs do
get_artifact_file
(
artifact
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -410,7 +410,7 @@ describe API::Jobs do
get_artifact_file
(
artifact
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -423,7 +423,7 @@ describe API::Jobs do
get_artifact_file
(
artifact
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
)
.
to
include
(
'Content-Type'
=>
'application/json'
,
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -435,7 +435,7 @@ describe API::Jobs do
it
'does not return job artifact file'
do
get_artifact_file
(
'some/artifact'
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -453,7 +453,7 @@ describe API::Jobs do
end
it
'returns specific job artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
).
to
include
(
download_headers
)
expect
(
response
.
body
).
to
match_file
(
job
.
artifacts_file
.
file
.
file
)
end
...
...
@@ -476,7 +476,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return specific job artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -507,7 +507,7 @@ describe API::Jobs do
context
'when proxy download is disabled'
do
it
'returns location redirect'
do
expect
(
response
).
to
have_gitlab_http_status
(
302
)
expect
(
response
).
to
have_gitlab_http_status
(
:found
)
end
end
...
...
@@ -521,7 +521,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return specific job artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -557,7 +557,7 @@ describe API::Jobs do
it
'does not find a resource in a private project'
do
expect
(
project
).
to
be_private
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -569,7 +569,7 @@ describe API::Jobs do
end
it
'gives 403'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -604,7 +604,7 @@ describe API::Jobs do
%Q(attachment; filename="
#{
job
.
artifacts_file
.
filename
}
"; filename*=UTF-8''
#{
job
.
artifacts_file
.
filename
}
)
}
end
it
{
expect
(
response
).
to
have_http_status
(
:ok
)
}
it
{
expect
(
response
).
to
have_
gitlab_
http_status
(
:ok
)
}
it
{
expect
(
response
.
headers
.
to_h
).
to
include
(
download_headers
)
}
end
...
...
@@ -619,7 +619,7 @@ describe API::Jobs do
end
it
'returns location redirect'
do
expect
(
response
).
to
have_http_status
(
:found
)
expect
(
response
).
to
have_
gitlab_
http_status
(
:found
)
end
end
end
...
...
@@ -677,7 +677,7 @@ describe API::Jobs do
let
(
:public_builds
)
{
true
}
it
'allows to access artifacts'
,
:sidekiq_might_not_need_inline
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
)
.
to
include
(
'Content-Type'
=>
'application/json'
,
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -689,7 +689,7 @@ describe API::Jobs do
let
(
:public_builds
)
{
false
}
it
'rejects access to artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
expect
(
json_response
).
to
have_key
(
'message'
)
expect
(
response
.
headers
.
to_h
)
.
not_to
include
(
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -701,7 +701,7 @@ describe API::Jobs do
let
(
:public_builds
)
{
true
}
it
'rejects access and hides existence of artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
).
to
have_key
(
'message'
)
expect
(
response
.
headers
.
to_h
)
.
not_to
include
(
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -720,7 +720,7 @@ describe API::Jobs do
get_artifact_file
(
artifact
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
)
.
to
include
(
'Content-Type'
=>
'application/json'
,
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -737,7 +737,7 @@ describe API::Jobs do
it
'returns a specific artifact file for a valid path'
,
:sidekiq_might_not_need_inline
do
get_artifact_file
(
artifact
,
'improve/awesome'
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
headers
.
to_h
)
.
to
include
(
'Content-Type'
=>
'application/json'
,
'Gitlab-Workhorse-Send-Data'
=>
/artifacts-entry/
)
...
...
@@ -773,7 +773,7 @@ describe API::Jobs do
it
'does not return job artifact file'
do
get_artifact_file
(
'some/artifact'
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -803,7 +803,7 @@ describe API::Jobs do
end
it
'returns specific job trace'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
body
).
to
eq
(
job
.
trace
.
raw
)
end
end
...
...
@@ -812,7 +812,7 @@ describe API::Jobs do
let
(
:job
)
{
create
(
:ci_build
,
:trace_artifact
,
pipeline:
pipeline
)
}
it
'returns specific job trace'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
body
).
to
eq
(
job
.
trace
.
raw
)
end
end
...
...
@@ -821,7 +821,7 @@ describe API::Jobs do
let
(
:job
)
{
create
(
:ci_build
,
:trace_live
,
pipeline:
pipeline
)
}
it
'returns specific job trace'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
.
body
).
to
eq
(
job
.
trace
.
raw
)
end
end
...
...
@@ -831,7 +831,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not return specific job trace'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -844,7 +844,7 @@ describe API::Jobs do
context
'authorized user'
do
context
'user with :update_build persmission'
do
it
'cancels running or pending job'
do
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
project
.
builds
.
first
.
status
).
to
eq
(
'success'
)
end
end
...
...
@@ -853,7 +853,7 @@ describe API::Jobs do
let
(
:api_user
)
{
reporter
}
it
'does not cancel job'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -862,7 +862,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not cancel job'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -877,7 +877,7 @@ describe API::Jobs do
context
'authorized user'
do
context
'user with :update_build permission'
do
it
'retries non-running job'
do
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
project
.
builds
.
first
.
status
).
to
eq
(
'canceled'
)
expect
(
json_response
[
'status'
]).
to
eq
(
'pending'
)
end
...
...
@@ -887,7 +887,7 @@ describe API::Jobs do
let
(
:api_user
)
{
reporter
}
it
'does not retry job'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -896,7 +896,7 @@ describe API::Jobs do
let
(
:api_user
)
{
nil
}
it
'does not retry job'
do
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
end
...
...
@@ -914,7 +914,7 @@ describe API::Jobs do
let
(
:job
)
{
create
(
:ci_build
,
:trace_artifact
,
:artifacts
,
:test_reports
,
:success
,
project:
project
,
pipeline:
pipeline
)
}
it
'erases job content'
do
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
job
.
job_artifacts
.
count
).
to
eq
(
0
)
expect
(
job
.
trace
.
exist?
).
to
be_falsy
expect
(
job
.
artifacts_file
.
present?
).
to
be_falsy
...
...
@@ -934,7 +934,7 @@ describe API::Jobs do
let
(
:job
)
{
create
(
:ci_build
,
:trace_live
,
project:
project
,
pipeline:
pipeline
)
}
it
'responds with forbidden'
do
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
...
...
@@ -945,13 +945,13 @@ describe API::Jobs do
context
'when the build was created by the developer'
do
let
(
:owner
)
{
user
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
201
)
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
}
end
context
'when the build was created by the other'
do
let
(
:owner
)
{
create
(
:user
)
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
403
)
}
it
{
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
}
end
end
end
...
...
@@ -968,7 +968,7 @@ describe API::Jobs do
end
it
'keeps artifacts'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
job
.
reload
.
artifacts_expire_at
).
to
be_nil
end
end
...
...
@@ -977,7 +977,7 @@ describe API::Jobs do
let
(
:job
)
{
create
(
:ci_build
,
project:
project
,
pipeline:
pipeline
)
}
it
'responds with not found'
do
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -992,7 +992,7 @@ describe API::Jobs do
context
'when user is authorized to trigger a manual action'
do
it
'plays the job'
do
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
expect
(
json_response
[
'id'
]).
to
eq
(
job
.
id
)
expect
(
job
.
reload
).
to
be_pending
...
...
@@ -1005,7 +1005,7 @@ describe API::Jobs do
it
'does not trigger a manual action'
do
expect
(
job
.
reload
).
to
be_manual
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
...
...
@@ -1014,7 +1014,7 @@ describe API::Jobs do
it
'does not trigger a manual action'
do
expect
(
job
.
reload
).
to
be_manual
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
end
end
...
...
@@ -1022,7 +1022,7 @@ describe API::Jobs do
context
'on a non-playable job'
do
it
'returns a status code 400, Bad Request'
do
expect
(
response
).
to
have_gitlab_http_status
400
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
response
.
body
).
to
match
(
"Unplayable Job"
)
end
end
...
...
spec/requests/api/keys_spec.rb
View file @
55c6405b
...
...
@@ -12,21 +12,21 @@ describe API::Keys do
context
'when unauthenticated'
do
it
'returns authentication error'
do
get
api
(
"/keys/
#{
key
.
id
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
end
context
'when authenticated'
do
it
'returns 404 for non-existing key'
do
get
api
(
'/keys/0'
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Not found'
)
end
it
'returns single ssh key with user information'
do
user
.
keys
<<
key
get
api
(
"/keys/
#{
key
.
id
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'title'
]).
to
eq
(
key
.
title
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
expect
(
json_response
[
'user'
][
'username'
]).
to
eq
(
user
.
username
)
...
...
@@ -44,27 +44,27 @@ describe API::Keys do
it
'returns authentication error'
do
get
api
(
"/keys?fingerprint=
#{
key
.
fingerprint
}
"
)
expect
(
response
).
to
have_gitlab_http_status
(
401
)
expect
(
response
).
to
have_gitlab_http_status
(
:unauthorized
)
end
it
'returns authentication error when authenticated as user'
do
get
api
(
"/keys?fingerprint=
#{
key
.
fingerprint
}
"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
context
'when authenticated as admin'
do
it
'returns 404 for non-existing SSH md5 fingerprint'
do
get
api
(
"/keys?fingerprint=11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Key Not Found'
)
end
it
'returns 404 for non-existing SSH sha256 fingerprint'
do
get
api
(
"/keys?fingerprint=
#{
URI
.
encode_www_form_component
(
"SHA256:nUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo1lCg"
)
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Key Not Found'
)
end
...
...
@@ -73,7 +73,7 @@ describe API::Keys do
get
api
(
"/keys?fingerprint=
#{
key
.
fingerprint
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'title'
]).
to
eq
(
key
.
title
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
expect
(
json_response
[
'user'
][
'username'
]).
to
eq
(
user
.
username
)
...
...
@@ -84,7 +84,7 @@ describe API::Keys do
get
api
(
"/keys?fingerprint=
#{
URI
.
encode_www_form_component
(
"SHA256:"
+
key
.
fingerprint_sha256
)
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'title'
]).
to
eq
(
key
.
title
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
expect
(
json_response
[
'user'
][
'username'
]).
to
eq
(
user
.
username
)
...
...
@@ -95,7 +95,7 @@ describe API::Keys do
get
api
(
"/keys?fingerprint=
#{
URI
.
encode_www_form_component
(
"sha256:"
+
key
.
fingerprint_sha256
)
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'title'
]).
to
eq
(
key
.
title
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
expect
(
json_response
[
'user'
][
'username'
]).
to
eq
(
user
.
username
)
...
...
@@ -125,7 +125,7 @@ describe API::Keys do
get
api
(
"/keys?fingerprint=
#{
URI
.
encode_www_form_component
(
"SHA256:"
+
deploy_key
.
fingerprint_sha256
)
}
"
,
admin
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'title'
]).
to
eq
(
deploy_key
.
title
)
expect
(
json_response
[
'user'
][
'id'
]).
to
eq
(
user
.
id
)
...
...
spec/requests/api/labels_spec.rb
View file @
55c6405b
...
...
@@ -27,7 +27,7 @@ describe API::Labels do
it
"returns 200 if name is changed (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
new_name:
'New Label'
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
'New Label'
)
expect
(
json_response
[
'color'
]).
to
eq
(
label1
.
color
)
end
...
...
@@ -35,7 +35,7 @@ describe API::Labels do
it
"returns 200 if colors is changed (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
color:
'#FFFFFF'
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
label1
.
name
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFFFFF'
)
end
...
...
@@ -51,7 +51,7 @@ describe API::Labels do
it
"returns 400 if no new parameters given (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'new_name, color, description, priority are missing, '
\
'at least one parameter must be provided'
)
end
...
...
@@ -59,27 +59,27 @@ describe API::Labels do
it
"returns 400 when color code is too short (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
color:
'#FF'
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'color'
]).
to
eq
([
'must be a valid color code'
])
end
it
"returns 400 for too long color code (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
color:
'#FFAAFFFF'
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'color'
]).
to
eq
([
'must be a valid color code'
])
end
it
"returns 400 for invalid priority (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
priority:
'foo'
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
"returns 200 if name and colors and description are changed (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
new_name:
'New Label'
,
color:
'#FFFFFF'
,
description:
'test'
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
'New Label'
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFFFFF'
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
...
...
@@ -88,14 +88,14 @@ describe API::Labels do
it
"returns 400 for invalid name (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
new_name:
','
,
color:
'#FFFFFF'
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'title'
]).
to
eq
([
'is invalid'
])
end
it
"returns 200 if description is changed (
#{
route_type
}
route)"
do
put_labels_api
(
route_type
,
user
,
spec_params
,
description:
'test'
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'id'
]).
to
eq
(
expected_response_label_id
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
end
...
...
@@ -162,14 +162,14 @@ describe API::Labels do
it
'returns 204 for existing label (deprecated route)'
do
delete
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
spec_params
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
it
'returns 204 for existing label (rest route)'
do
label_id
=
spec_params
[
:name
]
||
spec_params
[
:label_id
]
delete
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label_id
}
"
,
user
),
params:
spec_params
.
except
(
:name
,
:label_id
)
expect
(
response
).
to
have_gitlab_http_status
(
204
)
expect
(
response
).
to
have_gitlab_http_status
(
:no_content
)
end
end
...
...
@@ -188,7 +188,7 @@ describe API::Labels do
it
'returns all available labels to the project'
do
get
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/project_label'
))
expect
(
json_response
.
size
).
to
eq
(
3
)
...
...
@@ -205,7 +205,7 @@ describe API::Labels do
it
'includes counts in the response'
do
get
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
with_counts:
true
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/project_label_with_counts'
))
expect
(
json_response
.
size
).
to
eq
(
3
)
...
...
@@ -264,7 +264,7 @@ describe API::Labels do
it
'returns all available labels for the project, parent group and ancestor groups'
do
get
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label'
))
...
...
@@ -287,7 +287,7 @@ describe API::Labels do
it
'returns all available labels for the project and the parent group only'
do
get
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
include_ancestor_groups:
false
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
response
).
to
include_pagination_headers
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
).
to
all
(
match_schema
(
'public_api/v4/labels/label'
))
...
...
@@ -307,7 +307,7 @@ describe API::Labels do
priority:
2
}
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
'name'
]).
to
eq
(
'Foo'
)
expect
(
json_response
[
'color'
]).
to
eq
(
'#FFAABB'
)
expect
(
json_response
[
'description'
]).
to
eq
(
'test'
)
...
...
@@ -345,12 +345,12 @@ describe API::Labels do
it
'returns a 400 bad request if name not given'
do
post
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns a 400 bad request if color not given'
do
post
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
name:
'Foobar'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns 400 for invalid color'
do
...
...
@@ -359,7 +359,7 @@ describe API::Labels do
name:
'Foo'
,
color:
'#FFAA'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'color'
]).
to
eq
([
'must be a valid color code'
])
end
...
...
@@ -369,7 +369,7 @@ describe API::Labels do
name:
'Foo'
,
color:
'#FFAAFFFF'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'color'
]).
to
eq
([
'must be a valid color code'
])
end
...
...
@@ -379,7 +379,7 @@ describe API::Labels do
name:
','
,
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'message'
][
'title'
]).
to
eq
([
'is invalid'
])
end
...
...
@@ -394,7 +394,7 @@ describe API::Labels do
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
409
)
expect
(
response
).
to
have_gitlab_http_status
(
:conflict
)
expect
(
json_response
[
'message'
]).
to
eq
(
'Label already exists'
)
end
...
...
@@ -406,7 +406,7 @@ describe API::Labels do
priority:
'foo'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'returns 409 if label already exists in project'
do
...
...
@@ -415,7 +415,7 @@ describe API::Labels do
name:
'label1'
,
color:
'#FFAABB'
}
expect
(
response
).
to
have_gitlab_http_status
(
409
)
expect
(
response
).
to
have_gitlab_http_status
(
:conflict
)
expect
(
json_response
[
'message'
]).
to
eq
(
'Label already exists'
)
end
end
...
...
@@ -432,14 +432,14 @@ describe API::Labels do
it
'returns 404 for non existing label'
do
delete
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
name:
'label2'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
expect
(
json_response
[
'message'
]).
to
eq
(
'404 Label Not Found'
)
end
it
'returns 400 for wrong parameters'
do
delete
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it
'fails if label_id and name are given in params'
do
...
...
@@ -449,7 +449,7 @@ describe API::Labels do
name:
priority_label
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
it_behaves_like
'412 response'
do
...
...
@@ -480,7 +480,7 @@ describe API::Labels do
new_name:
'label3'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 404 if label by id does not exist'
do
...
...
@@ -490,13 +490,13 @@ describe API::Labels do
new_name:
'label3'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 400 if no label name and id is given'
do
put
api
(
"/projects/
#{
project
.
id
}
/labels"
,
user
),
params:
{
new_name:
'label2'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'label_id, name are missing, exactly one parameter must be provided'
)
end
...
...
@@ -508,7 +508,7 @@ describe API::Labels do
new_name:
'New Label'
}
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
end
end
...
...
@@ -523,7 +523,7 @@ describe API::Labels do
it
'returns 200 if label is promoted'
do
put
api
(
"/projects/
#{
project
.
id
}
/labels/promote"
,
user
),
params:
{
name:
label1
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'name'
]).
to
eq
(
label1
.
name
)
expect
(
json_response
[
'color'
]).
to
eq
(
label1
.
color
)
end
...
...
@@ -535,7 +535,7 @@ describe API::Labels do
.
to
change
(
project
.
labels
,
:count
).
by
(
-
1
)
.
and
change
(
group
.
labels
,
:count
).
by
(
0
)
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
end
it
'returns 403 if guest promotes label'
do
...
...
@@ -544,19 +544,19 @@ describe API::Labels do
put
api
(
"/projects/
#{
project
.
id
}
/labels/promote"
,
guest
),
params:
{
name:
label1
.
name
}
expect
(
response
).
to
have_gitlab_http_status
(
403
)
expect
(
response
).
to
have_gitlab_http_status
(
:forbidden
)
end
it
'returns 404 if label does not exist'
do
put
api
(
"/projects/
#{
project
.
id
}
/labels/promote"
,
user
),
params:
{
name:
'unknown'
}
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
it
'returns 400 if no label name given'
do
put
api
(
"/projects/
#{
project
.
id
}
/labels/promote"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'name is missing'
)
end
end
...
...
@@ -566,7 +566,7 @@ describe API::Labels do
it
"subscribes to the label"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
title
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"name"
]).
to
eq
(
label1
.
title
)
expect
(
json_response
[
"subscribed"
]).
to
be_truthy
end
...
...
@@ -576,7 +576,7 @@ describe API::Labels do
it
"subscribes to the label"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
id
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"name"
]).
to
eq
(
label1
.
title
)
expect
(
json_response
[
"subscribed"
]).
to
be_truthy
end
...
...
@@ -590,7 +590,7 @@ describe API::Labels do
it
"returns 304"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
id
}
/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
304
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_modified
)
end
end
...
...
@@ -598,7 +598,7 @@ describe API::Labels do
it
"returns 404 error"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/1234/subscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
@@ -612,7 +612,7 @@ describe API::Labels do
it
"unsubscribes from the label"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
title
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"name"
]).
to
eq
(
label1
.
title
)
expect
(
json_response
[
"subscribed"
]).
to
be_falsey
end
...
...
@@ -622,7 +622,7 @@ describe API::Labels do
it
"unsubscribes from the label"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
id
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
201
)
expect
(
response
).
to
have_gitlab_http_status
(
:created
)
expect
(
json_response
[
"name"
]).
to
eq
(
label1
.
title
)
expect
(
json_response
[
"subscribed"
]).
to
be_falsey
end
...
...
@@ -636,7 +636,7 @@ describe API::Labels do
it
"returns 304"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/
#{
label1
.
id
}
/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
304
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_modified
)
end
end
...
...
@@ -644,7 +644,7 @@ describe API::Labels do
it
"returns 404 error"
do
post
api
(
"/projects/
#{
project
.
id
}
/labels/1234/unsubscribe"
,
user
)
expect
(
response
).
to
have_gitlab_http_status
(
404
)
expect
(
response
).
to
have_gitlab_http_status
(
:not_found
)
end
end
end
...
...
spec/requests/api/lint_spec.rb
View file @
55c6405b
...
...
@@ -12,7 +12,7 @@ describe API::Lint do
it
'passes validation'
do
post
api
(
'/ci/lint'
),
params:
{
content:
yaml_content
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
).
to
be_an
Hash
expect
(
json_response
[
'status'
]).
to
eq
(
'valid'
)
expect
(
json_response
[
'errors'
]).
to
eq
([])
...
...
@@ -23,7 +23,7 @@ describe API::Lint do
it
'responds with errors about invalid syntax'
do
post
api
(
'/ci/lint'
),
params:
{
content:
'invalid content'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'status'
]).
to
eq
(
'invalid'
)
expect
(
json_response
[
'errors'
]).
to
eq
([
'Invalid configuration format'
])
end
...
...
@@ -31,7 +31,7 @@ describe API::Lint do
it
"responds with errors about invalid configuration"
do
post
api
(
'/ci/lint'
),
params:
{
content:
'{ image: "ruby:2.1", services: ["postgres"] }'
}
expect
(
response
).
to
have_gitlab_http_status
(
200
)
expect
(
response
).
to
have_gitlab_http_status
(
:ok
)
expect
(
json_response
[
'status'
]).
to
eq
(
'invalid'
)
expect
(
json_response
[
'errors'
]).
to
eq
([
'jobs config should contain at least one visible job'
])
end
...
...
@@ -41,7 +41,7 @@ describe API::Lint do
it
'responds with validation error about missing content'
do
post
api
(
'/ci/lint'
)
expect
(
response
).
to
have_gitlab_http_status
(
400
)
expect
(
response
).
to
have_gitlab_http_status
(
:bad_request
)
expect
(
json_response
[
'error'
]).
to
eq
(
'content is missing'
)
end
end
...
...
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