mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
07a13f7abb
Makes tests much more quietly, as opposed to the enormous amount of logging that appears right now. This setting is used in AJ, as well as other frameworks. Output from test run: ``` ......................................................... Finished in 3.003355s, 18.9788 runs/s, 45.2827 assertions/s. 57 runs, 136 assertions, 0 failures, 0 errors, 0 skips ```
69 lines
2.3 KiB
Ruby
69 lines
2.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
|
|
|
|
require "bundler/setup"
|
|
require "active_support"
|
|
require "active_support/test_case"
|
|
require "active_support/testing/autorun"
|
|
|
|
begin
|
|
require "byebug"
|
|
rescue LoadError
|
|
end
|
|
|
|
require "active_job"
|
|
ActiveJob::Base.queue_adapter = :test
|
|
ActiveJob::Base.logger = ActiveSupport::Logger.new(nil)
|
|
|
|
# Filter out Minitest backtrace while allowing backtrace from other libraries
|
|
# to be shown.
|
|
Minitest.backtrace_filter = Minitest::BacktraceFilter.new
|
|
|
|
require "yaml"
|
|
SERVICE_CONFIGURATIONS = begin
|
|
erb = ERB.new(Pathname.new(File.expand_path("../service/configurations.yml", __FILE__)).read)
|
|
configuration = YAML.load(erb.result) || {}
|
|
configuration.deep_symbolize_keys
|
|
rescue Errno::ENOENT
|
|
puts "Missing service configuration file in test/service/configurations.yml"
|
|
{}
|
|
end
|
|
|
|
require "tmpdir"
|
|
ActiveStorage::Blob.service = ActiveStorage::Service::DiskService.new(root: Dir.mktmpdir("active_storage_tests"))
|
|
ActiveStorage::Service.logger = ActiveSupport::Logger.new(nil)
|
|
|
|
ActiveStorage.verifier = ActiveSupport::MessageVerifier.new("Testing")
|
|
|
|
class ActiveSupport::TestCase
|
|
self.file_fixture_path = File.expand_path("../fixtures/files", __FILE__)
|
|
|
|
private
|
|
def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain")
|
|
ActiveStorage::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type
|
|
end
|
|
|
|
def create_image_blob(filename: "racecar.jpg", content_type: "image/jpeg")
|
|
ActiveStorage::Blob.create_after_upload! \
|
|
io: file_fixture(filename).open,
|
|
filename: filename, content_type: content_type
|
|
end
|
|
|
|
def create_blob_before_direct_upload(filename: "hello.txt", byte_size:, checksum:, content_type: "text/plain")
|
|
ActiveStorage::Blob.create_before_direct_upload! filename: filename, byte_size: byte_size, checksum: checksum, content_type: content_type
|
|
end
|
|
|
|
def read_image_variant(variant)
|
|
MiniMagick::Image.open variant.service.send(:path_for, variant.key)
|
|
end
|
|
end
|
|
|
|
require "global_id"
|
|
GlobalID.app = "ActiveStorageExampleApp"
|
|
ActiveRecord::Base.send :include, GlobalID::Identification
|
|
|
|
class User < ActiveRecord::Base
|
|
has_one_attached :avatar
|
|
has_many_attached :highlights
|
|
end
|