Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,28 @@ Rake::TestTask.new do |t|
t.test_files = FileList['test/**/*_test.rb']
end

task default: :test
task default: [:test, 'test:bug_report_template:rails_5']

desc 'Run benchmarks'
namespace :test do
Rake::TestTask.new(:benchmark) do |t|
t.pattern = 'test/benchmark/*_benchmark.rb'
end
end

desc 'Test bug report template'
namespace :test do
namespace :bug_report_template do
task :rails_5 do
puts 'Test bug report templates'
jsonapi_resources_root = File.expand_path('..', __FILE__)
chdir_path = File.join(jsonapi_resources_root, 'lib', 'bug_report_templates')
report_env = {'SILENT' => 'true', 'JSONAPI_RESOURCES_PATH' => jsonapi_resources_root}
Bundler.with_clean_env do
Dir.chdir(chdir_path) do
abort('bug report template rails_5_master fails') unless system(report_env, Gem.ruby, 'rails_5_master.rb')
end
end
end
end
end
16 changes: 13 additions & 3 deletions lib/bug_report_templates/rails_5_master.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
begin
require 'bundler/inline'
require 'bundler'
rescue LoadError => e
STDERR.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end

gemfile(true) do
gemfile(true, ui: ENV['SILENT'] ? Bundler::UI::Silent.new : Bundler::UI::Shell.new) do
source 'https://rubygems.org'

gem 'rails', require: false
Expand All @@ -27,8 +28,17 @@
# prepare active_record database
require 'active_record'

class NullLogger < Logger
def initialize(*_args)
end

def add(*_args, &_block)
end
end

ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.logger = ENV['SILENT'] ? NullLogger.new : Logger.new(STDOUT)
ActiveRecord::Migration.verbose = !ENV['SILENT']

ActiveRecord::Schema.define do
# Add your schema here
Expand Down Expand Up @@ -61,7 +71,7 @@ class YourModelResource < JSONAPI::Resource

class TestApp < Rails::Application
config.root = File.dirname(__FILE__)
config.logger = Logger.new(STDOUT)
config.logger = ENV['SILENT'] ? NullLogger.new : Logger.new(STDOUT)
Rails.logger = config.logger

secrets.secret_token = 'secret_token'
Expand Down
25 changes: 0 additions & 25 deletions test/bug_report_templates_test.rb

This file was deleted.