Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'db/fixtures/development/31_error_tracking.rb')
-rw-r--r--db/fixtures/development/31_error_tracking.rb49
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