From 623d0464ce8120cd2ae3bfdb12113a265ad09d44 Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Sat, 12 Feb 2022 15:41:02 +0000 Subject: [PATCH] Refactor sentry-rails test app (#1721) * Rename spec/support to spec/dummy * Set view_path via config * DB connection doesn't need to be established individually --- sentry-rails/.gitignore | 2 +- .../spec/{support => dummy}/test_rails_app/app.rb | 12 +++++++----- .../test_rails_app/app/assets/config/manifest.js | 0 .../{support => dummy}/test_rails_app/apps/5-0.rb | 4 ---- .../{support => dummy}/test_rails_app/apps/5-2.rb | 4 ---- .../{support => dummy}/test_rails_app/apps/6-0.rb | 4 ---- .../{support => dummy}/test_rails_app/apps/6-1.rb | 4 ---- .../{support => dummy}/test_rails_app/apps/7-0.rb | 4 ---- .../{support => dummy}/test_rails_app/config.ru | 0 .../test_rails_app/config/database.yml | 0 .../test_rails_app/config/storage.yml | 0 .../test_rails_app/public/sentry-logo.png | Bin .../test_rails_app/public/static.html | 0 .../test_rails_app/test_template.html.erb | 0 sentry-rails/spec/spec_helper.rb | 2 +- 15 files changed, 9 insertions(+), 27 deletions(-) rename sentry-rails/spec/{support => dummy}/test_rails_app/app.rb (86%) rename sentry-rails/spec/{support => dummy}/test_rails_app/app/assets/config/manifest.js (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/apps/5-0.rb (90%) rename sentry-rails/spec/{support => dummy}/test_rails_app/apps/5-2.rb (95%) rename sentry-rails/spec/{support => dummy}/test_rails_app/apps/6-0.rb (96%) rename sentry-rails/spec/{support => dummy}/test_rails_app/apps/6-1.rb (96%) rename sentry-rails/spec/{support => dummy}/test_rails_app/apps/7-0.rb (97%) rename sentry-rails/spec/{support => dummy}/test_rails_app/config.ru (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/config/database.yml (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/config/storage.yml (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/public/sentry-logo.png (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/public/static.html (100%) rename sentry-rails/spec/{support => dummy}/test_rails_app/test_template.html.erb (100%) diff --git a/sentry-rails/.gitignore b/sentry-rails/.gitignore index a618694de..d6c93fe50 100644 --- a/sentry-rails/.gitignore +++ b/sentry-rails/.gitignore @@ -5,7 +5,7 @@ /doc/ /pkg/ /spec/reports/ -/spec/support/test_rails_app/db +/spec/dummy/test_rails_app/db /tmp/ # rspec failure tracking diff --git a/sentry-rails/spec/support/test_rails_app/app.rb b/sentry-rails/spec/dummy/test_rails_app/app.rb similarity index 86% rename from sentry-rails/spec/support/test_rails_app/app.rb rename to sentry-rails/spec/dummy/test_rails_app/app.rb index ccbd35858..7097ed8fb 100644 --- a/sentry-rails/spec/support/test_rails_app/app.rb +++ b/sentry-rails/spec/dummy/test_rails_app/app.rb @@ -11,6 +11,7 @@ ActiveSupport::Deprecation.silenced = true ActiveRecord::Base.logger = Logger.new(nil) +ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") # need to init app before establish connection so sqlite can place the database file under the correct project root class TestApp < Rails::Application @@ -24,15 +25,15 @@ class TestApp < Rails::Application case Gem::Version.new(Rails.version) when -> (v) { v < v5_2 } - require "support/test_rails_app/apps/5-0" + require "dummy/test_rails_app/apps/5-0" when -> (v) { v.between?(v5_2, v6_0) } - require "support/test_rails_app/apps/5-2" + require "dummy/test_rails_app/apps/5-2" when -> (v) { v.between?(v6_0, v6_1) } - require "support/test_rails_app/apps/6-0" + require "dummy/test_rails_app/apps/6-0" when -> (v) { v.between?(v6_1, v7_0) } - require "support/test_rails_app/apps/6-1" + require "dummy/test_rails_app/apps/6-1" when -> (v) { v.between?(v7_0, v7_1) } - require "support/test_rails_app/apps/7-0" + require "dummy/test_rails_app/apps/7-0" end def make_basic_app(&block) @@ -44,6 +45,7 @@ def self.name end end + app.config.action_controller.view_paths = "spec/dummy/test_rails_app" app.config.hosts = nil app.config.secret_key_base = "test" app.config.logger = Logger.new(nil) diff --git a/sentry-rails/spec/support/test_rails_app/app/assets/config/manifest.js b/sentry-rails/spec/dummy/test_rails_app/app/assets/config/manifest.js similarity index 100% rename from sentry-rails/spec/support/test_rails_app/app/assets/config/manifest.js rename to sentry-rails/spec/dummy/test_rails_app/app/assets/config/manifest.js diff --git a/sentry-rails/spec/support/test_rails_app/apps/5-0.rb b/sentry-rails/spec/dummy/test_rails_app/apps/5-0.rb similarity index 90% rename from sentry-rails/spec/support/test_rails_app/apps/5-0.rb rename to sentry-rails/spec/dummy/test_rails_app/apps/5-0.rb index c146b120b..b9def2b54 100644 --- a/sentry-rails/spec/support/test_rails_app/apps/5-0.rb +++ b/sentry-rails/spec/dummy/test_rails_app/apps/5-0.rb @@ -1,5 +1,3 @@ -ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") - ActiveRecord::Schema.define do create_table :posts, force: true do |t| end @@ -35,8 +33,6 @@ def show end class HelloController < ActionController::Base - prepend_view_path "spec/support/test_rails_app" - def exception raise "An unhandled exception!" end diff --git a/sentry-rails/spec/support/test_rails_app/apps/5-2.rb b/sentry-rails/spec/dummy/test_rails_app/apps/5-2.rb similarity index 95% rename from sentry-rails/spec/support/test_rails_app/apps/5-2.rb rename to sentry-rails/spec/dummy/test_rails_app/apps/5-2.rb index a4c59766c..504fdfd8f 100644 --- a/sentry-rails/spec/support/test_rails_app/apps/5-2.rb +++ b/sentry-rails/spec/dummy/test_rails_app/apps/5-2.rb @@ -1,7 +1,5 @@ require "active_storage/engine" -ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") - ActiveRecord::Schema.define do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -81,8 +79,6 @@ def attach end class HelloController < ActionController::Base - prepend_view_path "spec/support/test_rails_app" - def exception raise "An unhandled exception!" end diff --git a/sentry-rails/spec/support/test_rails_app/apps/6-0.rb b/sentry-rails/spec/dummy/test_rails_app/apps/6-0.rb similarity index 96% rename from sentry-rails/spec/support/test_rails_app/apps/6-0.rb rename to sentry-rails/spec/dummy/test_rails_app/apps/6-0.rb index e99a594b7..8d0f457e7 100644 --- a/sentry-rails/spec/support/test_rails_app/apps/6-0.rb +++ b/sentry-rails/spec/dummy/test_rails_app/apps/6-0.rb @@ -1,8 +1,6 @@ require "active_storage/engine" require "action_cable/engine" -ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") - ActiveRecord::Schema.define do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -84,8 +82,6 @@ def attach end class HelloController < ActionController::Base - prepend_view_path "spec/support/test_rails_app" - def exception raise "An unhandled exception!" end diff --git a/sentry-rails/spec/support/test_rails_app/apps/6-1.rb b/sentry-rails/spec/dummy/test_rails_app/apps/6-1.rb similarity index 96% rename from sentry-rails/spec/support/test_rails_app/apps/6-1.rb rename to sentry-rails/spec/dummy/test_rails_app/apps/6-1.rb index 2f55592fe..546853d1f 100644 --- a/sentry-rails/spec/support/test_rails_app/apps/6-1.rb +++ b/sentry-rails/spec/dummy/test_rails_app/apps/6-1.rb @@ -1,8 +1,6 @@ require "active_storage/engine" require "action_cable/engine" -ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") - ActiveRecord::Schema.define do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -85,8 +83,6 @@ def attach end class HelloController < ActionController::Base - prepend_view_path "spec/support/test_rails_app" - def exception raise "An unhandled exception!" end diff --git a/sentry-rails/spec/support/test_rails_app/apps/7-0.rb b/sentry-rails/spec/dummy/test_rails_app/apps/7-0.rb similarity index 97% rename from sentry-rails/spec/support/test_rails_app/apps/7-0.rb rename to sentry-rails/spec/dummy/test_rails_app/apps/7-0.rb index 87d20cc36..ae46bf27e 100644 --- a/sentry-rails/spec/support/test_rails_app/apps/7-0.rb +++ b/sentry-rails/spec/dummy/test_rails_app/apps/7-0.rb @@ -1,8 +1,6 @@ require "active_storage/engine" require "action_cable/engine" -ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: "db") - ActiveRecord::Schema.define do create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false @@ -85,8 +83,6 @@ def attach end class HelloController < ActionController::Base - prepend_view_path "spec/support/test_rails_app" - def exception raise "An unhandled exception!" end diff --git a/sentry-rails/spec/support/test_rails_app/config.ru b/sentry-rails/spec/dummy/test_rails_app/config.ru similarity index 100% rename from sentry-rails/spec/support/test_rails_app/config.ru rename to sentry-rails/spec/dummy/test_rails_app/config.ru diff --git a/sentry-rails/spec/support/test_rails_app/config/database.yml b/sentry-rails/spec/dummy/test_rails_app/config/database.yml similarity index 100% rename from sentry-rails/spec/support/test_rails_app/config/database.yml rename to sentry-rails/spec/dummy/test_rails_app/config/database.yml diff --git a/sentry-rails/spec/support/test_rails_app/config/storage.yml b/sentry-rails/spec/dummy/test_rails_app/config/storage.yml similarity index 100% rename from sentry-rails/spec/support/test_rails_app/config/storage.yml rename to sentry-rails/spec/dummy/test_rails_app/config/storage.yml diff --git a/sentry-rails/spec/support/test_rails_app/public/sentry-logo.png b/sentry-rails/spec/dummy/test_rails_app/public/sentry-logo.png similarity index 100% rename from sentry-rails/spec/support/test_rails_app/public/sentry-logo.png rename to sentry-rails/spec/dummy/test_rails_app/public/sentry-logo.png diff --git a/sentry-rails/spec/support/test_rails_app/public/static.html b/sentry-rails/spec/dummy/test_rails_app/public/static.html similarity index 100% rename from sentry-rails/spec/support/test_rails_app/public/static.html rename to sentry-rails/spec/dummy/test_rails_app/public/static.html diff --git a/sentry-rails/spec/support/test_rails_app/test_template.html.erb b/sentry-rails/spec/dummy/test_rails_app/test_template.html.erb similarity index 100% rename from sentry-rails/spec/support/test_rails_app/test_template.html.erb rename to sentry-rails/spec/dummy/test_rails_app/test_template.html.erb diff --git a/sentry-rails/spec/spec_helper.rb b/sentry-rails/spec/spec_helper.rb index 8fb44a0f0..f164a75a1 100644 --- a/sentry-rails/spec/spec_helper.rb +++ b/sentry-rails/spec/spec_helper.rb @@ -20,7 +20,7 @@ end # this already requires the sdk -require "support/test_rails_app/app" +require "dummy/test_rails_app/app" # need to be required after rails is loaded from the above require "rspec/rails"