From fa518963ec7a703ddb321533884a49c516a4acd7 Mon Sep 17 00:00:00 2001
From: Victor Zagorodny <vzagorodny@gitlab.com>
Date: Fri, 8 Feb 2019 13:22:11 +0200
Subject: [PATCH] Protect group overview usage ping w/ feature flag

user_preferences key is includes into system usage
data only if group_overview_security_dashboard
feature flag is enabled; see
https://gitlab.com/gitlab-org/gitlab-ee/issues/7048
---
 lib/gitlab/usage_data.rb           | 7 +++++--
 spec/lib/gitlab/usage_data_spec.rb | 5 +++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb
index 4f70d6b689d..a65f4a8639c 100644
--- a/lib/gitlab/usage_data.rb
+++ b/lib/gitlab/usage_data.rb
@@ -93,8 +93,11 @@ module Gitlab
           }
           .merge(services_usage)
           .merge(approximate_counts)
-          .merge(user_preferences: user_preferences_usage)
-        }
+        }.tap do |data|
+          if Feature.enabled?(:group_overview_security_dashboard)
+            data[:counts][:user_preferences] = user_preferences_usage
+          end
+        end
       end
       # rubocop: enable CodeReuse/ActiveRecord
 
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb
index 52edc46d5e4..d3eae80cc56 100644
--- a/spec/lib/gitlab/usage_data_spec.rb
+++ b/spec/lib/gitlab/usage_data_spec.rb
@@ -128,6 +128,11 @@ describe Gitlab::UsageData do
       ))
     end
 
+    it 'does not gather user preferences usage data when the feature is disabled' do
+      stub_feature_flags(group_overview_security_dashboard: false)
+      expect(subject[:counts].keys).not_to include(:user_preferences)
+    end
+
     it 'gathers projects data correctly' do
       count_data = subject[:counts]
 
-- 
2.30.9