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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
4a50e1f0
Commit
4a50e1f0
authored
Jun 01, 2016
by
Douwe Maan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'current-settings-use-request-store-during-request'
parents
c0f19cc9
c8eb1dcc
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
30 additions
and
21 deletions
+30
-21
CHANGELOG
CHANGELOG
+1
-0
app/models/application_setting.rb
app/models/application_setting.rb
+4
-0
lib/gitlab/current_settings.rb
lib/gitlab/current_settings.rb
+13
-9
spec/controllers/registrations_controller_spec.rb
spec/controllers/registrations_controller_spec.rb
+2
-2
spec/lib/gitlab/akismet_helper_spec.rb
spec/lib/gitlab/akismet_helper_spec.rb
+2
-2
spec/mailers/notify_spec.rb
spec/mailers/notify_spec.rb
+3
-3
spec/models/user_spec.rb
spec/models/user_spec.rb
+4
-4
spec/services/groups/create_service_spec.rb
spec/services/groups/create_service_spec.rb
+1
-1
No files found.
CHANGELOG
View file @
4a50e1f0
...
...
@@ -27,6 +27,7 @@ v 8.8.3
- Fix gitlab importer failing to import new projects due to missing credentials
- Fix import URL migration not rescuing with the correct Error
- In search results, only show notes on confidential issues that the user has access to
- Fix health check access token changing due to old application settings being used
v 8.8.2
- Added remove due date button. !4209
...
...
app/models/application_setting.rb
View file @
4a50e1f0
...
...
@@ -102,6 +102,10 @@ class ApplicationSetting < ActiveRecord::Base
Rails
.
cache
.
delete
(
CACHE_KEY
)
end
def
self
.
cached
Rails
.
cache
.
fetch
(
CACHE_KEY
)
end
def
self
.
create_from_defaults
create
(
default_projects_limit:
Settings
.
gitlab
[
'default_projects_limit'
],
...
...
lib/gitlab/current_settings.rb
View file @
4a50e1f0
module
Gitlab
module
CurrentSettings
def
current_application_settings
key
=
:current_application_settings
RequestStore
.
store
[
key
]
||=
begin
settings
=
nil
if
RequestStore
.
active?
RequestStore
.
fetch
(
:current_application_settings
)
{
ensure_application_settings!
}
else
ensure_application_settings!
end
end
if
connect_to_db?
settings
=
::
ApplicationSetting
.
current
settings
||=
::
ApplicationSetting
.
create_from_defaults
unless
ActiveRecord
::
Migrator
.
needs_migration?
end
def
ensure_application_settings!
settings
=
::
ApplicationSetting
.
cached
settings
||
fake_application_settings
if
!
settings
&&
connect_to_db?
settings
=
::
ApplicationSetting
.
current
settings
||=
::
ApplicationSetting
.
create_from_defaults
unless
ActiveRecord
::
Migrator
.
needs_migration?
end
settings
||
fake_application_settings
end
def
fake_application_settings
...
...
spec/controllers/registrations_controller_spec.rb
View file @
4a50e1f0
...
...
@@ -11,7 +11,7 @@ describe RegistrationsController do
let
(
:user_params
)
{
{
user:
{
name:
"new_user"
,
username:
"new_username"
,
email:
"new@user.com"
,
password:
"Any_password"
}
}
}
context
'when sending email confirmation'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
false
)
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
false
)
}
it
'logs user in directly'
do
post
(
:create
,
user_params
)
...
...
@@ -21,7 +21,7 @@ describe RegistrationsController do
end
context
'when not sending email confirmation'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
true
)
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
true
)
}
it
'does not authenticate user and sends confirmation email'
do
post
(
:create
,
user_params
)
...
...
spec/lib/gitlab/akismet_helper_spec.rb
View file @
4a50e1f0
...
...
@@ -6,8 +6,8 @@ describe Gitlab::AkismetHelper, type: :helper do
before
do
allow
(
Gitlab
.
config
.
gitlab
).
to
receive
(
:url
).
and_return
(
Settings
.
send
(
:build_gitlab_url
))
current_application_settings
.
akismet_enabled
=
true
current_application_settings
.
akismet_api_key
=
'12345'
allow_any_instance_of
(
ApplicationSetting
).
to
receive
(
:akismet_enabled
).
and_return
(
true
)
allow_any_instance_of
(
ApplicationSetting
).
to
receive
(
:akismet_api_key
).
and_return
(
'12345'
)
end
describe
'#check_for_spam?'
do
...
...
spec/mailers/notify_spec.rb
View file @
4a50e1f0
...
...
@@ -51,7 +51,7 @@ describe Notify do
context
'when enabled email_author_in_body'
do
before
do
allow
(
current_application_settings
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
end
it
'contains a link to note author'
do
...
...
@@ -230,7 +230,7 @@ describe Notify do
context
'when enabled email_author_in_body'
do
before
do
allow
(
current_application_settings
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
end
it
'contains a link to note author'
do
...
...
@@ -454,7 +454,7 @@ describe Notify do
context
'when enabled email_author_in_body'
do
before
do
allow
(
current_application_settings
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:email_author_in_body
).
and_return
(
true
)
end
it
'contains a link to note author'
do
...
...
spec/models/user_spec.rb
View file @
4a50e1f0
...
...
@@ -67,7 +67,7 @@ describe User, models: true do
describe
'email'
do
context
'when no signup domains listed'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:restricted_signup_domains
).
and_return
([])
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:restricted_signup_domains
).
and_return
([])
}
it
'accepts any email'
do
user
=
build
(
:user
,
email:
"info@example.com"
)
expect
(
user
).
to
be_valid
...
...
@@ -75,7 +75,7 @@ describe User, models: true do
end
context
'when a signup domain is listed and subdomains are allowed'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:restricted_signup_domains
).
and_return
([
'example.com'
,
'*.example.com'
])
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:restricted_signup_domains
).
and_return
([
'example.com'
,
'*.example.com'
])
}
it
'accepts info@example.com'
do
user
=
build
(
:user
,
email:
"info@example.com"
)
expect
(
user
).
to
be_valid
...
...
@@ -93,7 +93,7 @@ describe User, models: true do
end
context
'when a signup domain is listed and subdomains are not allowed'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:restricted_signup_domains
).
and_return
([
'example.com'
])
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:restricted_signup_domains
).
and_return
([
'example.com'
])
}
it
'accepts info@example.com'
do
user
=
build
(
:user
,
email:
"info@example.com"
)
...
...
@@ -141,7 +141,7 @@ describe User, models: true do
end
describe
'#confirm'
do
before
{
allow
(
current_application_settings
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
true
)
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:send_user_confirmation_email
).
and_return
(
true
)
}
let
(
:user
)
{
create
(
:user
,
confirmed_at:
nil
,
unconfirmed_email:
'test@gitlab.com'
)
}
it
'returns unconfirmed'
do
...
...
spec/services/groups/create_service_spec.rb
View file @
4a50e1f0
...
...
@@ -13,7 +13,7 @@ describe Groups::CreateService, services: true do
end
context
"cannot create group with restricted visibility level"
do
before
{
allow
(
current_application_settings
).
to
receive
(
:restricted_visibility_levels
).
and_return
([
Gitlab
::
VisibilityLevel
::
PUBLIC
])
}
before
{
allow
_any_instance_of
(
ApplicationSetting
).
to
receive
(
:restricted_visibility_levels
).
and_return
([
Gitlab
::
VisibilityLevel
::
PUBLIC
])
}
it
{
is_expected
.
not_to
be_persisted
}
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