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
0
Merge Requests
0
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
Boxiang Sun
gitlab-ce
Commits
ec3c3d2b
Commit
ec3c3d2b
authored
Feb 01, 2019
by
Mesut Güneş
Committed by
Rémy Coutable
Feb 01, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding a spec for issues/310
parent
8028a59d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
134 additions
and
4 deletions
+134
-4
app/views/admin/application_settings/_account_and_limit.html.haml
...s/admin/application_settings/_account_and_limit.html.haml
+2
-2
app/views/admin/application_settings/show.html.haml
app/views/admin/application_settings/show.html.haml
+1
-1
app/views/layouts/nav/sidebar/_admin.html.haml
app/views/layouts/nav/sidebar/_admin.html.haml
+1
-1
qa/qa.rb
qa/qa.rb
+2
-0
qa/qa/page/admin/menu.rb
qa/qa/page/admin/menu.rb
+9
-0
qa/qa/page/admin/settings/component/account_and_limit.rb
qa/qa/page/admin/settings/component/account_and_limit.rb
+26
-0
qa/qa/page/admin/settings/general.rb
qa/qa/page/admin/settings/general.rb
+23
-0
qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb
...r_ui/3_create/repository/push_over_http_file_size_spec.rb
+70
-0
No files found.
app/views/admin/application_settings/_account_and_limit.html.haml
View file @
ec3c3d2b
...
...
@@ -15,7 +15,7 @@
=
f
.
number_field
:max_attachment_size
,
class:
'form-control'
.form-group
=
f
.
label
:receive_max_input_size
,
'Maximum push size (MB)'
,
class:
'label-light'
=
f
.
number_field
:receive_max_input_size
,
class:
'form-control'
=
f
.
number_field
:receive_max_input_size
,
class:
'form-control
qa-receive-max-input-size-field
'
.form-group
=
f
.
label
:session_expire_delay
,
'Session duration (minutes)'
,
class:
'label-light'
=
f
.
number_field
:session_expire_delay
,
class:
'form-control'
...
...
@@ -46,4 +46,4 @@
=
f
.
label
:user_show_add_ssh_key_message
,
class:
'form-check-label'
do
Inform users without uploaded SSH keys that they can't push over SSH until one is added
=
f
.
submit
'Save changes'
,
class:
'btn btn-success'
=
f
.
submit
'Save changes'
,
class:
'btn btn-success
qa-save-changes-button
'
app/views/admin/application_settings/show.html.haml
View file @
ec3c3d2b
...
...
@@ -13,7 +13,7 @@
.settings-content
=
render
'visibility_and_access'
%section
.settings.as-account-limit.no-animate
#js-account-settings
{
class:
(
'expanded'
if
expanded_by_default?
)
}
%section
.settings.
qa-account-and-limit-settings.
as-account-limit.no-animate
#js-account-settings
{
class:
(
'expanded'
if
expanded_by_default?
)
}
.settings-header
%h4
=
_
(
'Account and limit'
)
...
...
app/views/layouts/nav/sidebar/_admin.html.haml
View file @
ec3c3d2b
...
...
@@ -207,7 +207,7 @@
=
_
(
'Settings'
)
%li
.divider.fly-out-top-item
=
nav_link
(
path:
'application_settings#show'
)
do
=
link_to
admin_application_settings_path
,
title:
_
(
'General'
)
do
=
link_to
admin_application_settings_path
,
title:
_
(
'General'
)
,
class:
'qa-admin-settings-general-item'
do
%span
=
_
(
'General'
)
=
nav_link
(
path:
'application_settings#integrations'
)
do
...
...
qa/qa.rb
View file @
ec3c3d2b
...
...
@@ -274,9 +274,11 @@ module QA
module
Settings
autoload
:Repository
,
'qa/page/admin/settings/repository'
autoload
:General
,
'qa/page/admin/settings/general'
module
Component
autoload
:RepositoryStorage
,
'qa/page/admin/settings/component/repository_storage'
autoload
:AccountAndLimit
,
'qa/page/admin/settings/component/account_and_limit'
end
end
end
...
...
qa/qa/page/admin/menu.rb
View file @
ec3c3d2b
...
...
@@ -9,6 +9,7 @@ module QA
element
:admin_sidebar_submenu
element
:admin_settings_item
element
:admin_settings_repository_item
element
:admin_settings_general_item
end
def
go_to_repository_settings
...
...
@@ -19,6 +20,14 @@ module QA
end
end
def
go_to_general_settings
hover_settings
do
within_submenu
do
click_element
:admin_settings_general_item
end
end
end
private
def
hover_settings
...
...
qa/qa/page/admin/settings/component/account_and_limit.rb
0 → 100644
View file @
ec3c3d2b
# frozen_string_literal: true
module
QA
module
Page
module
Admin
module
Settings
module
Component
class
AccountAndLimit
<
Page
::
Base
view
'app/views/admin/application_settings/_account_and_limit.html.haml'
do
element
:receive_max_input_size_field
element
:save_changes_button
end
def
set_max_file_size
(
size
)
fill_element
:receive_max_input_size_field
,
size
end
def
save_settings
click_element
:save_changes_button
end
end
end
end
end
end
end
qa/qa/page/admin/settings/general.rb
0 → 100644
View file @
ec3c3d2b
# frozen_string_literal: true
module
QA
module
Page
module
Admin
module
Settings
class
General
<
Page
::
Base
include
QA
::
Page
::
Settings
::
Common
view
'app/views/admin/application_settings/show.html.haml'
do
element
:account_and_limit_settings
end
def
expand_account_and_limit
(
&
block
)
expand_section
(
:account_and_limit_settings
)
do
Component
::
AccountAndLimit
.
perform
(
&
block
)
end
end
end
end
end
end
end
qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb
0 → 100644
View file @
ec3c3d2b
# frozen_string_literal: true
module
QA
context
'Create'
do
describe
'push after setting the file size limit via admin/application_settings'
do
before
(
:all
)
do
push
=
Resource
::
Repository
::
ProjectPush
.
fabricate!
do
|
p
|
p
.
file_name
=
'README.md'
p
.
file_content
=
'# This is a test project'
p
.
commit_message
=
'Add README.md'
end
@project
=
push
.
project
end
before
do
Runtime
::
Browser
.
visit
(
:gitlab
,
Page
::
Main
::
Login
)
Page
::
Main
::
Login
.
perform
(
&
:sign_in_using_credentials
)
end
after
(
:all
)
do
# need to set the default value after test
# default value for file size limit is empty
Runtime
::
Browser
.
visit
(
:gitlab
,
Page
::
Main
::
Login
)
Page
::
Main
::
Login
.
perform
(
&
:sign_in_using_credentials
)
set_file_size_limit
(
''
)
end
it
'push successful when the file size is under the limit'
do
set_file_size_limit
(
5
)
expect
(
page
).
to
have_content
(
"Application settings saved successfully"
)
push
=
push_new_file
(
'oversize_file_1.bin'
)
expect
(
push
.
output
).
not_to
have_content
'remote: fatal: pack exceeds maximum allowed size'
end
it
'push fails when the file size is above the limit'
do
set_file_size_limit
(
1
)
expect
(
page
).
to
have_content
(
"Application settings saved successfully"
)
push
=
push_new_file
(
'oversize_file_2.bin'
)
expect
(
push
.
output
).
to
have_content
'remote: fatal: pack exceeds maximum allowed size'
end
def
set_file_size_limit
(
limit
)
Page
::
Main
::
Menu
.
perform
(
&
:go_to_admin_area
)
Page
::
Admin
::
Menu
.
perform
(
&
:go_to_general_settings
)
Page
::
Admin
::
Settings
::
General
.
perform
do
|
setting
|
setting
.
expand_account_and_limit
do
|
page
|
page
.
set_max_file_size
(
limit
)
page
.
save_settings
end
end
end
def
push_new_file
(
file_name
)
@project
.
visit!
Resource
::
Repository
::
ProjectPush
.
fabricate!
do
|
p
|
p
.
project
=
@project
p
.
file_name
=
file_name
p
.
file_content
=
SecureRandom
.
random_bytes
(
2000000
)
p
.
commit_message
=
'Adding a new file'
end
end
end
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