diff options
Diffstat (limited to 'spec/lib/gitlab/usage_data_counters')
4 files changed, 27 insertions, 24 deletions
diff --git a/spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb index 6a37bfd106d..1ca0bb0e9ea 100644 --- a/spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb +++ b/spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb @@ -65,17 +65,11 @@ RSpec.describe Gitlab::UsageDataCounters::CiTemplateUniqueCounter do context 'with implicit includes', :snowplow do let(:config_source) { :auto_devops_source } - [ - ['', ['Auto-DevOps.gitlab-ci.yml']], - ['Jobs', described_class.ci_templates('lib/gitlab/ci/templates/Jobs')], - ['Security', described_class.ci_templates('lib/gitlab/ci/templates/Security')] - ].each do |directory, templates| - templates.each do |template| - context "for #{template}" do - let(:template_path) { File.join(directory, template) } - - include_examples 'tracks template' - end + described_class.all_included_templates('Auto-DevOps.gitlab-ci.yml').each do |template_name| + context "for #{template_name}" do + let(:template_path) { Gitlab::Template::GitlabCiYmlTemplate.find(template_name.delete_suffix('.gitlab-ci.yml')).full_name } + + include_examples 'tracks template' end end end diff --git a/spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb b/spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb index 01396602f29..e122d9a3026 100644 --- a/spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb +++ b/spec/lib/gitlab/usage_data_counters/code_review_events_spec.rb @@ -6,19 +6,22 @@ require 'spec_helper' # NOTE: ONLY user related metrics to be added to the aggregates - otherwise add it to the exception list RSpec.describe 'Code review events' do it 'the aggregated metrics contain all the code review metrics' do - path = Rails.root.join('config/metrics/aggregates/code_review.yml') - aggregated_events = YAML.safe_load(File.read(path), aliases: true)&.map(&:with_indifferent_access) - - code_review_aggregated_events = aggregated_events - .map { |event| event['events'] } - .flatten - .uniq - code_review_events = Gitlab::UsageDataCounters::HLLRedisCounter.events_for_category("code_review") + code_review_aggregated_events = Gitlab::Usage::MetricDefinition.all.flat_map do |definition| + next [] unless code_review_aggregated_metric?(definition.attributes) + + definition.attributes.dig(:options, :events) + end.uniq exceptions = %w[i_code_review_mr_diffs i_code_review_mr_with_invalid_approvers i_code_review_mr_single_file_diffs i_code_review_total_suggestions_applied i_code_review_total_suggestions_added i_code_review_create_note_in_ipynb_diff i_code_review_create_note_in_ipynb_diff_mr i_code_review_create_note_in_ipynb_diff_commit] code_review_aggregated_events += exceptions expect(code_review_events - code_review_aggregated_events).to be_empty end + + def code_review_aggregated_metric?(attributes) + return false unless attributes[:product_group] == 'code_review' && attributes[:status] == 'active' + + attributes[:instrumentation_class] == 'AggregatedMetric' + end end diff --git a/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb index 3fb2532521a..d0b935d59dd 100644 --- a/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb +++ b/spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb @@ -24,8 +24,10 @@ RSpec.describe Gitlab::UsageDataCounters::HLLRedisCounter, :clean_gitlab_redis_s context 'migration to instrumentation classes data collection' do let_it_be(:instrumented_events) do + instrumentation_classes = %w[AggregatedMetric RedisHLLMetric] ::Gitlab::Usage::MetricDefinition.all.map do |definition| - next unless definition.attributes[:instrumentation_class] == 'RedisHLLMetric' && definition.available? + next unless definition.available? + next unless instrumentation_classes.include?(definition.attributes[:instrumentation_class]) definition.attributes.dig(:options, :events)&.sort end.compact.to_set @@ -96,21 +98,17 @@ RSpec.describe Gitlab::UsageDataCounters::HLLRedisCounter, :clean_gitlab_redis_s 'source_code', 'incident_management', 'incident_management_alerts', - 'incident_management_oncall', 'testing', 'issues_edit', - 'ci_secrets_management', 'snippets', 'code_review', 'terraform', 'ci_templates', 'quickactions', 'pipeline_authoring', - 'epics_usage', 'secure', 'importer', 'geo', - 'growth', 'work_items', 'ci_users', 'error_tracking', diff --git a/spec/lib/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb index 0bcdbe82a7a..2d251017c87 100644 --- a/spec/lib/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb +++ b/spec/lib/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb @@ -28,4 +28,12 @@ RSpec.describe Gitlab::UsageDataCounters::WorkItemActivityUniqueCounter, :clean_ it_behaves_like 'work item unique counter' end + + describe '.track_work_item_labels_changed_action' do + subject(:track_event) { described_class.track_work_item_labels_changed_action(author: user) } + + let(:event_name) { described_class::WORK_ITEM_LABELS_CHANGED } + + it_behaves_like 'work item unique counter' + end end |