bugsnag 6.12.2 → 6.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +90 -0
- data/VERSION +1 -1
- data/bugsnag.gemspec +1 -1
- data/lib/bugsnag.rb +119 -21
- data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +0 -2
- data/lib/bugsnag/breadcrumbs/validator.rb +0 -6
- data/lib/bugsnag/cleaner.rb +129 -60
- data/lib/bugsnag/code_extractor.rb +137 -0
- data/lib/bugsnag/configuration.rb +107 -2
- data/lib/bugsnag/delivery/thread_queue.rb +18 -3
- data/lib/bugsnag/helpers.rb +2 -4
- data/lib/bugsnag/integrations/delayed_job.rb +13 -1
- data/lib/bugsnag/integrations/mailman.rb +2 -1
- data/lib/bugsnag/integrations/que.rb +2 -1
- data/lib/bugsnag/integrations/rack.rb +3 -1
- data/lib/bugsnag/integrations/railtie.rb +17 -5
- data/lib/bugsnag/integrations/rake.rb +4 -2
- data/lib/bugsnag/integrations/resque.rb +2 -2
- data/lib/bugsnag/integrations/shoryuken.rb +2 -1
- data/lib/bugsnag/integrations/sidekiq.rb +1 -1
- data/lib/bugsnag/middleware/delayed_job.rb +1 -0
- data/lib/bugsnag/middleware/discard_error_class.rb +30 -0
- data/lib/bugsnag/middleware/exception_meta_data.rb +15 -9
- data/lib/bugsnag/middleware/ignore_error_class.rb +2 -0
- data/lib/bugsnag/middleware/rack_request.rb +2 -4
- data/lib/bugsnag/middleware_stack.rb +38 -3
- data/lib/bugsnag/on_error_callbacks.rb +33 -0
- data/lib/bugsnag/report.rb +4 -14
- data/lib/bugsnag/session_tracker.rb +3 -3
- data/lib/bugsnag/stacktrace.rb +28 -75
- metadata +6 -605
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -84
- data/.gitignore +0 -55
- data/.rdoc_options +0 -27
- data/.rspec +0 -3
- data/.rubocop.yml +0 -2
- data/.rubocop_todo.yml +0 -679
- data/.travis.yml +0 -122
- data/CONTRIBUTING.md +0 -72
- data/Gemfile +0 -43
- data/Rakefile +0 -37
- data/UPGRADING.md +0 -91
- data/features/.gitignore +0 -1
- data/features/delayed_job.feature +0 -52
- data/features/fixtures/delayed_job/Dockerfile +0 -17
- data/features/fixtures/delayed_job/app/.gitignore +0 -21
- data/features/fixtures/delayed_job/app/Gemfile +0 -57
- data/features/fixtures/delayed_job/app/README.md +0 -24
- data/features/fixtures/delayed_job/app/Rakefile +0 -6
- data/features/fixtures/delayed_job/app/app/assets/config/manifest.js +0 -3
- data/features/fixtures/delayed_job/app/app/assets/images/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/delayed_job/app/app/assets/javascripts/cable.js +0 -13
- data/features/fixtures/delayed_job/app/app/assets/javascripts/channels/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/delayed_job/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/delayed_job/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/delayed_job/app/app/controllers/application_controller.rb +0 -3
- data/features/fixtures/delayed_job/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/delayed_job/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/delayed_job/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/delayed_job/app/app/models/application_record.rb +0 -3
- data/features/fixtures/delayed_job/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/models/test_model.rb +0 -10
- data/features/fixtures/delayed_job/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/delayed_job/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/delayed_job/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/delayed_job/app/config.ru +0 -5
- data/features/fixtures/delayed_job/app/config/application.rb +0 -15
- data/features/fixtures/delayed_job/app/config/boot.rb +0 -3
- data/features/fixtures/delayed_job/app/config/cable.yml +0 -9
- data/features/fixtures/delayed_job/app/config/database.yml +0 -25
- data/features/fixtures/delayed_job/app/config/environment.rb +0 -5
- data/features/fixtures/delayed_job/app/config/environments/development.rb +0 -54
- data/features/fixtures/delayed_job/app/config/environments/production.rb +0 -86
- data/features/fixtures/delayed_job/app/config/environments/test.rb +0 -42
- data/features/fixtures/delayed_job/app/config/initializers/application_controller_renderer.rb +0 -8
- data/features/fixtures/delayed_job/app/config/initializers/assets.rb +0 -11
- data/features/fixtures/delayed_job/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +0 -14
- data/features/fixtures/delayed_job/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/delayed_job/app/config/initializers/delayed_job.rb +0 -3
- data/features/fixtures/delayed_job/app/config/initializers/filter_parameter_logging.rb +0 -4
- data/features/fixtures/delayed_job/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/delayed_job/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/delayed_job/app/config/initializers/new_framework_defaults.rb +0 -26
- data/features/fixtures/delayed_job/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/delayed_job/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/delayed_job/app/config/locales/en.yml +0 -23
- data/features/fixtures/delayed_job/app/config/puma.rb +0 -47
- data/features/fixtures/delayed_job/app/config/routes.rb +0 -3
- data/features/fixtures/delayed_job/app/config/secrets.yml +0 -22
- data/features/fixtures/delayed_job/app/config/spring.rb +0 -6
- data/features/fixtures/delayed_job/app/db/migrate/20181024232549_create_delayed_jobs.rb +0 -22
- data/features/fixtures/delayed_job/app/db/migrate/20181024232817_create_test_models.rb +0 -8
- data/features/fixtures/delayed_job/app/db/schema.rb +0 -30
- data/features/fixtures/delayed_job/app/db/seeds.rb +0 -7
- data/features/fixtures/delayed_job/app/lib/assets/.keep +0 -0
- data/features/fixtures/delayed_job/app/lib/tasks/.keep +0 -0
- data/features/fixtures/delayed_job/app/log/.keep +0 -0
- data/features/fixtures/delayed_job/app/public/404.html +0 -67
- data/features/fixtures/delayed_job/app/public/422.html +0 -67
- data/features/fixtures/delayed_job/app/public/500.html +0 -66
- data/features/fixtures/delayed_job/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/delayed_job/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/delayed_job/app/public/favicon.ico +0 -0
- data/features/fixtures/delayed_job/app/public/robots.txt +0 -5
- data/features/fixtures/delayed_job/app/test/controllers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/test_models.yml +0 -11
- data/features/fixtures/delayed_job/app/test/helpers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/integration/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/mailers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/models/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/models/test_model_test.rb +0 -7
- data/features/fixtures/delayed_job/app/test/test_helper.rb +0 -10
- data/features/fixtures/delayed_job/app/tmp/.keep +0 -0
- data/features/fixtures/docker-compose.yml +0 -311
- data/features/fixtures/plain/.dockerignore +0 -2
- data/features/fixtures/plain/Dockerfile +0 -11
- data/features/fixtures/plain/app/Gemfile +0 -3
- data/features/fixtures/plain/app/app.rb +0 -40
- data/features/fixtures/plain/app/configuration/api_key.rb +0 -9
- data/features/fixtures/plain/app/configuration/proxy.rb +0 -14
- data/features/fixtures/plain/app/configuration/send_handled.rb +0 -7
- data/features/fixtures/plain/app/configuration/send_unhandled.rb +0 -9
- data/features/fixtures/plain/app/delivery/fork_threadpool.rb +0 -25
- data/features/fixtures/plain/app/delivery/synchronous.rb +0 -14
- data/features/fixtures/plain/app/delivery/threadpool.rb +0 -14
- data/features/fixtures/plain/app/exception_data/crash.rb +0 -34
- data/features/fixtures/plain/app/exception_data/handled_context.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_hash.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_user_id.rb +0 -10
- data/features/fixtures/plain/app/exception_data/unhandled_context.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +0 -7
- data/features/fixtures/plain/app/filters/additional_filters.rb +0 -11
- data/features/fixtures/plain/app/filters/default_filters.rb +0 -15
- data/features/fixtures/plain/app/handled/block_metadata.rb +0 -15
- data/features/fixtures/plain/app/handled/ignore_exception.rb +0 -12
- data/features/fixtures/plain/app/handled/notify_exception.rb +0 -9
- data/features/fixtures/plain/app/handled/notify_string.rb +0 -9
- data/features/fixtures/plain/app/ignore_classes/handled.rb +0 -8
- data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +0 -8
- data/features/fixtures/plain/app/ignore_classes/unhandled.rb +0 -4
- data/features/fixtures/plain/app/report_modification/add_tab.rb +0 -16
- data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +0 -22
- data/features/fixtures/plain/app/report_modification/add_tab_override.rb +0 -19
- data/features/fixtures/plain/app/report_modification/ignore_report.rb +0 -9
- data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +0 -10
- data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +0 -8
- data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +0 -11
- data/features/fixtures/plain/app/report_modification/modify_api_key.rb +0 -9
- data/features/fixtures/plain/app/report_modification/modify_severity.rb +0 -9
- data/features/fixtures/plain/app/report_modification/remove_user_details.rb +0 -14
- data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +0 -16
- data/features/fixtures/plain/app/report_modification/set_user_details.rb +0 -13
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +0 -29
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +0 -24
- data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +0 -26
- data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +0 -13
- data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +0 -9
- data/features/fixtures/plain/app/unhandled/Interrupt.rb +0 -6
- data/features/fixtures/plain/app/unhandled/bad_syntax.rb +0 -1
- data/features/fixtures/plain/app/unhandled/custom_error.rb +0 -9
- data/features/fixtures/plain/app/unhandled/load_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/local_jump_error.rb +0 -10
- data/features/fixtures/plain/app/unhandled/name_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/no_method_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/runtime_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/syntax_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/system_call_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/system_exit.rb +0 -6
- data/features/fixtures/plain/json/delivery_fork.json +0 -4
- data/features/fixtures/plain/json/delivery_synchronous.json +0 -4
- data/features/fixtures/plain/json/delivery_threadpool.json +0 -4
- data/features/fixtures/plain/json/filters_default_metadata_filters.json +0 -9
- data/features/fixtures/rack1/.dockerignore +0 -1
- data/features/fixtures/rack1/Dockerfile +0 -13
- data/features/fixtures/rack1/Gemfile +0 -4
- data/features/fixtures/rack1/app.rb +0 -8
- data/features/fixtures/rack2/.dockerignore +0 -1
- data/features/fixtures/rack2/Dockerfile +0 -13
- data/features/fixtures/rack2/Gemfile +0 -4
- data/features/fixtures/rack2/app.rb +0 -8
- data/features/fixtures/rails3/.dockerignore +0 -1
- data/features/fixtures/rails3/Dockerfile +0 -15
- data/features/fixtures/rails3/app/.gitignore +0 -15
- data/features/fixtures/rails3/app/Gemfile +0 -13
- data/features/fixtures/rails3/app/Rakefile +0 -7
- data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
- data/features/fixtures/rails3/app/app/assets/javascripts/application.js +0 -15
- data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +0 -13
- data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +0 -25
- data/features/fixtures/rails3/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +0 -31
- data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +0 -44
- data/features/fixtures/rails3/app/app/controllers/breadcrumbs_controller.rb +0 -19
- data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +0 -26
- data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +0 -23
- data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +0 -16
- data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +0 -25
- data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +0 -12
- data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +0 -24
- data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +0 -11
- data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +0 -30
- data/features/fixtures/rails3/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails3/app/app/mailers/.gitkeep +0 -0
- data/features/fixtures/rails3/app/app/models/.gitkeep +0 -0
- data/features/fixtures/rails3/app/app/models/user.rb +0 -6
- data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails3/app/config.ru +0 -4
- data/features/fixtures/rails3/app/config/application.rb +0 -67
- data/features/fixtures/rails3/app/config/boot.rb +0 -6
- data/features/fixtures/rails3/app/config/database.yml +0 -31
- data/features/fixtures/rails3/app/config/environment.rb +0 -5
- data/features/fixtures/rails3/app/config/environments/development.rb +0 -37
- data/features/fixtures/rails3/app/config/environments/production.rb +0 -67
- data/features/fixtures/rails3/app/config/environments/rails_env.rb +0 -37
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +0 -20
- data/features/fixtures/rails3/app/config/initializers/secret_token.rb +0 -7
- data/features/fixtures/rails3/app/config/initializers/session_store.rb +0 -8
- data/features/fixtures/rails3/app/config/initializers/warden.rb +0 -3
- data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails3/app/config/locales/en.yml +0 -5
- data/features/fixtures/rails3/app/config/routes.rb +0 -19
- data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +0 -45
- data/features/fixtures/rails3/app/db/schema.rb +0 -37
- data/features/fixtures/rails3/app/db/seeds.rb +0 -7
- data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
- data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +0 -12
- data/features/fixtures/rails3/app/lib/tasks/.gitkeep +0 -0
- data/features/fixtures/rails3/app/log/.gitkeep +0 -0
- data/features/fixtures/rails3/app/public/404.html +0 -26
- data/features/fixtures/rails3/app/public/422.html +0 -26
- data/features/fixtures/rails3/app/public/500.html +0 -25
- data/features/fixtures/rails3/app/public/favicon.ico +0 -0
- data/features/fixtures/rails3/app/public/index.html +0 -241
- data/features/fixtures/rails3/app/public/robots.txt +0 -5
- data/features/fixtures/rails3/app/script/rails +0 -6
- data/features/fixtures/rails4/.dockerignore +0 -1
- data/features/fixtures/rails4/Dockerfile +0 -20
- data/features/fixtures/rails4/app/.gitignore +0 -16
- data/features/fixtures/rails4/app/Gemfile +0 -46
- data/features/fixtures/rails4/app/README.rdoc +0 -28
- data/features/fixtures/rails4/app/Rakefile +0 -6
- data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails4/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +0 -13
- data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +0 -25
- data/features/fixtures/rails4/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +0 -31
- data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +0 -44
- data/features/fixtures/rails4/app/app/controllers/breadcrumbs_controller.rb +0 -26
- data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +0 -32
- data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +0 -26
- data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +0 -23
- data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +0 -16
- data/features/fixtures/rails4/app/app/controllers/mongo_controller.rb +0 -23
- data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +0 -25
- data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +0 -12
- data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +0 -24
- data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +0 -11
- data/features/fixtures/rails4/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails4/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/rails4/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails4/app/app/mailers/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/mongo_model.rb +0 -6
- data/features/fixtures/rails4/app/app/models/user.rb +0 -6
- data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails4/app/config.ru +0 -4
- data/features/fixtures/rails4/app/config/application.rb +0 -23
- data/features/fixtures/rails4/app/config/boot.rb +0 -4
- data/features/fixtures/rails4/app/config/database.yml +0 -31
- data/features/fixtures/rails4/app/config/environment.rb +0 -5
- data/features/fixtures/rails4/app/config/environments/development.rb +0 -31
- data/features/fixtures/rails4/app/config/environments/production.rb +0 -81
- data/features/fixtures/rails4/app/config/environments/rails_env.rb +0 -30
- data/features/fixtures/rails4/app/config/environments/test.rb +0 -31
- data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +0 -20
- data/features/fixtures/rails4/app/config/initializers/devise.rb +0 -283
- data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails4/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails4/app/config/initializers/mime_types.rb +0 -5
- data/features/fixtures/rails4/app/config/initializers/secret_token.rb +0 -12
- data/features/fixtures/rails4/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails4/app/config/locales/devise.en.yml +0 -64
- data/features/fixtures/rails4/app/config/locales/en.yml +0 -23
- data/features/fixtures/rails4/app/config/mongoid.yml +0 -22
- data/features/fixtures/rails4/app/config/routes.rb +0 -21
- data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +0 -47
- data/features/fixtures/rails4/app/db/seeds.rb +0 -7
- data/features/fixtures/rails4/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails4/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails4/app/log/.keep +0 -0
- data/features/fixtures/rails4/app/public/404.html +0 -58
- data/features/fixtures/rails4/app/public/422.html +0 -58
- data/features/fixtures/rails4/app/public/500.html +0 -57
- data/features/fixtures/rails4/app/public/favicon.ico +0 -0
- data/features/fixtures/rails4/app/public/robots.txt +0 -5
- data/features/fixtures/rails4/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails4/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails4/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails4/app/test/integration/.keep +0 -0
- data/features/fixtures/rails4/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails4/app/test/models/.keep +0 -0
- data/features/fixtures/rails4/app/test/test_helper.rb +0 -15
- data/features/fixtures/rails5/.dockerignore +0 -1
- data/features/fixtures/rails5/Dockerfile +0 -17
- data/features/fixtures/rails5/app/.gitignore +0 -21
- data/features/fixtures/rails5/app/Gemfile +0 -52
- data/features/fixtures/rails5/app/README.md +0 -24
- data/features/fixtures/rails5/app/Rakefile +0 -6
- data/features/fixtures/rails5/app/app/assets/config/manifest.js +0 -3
- data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +0 -13
- data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +0 -21
- data/features/fixtures/rails5/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +0 -27
- data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +0 -40
- data/features/fixtures/rails5/app/app/controllers/breadcrumbs_controller.rb +0 -24
- data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +0 -33
- data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +0 -22
- data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +0 -19
- data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +0 -12
- data/features/fixtures/rails5/app/app/controllers/mongo_controller.rb +0 -22
- data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +0 -21
- data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +0 -8
- data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +0 -20
- data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +0 -7
- data/features/fixtures/rails5/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails5/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/rails5/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/rails5/app/app/models/application_record.rb +0 -3
- data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/models/mongo_model.rb +0 -6
- data/features/fixtures/rails5/app/app/models/user.rb +0 -3
- data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/rails5/app/config.ru +0 -5
- data/features/fixtures/rails5/app/config/application.rb +0 -15
- data/features/fixtures/rails5/app/config/boot.rb +0 -3
- data/features/fixtures/rails5/app/config/cable.yml +0 -9
- data/features/fixtures/rails5/app/config/database.yml +0 -29
- data/features/fixtures/rails5/app/config/environment.rb +0 -5
- data/features/fixtures/rails5/app/config/environments/development.rb +0 -55
- data/features/fixtures/rails5/app/config/environments/production.rb +0 -87
- data/features/fixtures/rails5/app/config/environments/rails_env.rb +0 -55
- data/features/fixtures/rails5/app/config/environments/test.rb +0 -55
- data/features/fixtures/rails5/app/config/initializers/assets.rb +0 -11
- data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +0 -20
- data/features/fixtures/rails5/app/config/initializers/clearance.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails5/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +0 -24
- data/features/fixtures/rails5/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails5/app/config/locales/devise.en.yml +0 -64
- data/features/fixtures/rails5/app/config/locales/en.yml +0 -23
- data/features/fixtures/rails5/app/config/mongoid.yml +0 -23
- data/features/fixtures/rails5/app/config/puma.rb +0 -47
- data/features/fixtures/rails5/app/config/routes.rb +0 -62
- data/features/fixtures/rails5/app/config/secrets.yml +0 -25
- data/features/fixtures/rails5/app/config/spring.rb +0 -6
- data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +0 -17
- data/features/fixtures/rails5/app/db/schema.rb +0 -29
- data/features/fixtures/rails5/app/db/seeds.rb +0 -7
- data/features/fixtures/rails5/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails5/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails5/app/log/.keep +0 -0
- data/features/fixtures/rails5/app/public/404.html +0 -67
- data/features/fixtures/rails5/app/public/422.html +0 -67
- data/features/fixtures/rails5/app/public/500.html +0 -66
- data/features/fixtures/rails5/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/rails5/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/rails5/app/public/favicon.ico +0 -0
- data/features/fixtures/rails5/app/public/robots.txt +0 -5
- data/features/fixtures/rails5/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails5/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails5/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/rails5/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails5/app/test/integration/.keep +0 -0
- data/features/fixtures/rails5/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails5/app/test/models/.keep +0 -0
- data/features/fixtures/rails5/app/test/test_helper.rb +0 -10
- data/features/fixtures/rails5/app/tmp/.keep +0 -0
- data/features/fixtures/rails6/.dockerignore +0 -1
- data/features/fixtures/rails6/Dockerfile +0 -26
- data/features/fixtures/rails6/app/.browserslistrc +0 -1
- data/features/fixtures/rails6/app/.gitignore +0 -35
- data/features/fixtures/rails6/app/.ruby-version +0 -1
- data/features/fixtures/rails6/app/Gemfile +0 -57
- data/features/fixtures/rails6/app/README.md +0 -24
- data/features/fixtures/rails6/app/Rakefile +0 -6
- data/features/fixtures/rails6/app/app/assets/config/manifest.js +0 -2
- data/features/fixtures/rails6/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails6/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/rails6/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/rails6/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/rails6/app/app/controllers/api_key_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/app_type_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/app_version_controller.rb +0 -21
- data/features/fixtures/rails6/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails6/app/app/controllers/auto_notify_controller.rb +0 -27
- data/features/fixtures/rails6/app/app/controllers/before_notify_controller.rb +0 -40
- data/features/fixtures/rails6/app/app/controllers/breadcrumbs_controller.rb +0 -24
- data/features/fixtures/rails6/app/app/controllers/clearance_controller.rb +0 -33
- data/features/fixtures/rails6/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails6/app/app/controllers/handled_controller.rb +0 -22
- data/features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb +0 -19
- data/features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb +0 -12
- data/features/fixtures/rails6/app/app/controllers/project_root_controller.rb +0 -21
- data/features/fixtures/rails6/app/app/controllers/release_stage_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/send_code_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/send_environment_controller.rb +0 -8
- data/features/fixtures/rails6/app/app/controllers/session_tracking_controller.rb +0 -20
- data/features/fixtures/rails6/app/app/controllers/unhandled_controller.rb +0 -7
- data/features/fixtures/rails6/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails6/app/app/javascript/channels/consumer.js +0 -6
- data/features/fixtures/rails6/app/app/javascript/channels/index.js +0 -5
- data/features/fixtures/rails6/app/app/javascript/packs/application.js +0 -9
- data/features/fixtures/rails6/app/app/jobs/application_job.rb +0 -7
- data/features/fixtures/rails6/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails6/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/rails6/app/app/models/application_record.rb +0 -3
- data/features/fixtures/rails6/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails6/app/app/models/user.rb +0 -3
- data/features/fixtures/rails6/app/app/views/layouts/application.html.erb +0 -15
- data/features/fixtures/rails6/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/rails6/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/rails6/app/babel.config.js +0 -70
- data/features/fixtures/rails6/app/config.ru +0 -5
- data/features/fixtures/rails6/app/config/application.rb +0 -19
- data/features/fixtures/rails6/app/config/boot.rb +0 -4
- data/features/fixtures/rails6/app/config/cable.yml +0 -13
- data/features/fixtures/rails6/app/config/credentials.yml.enc +0 -1
- data/features/fixtures/rails6/app/config/database.yml +0 -29
- data/features/fixtures/rails6/app/config/environment.rb +0 -5
- data/features/fixtures/rails6/app/config/environments/development.rb +0 -62
- data/features/fixtures/rails6/app/config/environments/production.rb +0 -112
- data/features/fixtures/rails6/app/config/environments/rails_env.rb +0 -55
- data/features/fixtures/rails6/app/config/environments/test.rb +0 -47
- data/features/fixtures/rails6/app/config/initializers/application_controller_renderer.rb +0 -8
- data/features/fixtures/rails6/app/config/initializers/assets.rb +0 -14
- data/features/fixtures/rails6/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +0 -20
- data/features/fixtures/rails6/app/config/initializers/content_security_policy.rb +0 -27
- data/features/fixtures/rails6/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/rails6/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails6/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails6/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/rails6/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails6/app/config/locales/en.yml +0 -33
- data/features/fixtures/rails6/app/config/puma.rb +0 -35
- data/features/fixtures/rails6/app/config/routes.rb +0 -58
- data/features/fixtures/rails6/app/config/secrets.yml +0 -25
- data/features/fixtures/rails6/app/config/spring.rb +0 -6
- data/features/fixtures/rails6/app/config/storage.yml +0 -34
- data/features/fixtures/rails6/app/config/webpack/development.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/environment.js +0 -3
- data/features/fixtures/rails6/app/config/webpack/production.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/rails_env.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/test.js +0 -5
- data/features/fixtures/rails6/app/config/webpacker.yml +0 -121
- data/features/fixtures/rails6/app/db/migrate/20180426095545_create_users.rb +0 -17
- data/features/fixtures/rails6/app/db/schema.rb +0 -29
- data/features/fixtures/rails6/app/db/seeds.rb +0 -7
- data/features/fixtures/rails6/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails6/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails6/app/log/.keep +0 -0
- data/features/fixtures/rails6/app/package.json +0 -15
- data/features/fixtures/rails6/app/postcss.config.js +0 -12
- data/features/fixtures/rails6/app/public/404.html +0 -67
- data/features/fixtures/rails6/app/public/422.html +0 -67
- data/features/fixtures/rails6/app/public/500.html +0 -66
- data/features/fixtures/rails6/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/rails6/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/rails6/app/public/favicon.ico +0 -0
- data/features/fixtures/rails6/app/public/robots.txt +0 -1
- data/features/fixtures/rails6/app/storage/.keep +0 -0
- data/features/fixtures/rails6/app/test/application_system_test_case.rb +0 -5
- data/features/fixtures/rails6/app/test/channels/application_cable/connection_test.rb +0 -11
- data/features/fixtures/rails6/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails6/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails6/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/rails6/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails6/app/test/integration/.keep +0 -0
- data/features/fixtures/rails6/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails6/app/test/models/.keep +0 -0
- data/features/fixtures/rails6/app/test/system/.keep +0 -0
- data/features/fixtures/rails6/app/test/test_helper.rb +0 -13
- data/features/fixtures/rails6/app/tmp/.keep +0 -0
- data/features/fixtures/rails6/app/yarn.lock +0 -6082
- data/features/fixtures/resque/.dockerignore +0 -1
- data/features/fixtures/resque/Dockerfile +0 -14
- data/features/fixtures/resque/Gemfile +0 -6
- data/features/fixtures/resque/Rakefile +0 -4
- data/features/fixtures/resque/app.rb +0 -12
- data/features/fixtures/sidekiq/.dockerignore +0 -2
- data/features/fixtures/sidekiq/Dockerfile +0 -19
- data/features/fixtures/sidekiq/app/Gemfile +0 -6
- data/features/fixtures/sidekiq/app/app.rb +0 -35
- data/features/fixtures/sidekiq/app/initializers/HandledError.rb +0 -3
- data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +0 -3
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +0 -11
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +0 -12
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +0 -11
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +0 -12
- data/features/fixtures/sinatra1/.dockerignore +0 -1
- data/features/fixtures/sinatra1/Dockerfile +0 -13
- data/features/fixtures/sinatra1/Gemfile +0 -4
- data/features/fixtures/sinatra1/app.rb +0 -9
- data/features/fixtures/sinatra2/.dockerignore +0 -1
- data/features/fixtures/sinatra2/Dockerfile +0 -13
- data/features/fixtures/sinatra2/Gemfile +0 -4
- data/features/fixtures/sinatra2/app.rb +0 -9
- data/features/plain_features/add_tab.feature +0 -122
- data/features/plain_features/api_key.feature +0 -25
- data/features/plain_features/app_type.feature +0 -27
- data/features/plain_features/app_version.feature +0 -27
- data/features/plain_features/auto_notify.feature +0 -23
- data/features/plain_features/delivery.feature +0 -68
- data/features/plain_features/exception_data.feature +0 -120
- data/features/plain_features/filters.feature +0 -48
- data/features/plain_features/handled_errors.feature +0 -104
- data/features/plain_features/ignore_classes.feature +0 -29
- data/features/plain_features/ignore_report.feature +0 -30
- data/features/plain_features/proxies.feature +0 -68
- data/features/plain_features/release_stages.feature +0 -51
- data/features/plain_features/report_api_key.feature +0 -40
- data/features/plain_features/report_severity.feature +0 -42
- data/features/plain_features/report_stack_frames.feature +0 -117
- data/features/plain_features/report_user.feature +0 -118
- data/features/plain_features/unhandled_errors.feature +0 -104
- data/features/rails_features/api_key.feature +0 -65
- data/features/rails_features/app_type.feature +0 -73
- data/features/rails_features/app_version.feature +0 -93
- data/features/rails_features/auto_capture_sessions.feature +0 -123
- data/features/rails_features/auto_notify.feature +0 -126
- data/features/rails_features/before_notify.feature +0 -115
- data/features/rails_features/breadcrumbs.feature +0 -150
- data/features/rails_features/handled.feature +0 -112
- data/features/rails_features/ignore_classes.feature +0 -57
- data/features/rails_features/meta_data_filters.feature +0 -42
- data/features/rails_features/mongo_breadcrumbs.feature +0 -109
- data/features/rails_features/project_root.feature +0 -106
- data/features/rails_features/release_stage.feature +0 -95
- data/features/rails_features/send_code.feature +0 -64
- data/features/rails_features/send_environment.feature +0 -41
- data/features/rails_features/unhandled.feature +0 -43
- data/features/rails_features/user_info.feature +0 -93
- data/features/sidekiq.feature +0 -97
- data/features/steps/ruby_notifier_steps.rb +0 -31
- data/features/support/env.rb +0 -56
- data/issue_template.md +0 -48
- data/spec/breadcrumbs/breadcrumb_spec.rb +0 -93
- data/spec/breadcrumbs/validator_spec.rb +0 -201
- data/spec/bugsnag_spec.rb +0 -366
- data/spec/cleaner_spec.rb +0 -158
- data/spec/configuration_spec.rb +0 -430
- data/spec/fixtures/apps/rails-initializer-config/Gemfile +0 -5
- data/spec/fixtures/apps/rails-initializer-config/config.ru +0 -16
- data/spec/fixtures/apps/rails-initializer-config/config/initializers/bugsnag.rb +0 -3
- data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +0 -5
- data/spec/fixtures/apps/rails-invalid-initializer-config/config.ru +0 -16
- data/spec/fixtures/apps/rails-invalid-initializer-config/config/initializers/bugsnag.rb +0 -3
- data/spec/fixtures/apps/rails-no-config/Gemfile +0 -5
- data/spec/fixtures/apps/rails-no-config/config.ru +0 -16
- data/spec/fixtures/apps/scripts/Gemfile +0 -3
- data/spec/fixtures/apps/scripts/configure_invalid_key.rb +0 -5
- data/spec/fixtures/apps/scripts/configure_key.rb +0 -5
- data/spec/fixtures/apps/scripts/no_config.rb +0 -3
- data/spec/fixtures/crashes/end_of_file.rb +0 -9
- data/spec/fixtures/crashes/short_file.rb +0 -1
- data/spec/fixtures/crashes/start_of_file.rb +0 -9
- data/spec/fixtures/middleware/internal_info_setter.rb +0 -11
- data/spec/fixtures/middleware/public_info_setter.rb +0 -11
- data/spec/fixtures/tasks/Rakefile +0 -26
- data/spec/helper_spec.rb +0 -162
- data/spec/integration_spec.rb +0 -107
- data/spec/integrations/clearance_user_spec.rb +0 -38
- data/spec/integrations/logger_spec.rb +0 -134
- data/spec/integrations/mailman_spec.rb +0 -83
- data/spec/integrations/mongo_spec.rb +0 -262
- data/spec/integrations/que_spec.rb +0 -94
- data/spec/integrations/rack_spec.rb +0 -230
- data/spec/integrations/rails3_request_spec.rb +0 -67
- data/spec/integrations/rake_spec.rb +0 -71
- data/spec/integrations/resque_spec.rb +0 -99
- data/spec/integrations/shoryuken_spec.rb +0 -70
- data/spec/integrations/sidekiq_spec.rb +0 -137
- data/spec/integrations/warden_user_spec.rb +0 -41
- data/spec/middleware/exception_meta_data_spec.rb +0 -104
- data/spec/middleware_spec.rb +0 -254
- data/spec/middleware_stack_spec.rb +0 -151
- data/spec/report_spec.rb +0 -1282
- data/spec/session_tracker_spec.rb +0 -156
- data/spec/spec_helper.rb +0 -86
- data/spec/stacktrace_spec.rb +0 -90
- data/spec/utility/circular_buffer_spec.rb +0 -98
@@ -1,134 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe 'Configuration.logger' do
|
4
|
-
|
5
|
-
before do
|
6
|
-
@env = {}
|
7
|
-
end
|
8
|
-
|
9
|
-
context 'in a Rails app' do
|
10
|
-
key_warning = '[Bugsnag]: No valid API key has been set, notifications will not be sent'
|
11
|
-
is_jruby = defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
12
|
-
incompatible = (RUBY_VERSION < '2.0.0') || is_jruby
|
13
|
-
|
14
|
-
before do
|
15
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
16
|
-
@env['RACK_ENV'] = 'production'
|
17
|
-
end
|
18
|
-
|
19
|
-
def run_app(name)
|
20
|
-
out_reader, out_writer = IO.pipe
|
21
|
-
Dir.chdir(File.join(File.dirname(__FILE__), "../fixtures/apps/#{name}")) do
|
22
|
-
Bundler.with_clean_env do
|
23
|
-
pid = Process.spawn('bundle install',
|
24
|
-
out: out_writer.fileno,
|
25
|
-
err: out_writer.fileno)
|
26
|
-
Process.waitpid(pid, 0)
|
27
|
-
pid = Process.spawn(@env, 'bundle exec rackup config.ru',
|
28
|
-
out: out_writer.fileno,
|
29
|
-
err: out_writer.fileno)
|
30
|
-
sleep(2)
|
31
|
-
Process.kill(1, pid)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
out_writer.close
|
35
|
-
output = ""
|
36
|
-
output << out_reader.gets until out_reader.eof?
|
37
|
-
output
|
38
|
-
end
|
39
|
-
context 'sets an API key using the BUGSNAG_API_KEY env var' do
|
40
|
-
it 'does not log a warning' do
|
41
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
42
|
-
@env['BUGSNAG_API_KEY'] = 'c34a2472bd240ac0ab0f52715bbdc05d'
|
43
|
-
output = run_app('rails-no-config')
|
44
|
-
expect(output).not_to include(key_warning)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
context 'sets an API key using the bugsnag initializer' do
|
49
|
-
it 'does not log a warning' do
|
50
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
51
|
-
output = run_app('rails-initializer-config')
|
52
|
-
expect(output).not_to include(key_warning)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
context 'skips setting an API key' do
|
57
|
-
it 'logs a warning' do
|
58
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
59
|
-
output = run_app('rails-no-config')
|
60
|
-
expect(output).to include(key_warning)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
context 'sets an invalid API key using the BUGSNAG_API_KEY env var' do
|
65
|
-
it 'logs a warning' do
|
66
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
67
|
-
output = run_app('rails-invalid-initializer-config')
|
68
|
-
expect(output).to include(key_warning)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
context 'sets an invalid API key using the BUGSNAG_API_KEY env var' do
|
73
|
-
it 'logs a warning' do
|
74
|
-
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
75
|
-
@env['BUGSNAG_API_KEY'] = 'not a real key'
|
76
|
-
output = run_app('rails-no-config')
|
77
|
-
expect(output).to include(key_warning)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
context 'in a script' do
|
83
|
-
key_warning = /\[Bugsnag\] .* No valid API key has been set, notifications will not be sent/
|
84
|
-
|
85
|
-
def run_app(name)
|
86
|
-
output = ''
|
87
|
-
Dir.chdir(File.join(File.dirname(__FILE__), "../fixtures/apps/scripts")) do
|
88
|
-
Bundler.with_clean_env do
|
89
|
-
IO.popen([@env, 'bundle', 'exec', 'ruby', "#{name}.rb", err: [:child, :out]]) do |io|
|
90
|
-
output << io.read
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
output
|
95
|
-
end
|
96
|
-
|
97
|
-
context 'sets an API key using the BUGSNAG_API_KEY env var' do
|
98
|
-
it 'does not log a warning' do
|
99
|
-
@env['BUGSNAG_API_KEY'] = 'c34a2472bd240ac0ab0f52715bbdc05d'
|
100
|
-
output = run_app('no_config')
|
101
|
-
expect(output).not_to match(key_warning)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
context 'sets an API key using Bugsnag.configure' do
|
106
|
-
it 'does not log a warning' do
|
107
|
-
output = run_app('configure_key')
|
108
|
-
expect(output).not_to match(key_warning)
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
context 'sets an invalid API key using Bugsnag.configure' do
|
113
|
-
it 'logs a warning' do
|
114
|
-
output = run_app('configure_invalid_key')
|
115
|
-
expect(output).to match(key_warning)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
context 'sets an invalid API key using the BUGSNAG_API_KEY env var' do
|
120
|
-
it 'logs a warning' do
|
121
|
-
@env['BUGSNAG_API_KEY'] = 'bad key bad key whatcha gonna do'
|
122
|
-
output = run_app('no_config')
|
123
|
-
expect(output).to match(key_warning)
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
context 'skips setting an API key' do
|
128
|
-
it 'logs a warning' do
|
129
|
-
output = run_app('no_config')
|
130
|
-
expect(output).to match(key_warning)
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
@@ -1,83 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe 'Bugsnag::Mailman', :order => :defined do
|
4
|
-
before do
|
5
|
-
unless defined?(::Mailman)
|
6
|
-
@mocked_mailman = true
|
7
|
-
class Mailman
|
8
|
-
end
|
9
|
-
module Kernel
|
10
|
-
alias_method :old_require, :require
|
11
|
-
def require(path)
|
12
|
-
old_require(path) unless /^mailman/.match(path)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should load Bugsnag::Mailman" do
|
19
|
-
config = double('mailman-config')
|
20
|
-
allow(Mailman).to receive(:config).and_return(config)
|
21
|
-
expect(config).to receive(:respond_to?).with(:middleware).and_return(true)
|
22
|
-
middleware = double('mailman-config-middleware')
|
23
|
-
expect(config).to receive(:middleware).and_return(middleware)
|
24
|
-
expect(middleware).to receive(:add).with(any_args)
|
25
|
-
|
26
|
-
#Kick off
|
27
|
-
require './lib/bugsnag/integrations/mailman'
|
28
|
-
end
|
29
|
-
|
30
|
-
it "can be called" do
|
31
|
-
config = double('config')
|
32
|
-
allow(Bugsnag).to receive(:configuration).and_return(config)
|
33
|
-
int_middleware = double('internal_middleware')
|
34
|
-
expect(config).to receive(:internal_middleware).and_return(int_middleware)
|
35
|
-
expect(int_middleware).to receive(:use).with(Bugsnag::Middleware::Mailman)
|
36
|
-
expect(config).to receive(:app_type=).with("mailman")
|
37
|
-
|
38
|
-
integration = Bugsnag::Mailman.new
|
39
|
-
|
40
|
-
mail = double('mail')
|
41
|
-
expect(config).to receive(:set_request_data).with(:mailman_msg, mail)
|
42
|
-
expect(mail).to receive(:to_s).and_return(mail)
|
43
|
-
allow(config).to receive(:clear_request_data)
|
44
|
-
|
45
|
-
exception = RuntimeError.new('oops')
|
46
|
-
report = double('report')
|
47
|
-
expect(Bugsnag).to receive(:notify).with(exception, true).and_yield(report)
|
48
|
-
expect(report).to receive(:severity=).with('error')
|
49
|
-
expect(report).to receive(:severity_reason=).with({
|
50
|
-
:type => Bugsnag::Report::UNHANDLED_EXCEPTION_MIDDLEWARE,
|
51
|
-
:attributes => Bugsnag::Mailman::FRAMEWORK_ATTRIBUTES
|
52
|
-
})
|
53
|
-
expect{integration.call(mail) {raise exception}}.to raise_error(exception)
|
54
|
-
end
|
55
|
-
|
56
|
-
after do
|
57
|
-
Object.send(:remove_const, :Mailman) if @mocked_mailman
|
58
|
-
module Kernel
|
59
|
-
alias_method :require, :old_require
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
|
65
|
-
describe Bugsnag::Middleware::Mailman do
|
66
|
-
it "adds mailman message to the metadata" do
|
67
|
-
callback = double
|
68
|
-
|
69
|
-
report = double("Bugsnag::Report")
|
70
|
-
expect(report).to receive(:request_data).and_return({
|
71
|
-
:mailman_msg => "test message"
|
72
|
-
})
|
73
|
-
|
74
|
-
expect(report).to receive(:add_tab).with(:mailman, {
|
75
|
-
"message" => "test message"
|
76
|
-
})
|
77
|
-
|
78
|
-
expect(callback).to receive(:call).with(report)
|
79
|
-
|
80
|
-
middleware = Bugsnag::Middleware::Mailman.new(callback)
|
81
|
-
middleware.call(report)
|
82
|
-
end
|
83
|
-
end
|
@@ -1,262 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe 'Bugsnag::MongoBreadcrumbSubscriber', :order => :defined do
|
5
|
-
before do
|
6
|
-
unless defined?(::Mongo)
|
7
|
-
@mocked_mongo = true
|
8
|
-
module ::Mongo
|
9
|
-
module Monitoring
|
10
|
-
COMMAND = 'Command'
|
11
|
-
module Global
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
module Kernel
|
16
|
-
alias_method :old_require, :require
|
17
|
-
def require(path)
|
18
|
-
old_require(path) unless path == 'mongo'
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should subscribe to the mongo monitoring service" do
|
25
|
-
expect(::Mongo::Monitoring::Global).to receive(:subscribe) do |command, subscriber|
|
26
|
-
expect(command).to eq(::Mongo::Monitoring::COMMAND)
|
27
|
-
expect(subscriber).to be_an_instance_of(::Bugsnag::MongoBreadcrumbSubscriber)
|
28
|
-
end
|
29
|
-
load './lib/bugsnag/integrations/mongo.rb'
|
30
|
-
end
|
31
|
-
|
32
|
-
context "with the module loaded" do
|
33
|
-
before do
|
34
|
-
allow(::Mongo::Monitoring::Global).to receive(:subscribe)
|
35
|
-
require './lib/bugsnag/integrations/mongo'
|
36
|
-
end
|
37
|
-
|
38
|
-
let(:subscriber) { Bugsnag::MongoBreadcrumbSubscriber.new }
|
39
|
-
|
40
|
-
describe "#started" do
|
41
|
-
it "calls #leave_command with the event" do
|
42
|
-
event = double
|
43
|
-
expect(subscriber).to receive(:leave_command).with(event)
|
44
|
-
subscriber.started(event)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe "#succeeded" do
|
49
|
-
it "calls #leave_mongo_breadcrumb with the event_name and event" do
|
50
|
-
event = double
|
51
|
-
expect(subscriber).to receive(:leave_mongo_breadcrumb).with("succeeded", event)
|
52
|
-
subscriber.succeeded(event)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe "#failed" do
|
57
|
-
it "calls #leave_mongo_breadcrumb with the event_name and event" do
|
58
|
-
event = double
|
59
|
-
expect(subscriber).to receive(:leave_mongo_breadcrumb).with("failed", event)
|
60
|
-
subscriber.failed(event)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
describe "#leave_mongo_breadcrumb" do
|
65
|
-
let(:event) { double(
|
66
|
-
:command_name => "command",
|
67
|
-
:database_name => "database",
|
68
|
-
:operation_id => "1234567890",
|
69
|
-
:request_id => "123456",
|
70
|
-
:duration => "123.456"
|
71
|
-
) }
|
72
|
-
let(:event_name) { "event_name" }
|
73
|
-
it "leaves a breadcrumb with relevant meta_data, message, type, and automatic notation" do
|
74
|
-
expect(Bugsnag).to receive(:leave_breadcrumb).with(
|
75
|
-
"Mongo query #{event_name}",
|
76
|
-
{
|
77
|
-
:event_name => "mongo.#{event_name}",
|
78
|
-
:command_name => "command",
|
79
|
-
:database_name => "database",
|
80
|
-
:operation_id => "1234567890",
|
81
|
-
:request_id => "123456",
|
82
|
-
:duration => "123.456"
|
83
|
-
},
|
84
|
-
"process",
|
85
|
-
:auto
|
86
|
-
)
|
87
|
-
subscriber.send(:leave_mongo_breadcrumb, event_name, event)
|
88
|
-
end
|
89
|
-
|
90
|
-
it "adds message data if present" do
|
91
|
-
allow(event).to receive(:message).and_return("This is a message")
|
92
|
-
expect(Bugsnag).to receive(:leave_breadcrumb).with(
|
93
|
-
"Mongo query #{event_name}",
|
94
|
-
{
|
95
|
-
:event_name => "mongo.#{event_name}",
|
96
|
-
:command_name => "command",
|
97
|
-
:database_name => "database",
|
98
|
-
:operation_id => "1234567890",
|
99
|
-
:request_id => "123456",
|
100
|
-
:duration => "123.456",
|
101
|
-
:message => "This is a message"
|
102
|
-
},
|
103
|
-
"process",
|
104
|
-
:auto
|
105
|
-
)
|
106
|
-
subscriber.send(:leave_mongo_breadcrumb, event_name, event)
|
107
|
-
end
|
108
|
-
|
109
|
-
context "command data is present" do
|
110
|
-
let(:command) {
|
111
|
-
{
|
112
|
-
"command" => "collection_name_command",
|
113
|
-
"collection" => "collection_name_getMore",
|
114
|
-
"filter" => nil
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
118
|
-
it "adds the collection name" do
|
119
|
-
expect(subscriber).to receive(:pop_command).with("123456").and_return(command)
|
120
|
-
expect(Bugsnag).to receive(:leave_breadcrumb).with(
|
121
|
-
"Mongo query #{event_name}",
|
122
|
-
{
|
123
|
-
:event_name => "mongo.#{event_name}",
|
124
|
-
:command_name => "command",
|
125
|
-
:database_name => "database",
|
126
|
-
:operation_id => "1234567890",
|
127
|
-
:request_id => "123456",
|
128
|
-
:duration => "123.456",
|
129
|
-
:collection => "collection_name_command"
|
130
|
-
},
|
131
|
-
"process",
|
132
|
-
:auto
|
133
|
-
)
|
134
|
-
subscriber.send(:leave_mongo_breadcrumb, event_name, event)
|
135
|
-
end
|
136
|
-
|
137
|
-
it "adds the correct collection name for 'getMore' commands" do
|
138
|
-
allow(event).to receive(:command_name).and_return("getMore")
|
139
|
-
expect(subscriber).to receive(:pop_command).with("123456").and_return(command)
|
140
|
-
expect(Bugsnag).to receive(:leave_breadcrumb).with(
|
141
|
-
"Mongo query #{event_name}",
|
142
|
-
{
|
143
|
-
:event_name => "mongo.#{event_name}",
|
144
|
-
:command_name => "getMore",
|
145
|
-
:database_name => "database",
|
146
|
-
:operation_id => "1234567890",
|
147
|
-
:request_id => "123456",
|
148
|
-
:duration => "123.456",
|
149
|
-
:collection => "collection_name_getMore"
|
150
|
-
},
|
151
|
-
"process",
|
152
|
-
:auto
|
153
|
-
)
|
154
|
-
subscriber.send(:leave_mongo_breadcrumb, event_name, event)
|
155
|
-
end
|
156
|
-
|
157
|
-
it "adds a JSON string of filter data" do
|
158
|
-
command["filter"] = {"a" => 1, "b" => 2, "$or" => [{"c" => 3}, {"d" => 4}]}
|
159
|
-
expect(subscriber).to receive(:pop_command).with("123456").and_return(command)
|
160
|
-
expect(Bugsnag).to receive(:leave_breadcrumb).with(
|
161
|
-
"Mongo query #{event_name}",
|
162
|
-
{
|
163
|
-
:event_name => "mongo.#{event_name}",
|
164
|
-
:command_name => "command",
|
165
|
-
:database_name => "database",
|
166
|
-
:operation_id => "1234567890",
|
167
|
-
:request_id => "123456",
|
168
|
-
:duration => "123.456",
|
169
|
-
:collection => "collection_name_command",
|
170
|
-
:filter => '{"a":"?","b":"?","$or":[{"c":"?"},{"d":"?"}]}'
|
171
|
-
},
|
172
|
-
"process",
|
173
|
-
:auto
|
174
|
-
)
|
175
|
-
subscriber.send(:leave_mongo_breadcrumb, event_name, event)
|
176
|
-
end
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
describe "#sanitize_filter_hash" do
|
181
|
-
it "calls into #sanitize_filter_value with the value from each {k,v} pair" do
|
182
|
-
expect(subscriber.send(:sanitize_filter_hash, {:a => 1, :b => 2})).to eq({:a => '?', :b => '?'})
|
183
|
-
end
|
184
|
-
end
|
185
|
-
|
186
|
-
describe "#sanitize_filter_value" do
|
187
|
-
it "returns '?' for strings, numbers, booleans, and nil" do
|
188
|
-
expect(subscriber.send(:sanitize_filter_value, 523, 0)).to eq('?')
|
189
|
-
expect(subscriber.send(:sanitize_filter_value, "string", 0)).to eq('?')
|
190
|
-
expect(subscriber.send(:sanitize_filter_value, true, 0)).to eq('?')
|
191
|
-
expect(subscriber.send(:sanitize_filter_value, nil, 0)).to eq('?')
|
192
|
-
end
|
193
|
-
|
194
|
-
it "is recursive and iterative for array values" do
|
195
|
-
expect(subscriber.send(:sanitize_filter_value, [1, [2, [3]]], 0)).to eq(['?', ['?', ['?']]])
|
196
|
-
end
|
197
|
-
|
198
|
-
it "calls #sanitize_filter_hash for hash values" do
|
199
|
-
expect(subscriber).to receive(:sanitize_filter_hash).with({:a => 1}, 1)
|
200
|
-
subscriber.send(:sanitize_filter_value, {:a => 1}, 0)
|
201
|
-
end
|
202
|
-
|
203
|
-
it "returns [MAX_FILTER_DEPTH_REACHED] if the filter depth is exceeded" do
|
204
|
-
expect(subscriber.send(:sanitize_filter_value, 1, 4)).to eq('[MAX_FILTER_DEPTH_REACHED]')
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
describe "#leave_command" do
|
209
|
-
it "extracts and stores the command by request_id" do
|
210
|
-
request_id = "123456"
|
211
|
-
command = "this is a command string"
|
212
|
-
event = double(:command => command, :request_id => request_id)
|
213
|
-
|
214
|
-
subscriber.send(:leave_command, event)
|
215
|
-
command_hash = Bugsnag.configuration.request_data[Bugsnag::MongoBreadcrumbSubscriber::MONGO_COMMAND_KEY]
|
216
|
-
expect(command_hash[request_id]).to eq(command)
|
217
|
-
end
|
218
|
-
end
|
219
|
-
|
220
|
-
describe "#pop_command" do
|
221
|
-
let(:request_id) { "123456" }
|
222
|
-
let(:command) { "this is a command string" }
|
223
|
-
before do
|
224
|
-
event = double(:command => command, :request_id => request_id)
|
225
|
-
subscriber.send(:leave_command, event)
|
226
|
-
end
|
227
|
-
|
228
|
-
it "returns the command given a request_id" do
|
229
|
-
expect(subscriber.send(:pop_command, request_id)).to eq(command)
|
230
|
-
end
|
231
|
-
|
232
|
-
it "removes the command from the request_data" do
|
233
|
-
subscriber.send(:pop_command, request_id)
|
234
|
-
command_hash = Bugsnag.configuration.request_data[Bugsnag::MongoBreadcrumbSubscriber::MONGO_COMMAND_KEY]
|
235
|
-
expect(command_hash).not_to have_key(request_id)
|
236
|
-
end
|
237
|
-
|
238
|
-
it "returns nil if the request_id is not found" do
|
239
|
-
expect(subscriber.send(:pop_command, "09876")).to be_nil
|
240
|
-
end
|
241
|
-
end
|
242
|
-
|
243
|
-
describe "#event_commands" do
|
244
|
-
it "returns a hash" do
|
245
|
-
expect(subscriber.send(:event_commands)).to be_a(Hash)
|
246
|
-
end
|
247
|
-
|
248
|
-
it "is stored in request data" do
|
249
|
-
subscriber.send(:event_commands)[:key] = "value"
|
250
|
-
command_hash = Bugsnag.configuration.request_data[Bugsnag::MongoBreadcrumbSubscriber::MONGO_COMMAND_KEY]
|
251
|
-
expect(command_hash[:key]).to eq("value")
|
252
|
-
end
|
253
|
-
end
|
254
|
-
end
|
255
|
-
|
256
|
-
after do
|
257
|
-
Object.send(:remove_const, :Mongo) if @mocked_mongo
|
258
|
-
module Kernel
|
259
|
-
alias_method :require, :old_require
|
260
|
-
end
|
261
|
-
end
|
262
|
-
end
|