diff options
Diffstat (limited to 'spec/lib/gitlab/usage_data_spec.rb')
-rw-r--r-- | spec/lib/gitlab/usage_data_spec.rb | 73 |
1 files changed, 34 insertions, 39 deletions
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index 62787c5abaf..f2e864472c5 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -38,7 +38,7 @@ describe Gitlab::UsageData do subject { described_class.data } - it 'gathers usage data' do + it 'gathers usage data', :aggregate_failures do expect(subject.keys).to include(*%i( active_user_count counts @@ -55,6 +55,7 @@ describe Gitlab::UsageData do omniauth_enabled reply_by_email_enabled container_registry_enabled + dependency_proxy_enabled gitlab_shared_runners_enabled gitlab_pages git @@ -63,31 +64,29 @@ describe Gitlab::UsageData do avg_cycle_analytics influxdb_metrics_enabled prometheus_metrics_enabled - cycle_analytics_views - productivity_analytics_views )) - - expect(subject).to include( - snippet_create: a_kind_of(Integer), - snippet_update: a_kind_of(Integer), - snippet_comment: a_kind_of(Integer), - merge_request_comment: a_kind_of(Integer), - merge_request_create: a_kind_of(Integer), - commit_comment: a_kind_of(Integer), - wiki_pages_create: a_kind_of(Integer), - wiki_pages_update: a_kind_of(Integer), - wiki_pages_delete: a_kind_of(Integer), - web_ide_views: a_kind_of(Integer), - web_ide_commits: a_kind_of(Integer), - web_ide_merge_requests: a_kind_of(Integer), - navbar_searches: a_kind_of(Integer), - cycle_analytics_views: a_kind_of(Integer), - productivity_analytics_views: a_kind_of(Integer), - source_code_pushes: a_kind_of(Integer) - ) end it 'gathers usage counts' do + smau_keys = %i( + snippet_create + snippet_update + snippet_comment + merge_request_comment + merge_request_create + commit_comment + wiki_pages_create + wiki_pages_update + wiki_pages_delete + web_ide_views + web_ide_commits + web_ide_merge_requests + navbar_searches + cycle_analytics_views + productivity_analytics_views + source_code_pushes + ) + expected_keys = %i( assignee_lists boards @@ -152,18 +151,18 @@ describe Gitlab::UsageData do todos uploads web_hooks - user_preferences - ) + ).push(*smau_keys) count_data = subject[:counts] expect(count_data[:boards]).to eq(1) expect(count_data[:projects]).to eq(4) + expect(count_data.values_at(*smau_keys)).to all(be_an(Integer)) expect(count_data.keys).to include(*expected_keys) expect(expected_keys - count_data.keys).to be_empty end - it 'gathers projects data correctly' do + it 'gathers projects data correctly', :aggregate_failures do count_data = subject[:counts] expect(count_data[:projects]).to eq(4) @@ -209,11 +208,8 @@ describe Gitlab::UsageData do describe 'the results of calling #totals on all objects in the array' do subject { described_class.usage_data_counters.map(&:totals) } - it do - is_expected - .to all(be_a Hash) - .and all(have_attributes(keys: all(be_a Symbol), values: all(be_a Integer))) - end + it { is_expected.to all(be_a Hash) } + it { is_expected.to all(have_attributes(keys: all(be_a Symbol), values: all(be_a Integer))) } end it 'does not have any conflicts' do @@ -226,7 +222,7 @@ describe Gitlab::UsageData do describe '#features_usage_data_ce' do subject { described_class.features_usage_data_ce } - it 'gathers feature usage data' do + it 'gathers feature usage data', :aggregate_failures do expect(subject[:mattermost_enabled]).to eq(Gitlab.config.mattermost.enabled) expect(subject[:signup_enabled]).to eq(Gitlab::CurrentSettings.allow_signup?) expect(subject[:ldap_enabled]).to eq(Gitlab.config.ldap.enabled) @@ -234,6 +230,7 @@ describe Gitlab::UsageData do expect(subject[:omniauth_enabled]).to eq(Gitlab::Auth.omniauth_enabled?) expect(subject[:reply_by_email_enabled]).to eq(Gitlab::IncomingEmail.enabled?) expect(subject[:container_registry_enabled]).to eq(Gitlab.config.registry.enabled) + expect(subject[:dependency_proxy_enabled]).to eq(Gitlab.config.dependency_proxy.enabled) expect(subject[:gitlab_shared_runners_enabled]).to eq(Gitlab.config.gitlab_ci.shared_runners_enabled) end end @@ -241,7 +238,7 @@ describe Gitlab::UsageData do describe '#components_usage_data' do subject { described_class.components_usage_data } - it 'gathers components usage data' do + it 'gathers components usage data', :aggregate_failures do expect(subject[:gitlab_pages][:enabled]).to eq(Gitlab.config.pages.enabled) expect(subject[:gitlab_pages][:version]).to eq(Gitlab::Pages::VERSION) expect(subject[:git][:version]).to eq(Gitlab::Git.version) @@ -257,7 +254,7 @@ describe Gitlab::UsageData do describe '#license_usage_data' do subject { described_class.license_usage_data } - it 'gathers license data' do + it 'gathers license data', :aggregate_failures do expect(subject[:uuid]).to eq(Gitlab::CurrentSettings.uuid) expect(subject[:version]).to eq(Gitlab::VERSION) expect(subject[:installation_type]).to eq('gitlab-development-kit') @@ -289,11 +286,11 @@ describe Gitlab::UsageData do end describe '#approximate_counts' do - it 'gets approximate counts for selected models' do + it 'gets approximate counts for selected models', :aggregate_failures do create(:label) expect(Gitlab::Database::Count).to receive(:approximate_counts) - .with(described_class::APPROXIMATE_COUNT_MODELS).once.and_call_original + .with(described_class::APPROXIMATE_COUNT_MODELS).once.and_call_original counts = described_class.approximate_counts.values @@ -301,14 +298,12 @@ describe Gitlab::UsageData do expect(counts.any? { |count| count < 0 }).to be_falsey end - it 'returns default values if counts can not be retrieved' do + it 'returns default values if counts can not be retrieved', :aggregate_failures do described_class::APPROXIMATE_COUNT_MODELS.map do |model| model.name.underscore.pluralize.to_sym end - expect(Gitlab::Database::Count).to receive(:approximate_counts) - .and_return({}) - + expect(Gitlab::Database::Count).to receive(:approximate_counts).and_return({}) expect(described_class.approximate_counts.values.uniq).to eq([-1]) end end |