diff options
Diffstat (limited to 'spec/support/shared_examples/lib/gitlab')
5 files changed, 47 insertions, 60 deletions
diff --git a/spec/support/shared_examples/lib/gitlab/background_migration/backfill_project_repositories_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/background_migration/backfill_project_repositories_shared_examples.rb index 459d4f5cd3e..7141492bd49 100644 --- a/spec/support/shared_examples/lib/gitlab/background_migration/backfill_project_repositories_shared_examples.rb +++ b/spec/support/shared_examples/lib/gitlab/background_migration/backfill_project_repositories_shared_examples.rb @@ -16,20 +16,20 @@ RSpec.shared_examples 'backfill migration for project repositories' do |storage| projects.create!(name: "foo-#{index}", path: "foo-#{index}", namespace_id: group.id, storage_version: storage_version) end - expect { described_class.new.perform(1, projects.last.id) }.to change(project_repositories, :count).by(2) + expect { described_class.new.perform(1, projects.last.id) }.to change { project_repositories.count }.by(2) end it "does nothing for projects on #{storage} storage that have already a project_repository row" do projects.create!(id: 1, name: 'foo', path: 'foo', namespace_id: group.id, storage_version: storage_version) project_repositories.create!(project_id: 1, disk_path: 'phony/foo/bar', shard_id: shard.id) - expect { described_class.new.perform(1, projects.last.id) }.not_to change(project_repositories, :count) + expect { described_class.new.perform(1, projects.last.id) }.not_to change { project_repositories.count } end it "does nothing for projects on #{storage == :legacy ? 'hashed' : 'legacy'} storage" do projects.create!(name: 'foo', path: 'foo', namespace_id: group.id, storage_version: storage == :legacy ? 1 : nil) - expect { described_class.new.perform(1, projects.last.id) }.not_to change(project_repositories, :count) + expect { described_class.new.perform(1, projects.last.id) }.not_to change { project_repositories.count } end it 'inserts rows in a single query' do diff --git a/spec/support/shared_examples/lib/gitlab/cycle_analytics/deployment_metrics.rb b/spec/support/shared_examples/lib/gitlab/cycle_analytics/deployment_metrics.rb index 9ffc55f7e7e..d471a758f3e 100644 --- a/spec/support/shared_examples/lib/gitlab/cycle_analytics/deployment_metrics.rb +++ b/spec/support/shared_examples/lib/gitlab/cycle_analytics/deployment_metrics.rb @@ -62,14 +62,14 @@ RSpec.shared_examples 'deployment metrics examples' do describe '#deployment_frequency' do subject { stage_summary.fourth[:value] } - it 'includes the unit: `/day`' do - expect(stage_summary.fourth[:unit]).to eq _('/day') - end - before do travel_to(5.days.ago) { create_deployment(project: project) } end + it 'includes the unit: `/day`' do + expect(stage_summary.fourth[:unit]).to eq _('/day') + end + it 'returns 0.0 when there were deploys but the frequency was too low' do options[:from] = 30.days.ago diff --git a/spec/support/shared_examples/lib/gitlab/database/background_migration_job_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/database/background_migration_job_shared_examples.rb index a28fefcfc58..286f10a186d 100644 --- a/spec/support/shared_examples/lib/gitlab/database/background_migration_job_shared_examples.rb +++ b/spec/support/shared_examples/lib/gitlab/database/background_migration_job_shared_examples.rb @@ -28,7 +28,7 @@ RSpec.shared_examples 'finalized background migration' do |worker_class| .new .select do |scheduled| scheduled.klass == worker_class.name && - scheduled.args.first == job_class_name + scheduled.args.first == job_class_name end expect(queued.size).to eq(0) end diff --git a/spec/support/shared_examples/lib/gitlab/middleware/multipart_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/middleware/multipart_shared_examples.rb index 40deaa27955..16b048ae325 100644 --- a/spec/support/shared_examples/lib/gitlab/middleware/multipart_shared_examples.rb +++ b/spec/support/shared_examples/lib/gitlab/middleware/multipart_shared_examples.rb @@ -25,10 +25,12 @@ RSpec.shared_examples 'handling all upload parameters conditions' do end it 'builds UploadedFiles' do - expect_uploaded_files([ - { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(file1) }, - { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(file2) } - ]) + expect_uploaded_files( + [ + { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(file1) }, + { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(file2) } + ] + ) subject end @@ -61,10 +63,12 @@ RSpec.shared_examples 'handling all upload parameters conditions' do end it 'builds UploadedFiles' do - expect_uploaded_files([ - { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(user avatar) }, - { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user screenshot) } - ]) + expect_uploaded_files( + [ + { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(user avatar) }, + { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user screenshot) } + ] + ) subject end @@ -101,10 +105,12 @@ RSpec.shared_examples 'handling all upload parameters conditions' do end it 'builds UploadedFiles' do - expect_uploaded_files([ - { filepath: uploaded_file, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(user avatar bananas) }, - { filepath: uploaded_file2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user friend ananas) } - ]) + expect_uploaded_files( + [ + { filepath: uploaded_file, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(user avatar bananas) }, + { filepath: uploaded_file2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user friend ananas) } + ] + ) subject end @@ -133,11 +139,13 @@ RSpec.shared_examples 'handling all upload parameters conditions' do end it 'builds UploadedFiles' do - expect_uploaded_files([ - { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(file) }, - { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user avatar) }, - { filepath: uploaded_filepath3, original_filename: filename3, remote_id: remote_id3, size: uploaded_file3.size, params_path: %w(user friend avatar) } - ]) + expect_uploaded_files( + [ + { filepath: uploaded_filepath, original_filename: filename, remote_id: remote_id, size: uploaded_file.size, params_path: %w(file) }, + { filepath: uploaded_filepath2, original_filename: filename2, remote_id: remote_id2, size: uploaded_file2.size, params_path: %w(user avatar) }, + { filepath: uploaded_filepath3, original_filename: filename3, remote_id: remote_id3, size: uploaded_file3.size, params_path: %w(user friend avatar) } + ] + ) subject end diff --git a/spec/support/shared_examples/lib/gitlab/usage_data_counters/issuable_activity_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/usage_data_counters/issuable_activity_shared_examples.rb index 481e11bcf0e..d4802a19202 100644 --- a/spec/support/shared_examples/lib/gitlab/usage_data_counters/issuable_activity_shared_examples.rb +++ b/spec/support/shared_examples/lib/gitlab/usage_data_counters/issuable_activity_shared_examples.rb @@ -1,38 +1,5 @@ # frozen_string_literal: true -RSpec.shared_examples 'a daily tracked issuable event' do - before do - stub_application_setting(usage_ping_enabled: true) - end - - def count_unique(date_from: 1.minute.ago, date_to: 1.minute.from_now) - Gitlab::UsageDataCounters::HLLRedisCounter.unique_events(event_names: action, start_date: date_from, end_date: date_to) - end - - specify do - aggregate_failures do - expect(track_action(author: user1)).to be_truthy - expect(track_action(author: user1)).to be_truthy - expect(track_action(author: user2)).to be_truthy - expect(count_unique).to eq(2) - end - end - - it 'does not track edit actions if author is not present' do - expect(track_action(author: nil)).to be_nil - end -end - -RSpec.shared_examples 'does not track when feature flag is disabled' do |feature_flag| - context "when feature flag #{feature_flag} is disabled" do - it 'does not track action' do - stub_feature_flags(feature_flag => false) - - expect(track_action(author: user1)).to be_nil - end - end -end - RSpec.shared_examples 'a daily tracked issuable snowplow and service ping events for given event params' do before do stub_application_setting(usage_ping_enabled: true) @@ -76,15 +43,27 @@ end RSpec.shared_examples 'daily tracked issuable snowplow and service ping events with project' do it_behaves_like 'a daily tracked issuable snowplow and service ping events for given event params' do + let(:context) do + Gitlab::Tracking::ServicePingContext + .new(data_source: :redis_hll, event: event_property) + .to_h + end + let(:track_params) { { project: project } } - let(:event_params) { track_params.merge(label: event_label, property: event_property, namespace: project.namespace) } + let(:event_params) { track_params.merge(label: event_label, property: event_property, namespace: project.namespace, context: [context]) } end end RSpec.shared_examples 'a daily tracked issuable snowplow and service ping events with namespace' do it_behaves_like 'a daily tracked issuable snowplow and service ping events for given event params' do + let(:context) do + Gitlab::Tracking::ServicePingContext + .new(data_source: :redis_hll, event: event_property) + .to_h + end + let(:track_params) { { namespace: namespace } } - let(:event_params) { track_params.merge(label: event_label, property: event_property) } + let(:event_params) { track_params.merge(label: event_label, property: event_property, context: [context]) } end end |