Skip to content

Add alias method usage_ping_enabled?

Alina Mihaila requested to merge am-usage_ping_enabled_issue into master

Related issue #333269 (closed)

What does this MR do?

  • In SubmitUsagePingService we check if Gitlab::CurrentSettings.usage_ping_enabled?

  • Gitlab::CurrentSettings.usage_ping_enabled? goes to Gitlab::CurrentSettings and forwards the usage_ping_enabled? method to ApplicationSettings. ApplicationSettings is including ApplicationSettingImplementation which makes sure that we can override configs from config files or the database.

    • In ApplicationSettingImplementation we have a method where we override usage_ping_enabled to account for the logic to first check if the config file has changed to false and then later check the database
    • However, when calling CurrentSettings.usage_ping_enabled? we do this with the ? version (which comes from ActiveRecord) so we don't go to the overridden usage_ping_enabled method and therefore we ignore the config settings.
  • With this MR we add alias_method :usage_ping_enabled?, :usage_ping_enabled This way we have the usage_ping_enabled? available for CurrentSettings module.

Testing scenarios

Scenario 1

Database enabled config disabled

Usage Ping should not be generated and sent

Scenario 2

Database disabled config enabled

Usage Ping should not be generated and sent

Scenario 3

Database disabled config disabled

Usage Ping should not be generated and sent

Scenario 3

Database enabled, config enabled

Usage Ping should be generated and sent

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Thong Kuah

Merge request reports