diff options
Diffstat (limited to 'db/fixtures/development/31_error_tracking.rb')
-rw-r--r-- | db/fixtures/development/31_error_tracking.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/db/fixtures/development/31_error_tracking.rb b/db/fixtures/development/31_error_tracking.rb new file mode 100644 index 00000000000..60e288696f8 --- /dev/null +++ b/db/fixtures/development/31_error_tracking.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +class Gitlab::Seeder::ErrorTrackingSeeder + attr_reader :project + + def initialize(project) + @project = project + end + + def seed + parsed_event = Gitlab::Json.parse(read_fixture_file('parsed_event.json')) + + ErrorTracking::CollectErrorService + .new(project, nil, event: parsed_event) + .execute + end + + private + + def read_fixture_file(file) + File.read(fixture_path(file)) + end + + def fixture_path(file) + Rails.root.join('spec', 'fixtures', 'error_tracking', file) + end +end + + +Gitlab::Seeder.quiet do + admin_user = User.admins.first + + Project.not_mass_generated.visible_to_user(admin_user).sample(1).each do |project| + puts "\nActivating integrated error tracking for the '#{project.full_path}' project" + + unless Feature.enabled?(:integrated_error_tracking, project) + puts '- enabling feature flag' + Feature.enable(:integrated_error_tracking, project) + end + + puts '- enabling in settings' + project.error_tracking_setting || project.create_error_tracking_setting + project.error_tracking_setting.update!(enabled: true, integrated: true) + + puts '- seeding an error' + seeder = Gitlab::Seeder::ErrorTrackingSeeder.new(project) + seeder.seed + end +end |