Skip to content

Commit

Permalink
Merge pull request #42286 from zzak/actionmailbox/test/dummy/defaults
Browse files Browse the repository at this point in the history
Update test dummy application defaults to remove warnings
  • Loading branch information
pixeltrix committed Jun 21, 2021
2 parents 799d263 + 379232f commit 46fcce3
Show file tree
Hide file tree
Showing 13 changed files with 34 additions and 46 deletions.
2 changes: 1 addition & 1 deletion actionmailbox/test/dummy/config/application.rb
Expand Up @@ -7,7 +7,7 @@
module Dummy
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
config.load_defaults 7.0

# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
Expand Down
2 changes: 1 addition & 1 deletion actiontext/test/dummy/config/application.rb
Expand Up @@ -8,7 +8,7 @@
module Dummy
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
config.load_defaults 7.0

# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
Expand Down
18 changes: 9 additions & 9 deletions actiontext/test/template/form_helper_test.rb
Expand Up @@ -33,7 +33,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="content" id="trix_input_1" />' \
'<trix-editor input="trix_input_1" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -47,7 +47,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[content]" id="message_content_trix_input_message" />' \
'<trix-editor id="message_content" input="message_content_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -61,7 +61,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[content]" id="message_content_trix_input_message" />' \
'<trix-editor id="message_content" input="message_content_trix_input_message" class="custom-class" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -75,7 +75,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[not_an_attribute]" id="message_not_an_attribute_trix_input_message" />' \
'<trix-editor id="message_not_an_attribute" input="message_not_an_attribute_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -89,7 +89,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[content]" id="trix_input_2" />' \
'<trix-editor id="message_content" input="trix_input_2" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -103,7 +103,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[content]" id="message_content_trix_input_message" />' \
'<trix-editor placeholder="Content" id="message_content" input="message_content_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -119,7 +119,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[title]" id="message_title_trix_input_message" />' \
'<trix-editor placeholder="Story title" id="message_title" input="message_title_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -133,7 +133,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[title]" id="message_title_trix_input_message" value="&lt;h1&gt;hello world&lt;/h1&gt;" />' \
'<trix-editor id="message_title" input="message_title_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand All @@ -147,7 +147,7 @@ def form_with(*, **)
end

assert_dom_equal \
'<form action="/messages" accept-charset="UTF-8" data-remote="true" method="post">' \
'<form action="/messages" accept-charset="UTF-8" method="post">' \
'<input type="hidden" name="message[title]" id="message_title_trix_input_message" form="other_form" />' \
'<trix-editor id="message_title" input="message_title_trix_input_message" class="trix-content" data-direct-upload-url="http://test.host/rails/active_storage/direct_uploads" data-blob-url-template="http://test.host/rails/active_storage/blobs/redirect/:signed_id/:filename">' \
"</trix-editor>" \
Expand Down
Expand Up @@ -4,6 +4,7 @@
# ActiveStorage::VariantRecord. This is only used if `ActiveStorage.track_variants` is enabled.
class ActiveStorage::VariantWithRecord
attr_reader :blob, :variation
delegate :service, to: :blob

def initialize(blob, variation)
@blob, @variation = blob, ActiveStorage::Variation.wrap(variation)
Expand Down
3 changes: 2 additions & 1 deletion activestorage/test/database/setup.rb
Expand Up @@ -3,7 +3,8 @@
require_relative "create_users_migration"
require_relative "create_groups_migration"

ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
# Writing and reading roles are required for the "previewing on the writer DB" test
ActiveRecord::Base.connects_to(database: { writing: :primary, reading: :replica })
ActiveRecord::Base.connection.migration_context.migrate
ActiveStorageCreateUsers.migrate(:up)
ActiveStorageCreateGroups.migrate(:up)
2 changes: 1 addition & 1 deletion activestorage/test/dummy/config/application.rb
Expand Up @@ -15,7 +15,7 @@

module Dummy
class Application < Rails::Application
config.load_defaults 6.0
config.load_defaults 7.0

config.active_storage.service = :local
end
Expand Down
31 changes: 7 additions & 24 deletions activestorage/test/dummy/config/database.yml
@@ -1,25 +1,8 @@
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000

development:
<<: *default
database: db/development.sqlite3

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3

production:
<<: *default
database: db/production.sqlite3
primary: &primary
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
database: ':memory:'
replica:
<<: *primary
5 changes: 3 additions & 2 deletions activestorage/test/models/blob_test.rb
Expand Up @@ -6,6 +6,7 @@

class ActiveStorage::BlobTest < ActiveSupport::TestCase
include ActiveSupport::Testing::MethodCallAssertions
include ActiveJob::TestHelper

test "unattached scope" do
[ create_blob(filename: "funky.jpg"), create_blob(filename: "town.jpg") ].tap do |blobs|
Expand Down Expand Up @@ -229,12 +230,12 @@ class ActiveStorage::BlobTest < ActiveSupport::TestCase
assert_not ActiveStorage::Blob.service.exist?(blob.key)
end

test "purge deletes variants from external service" do
test "purge deletes variants from external service with the purge_later" do
blob = create_file_blob
variant = blob.variant(resize: "100>").processed

blob.purge
assert_not ActiveStorage::Blob.service.exist?(variant.key)
assert_enqueued_with(job: ActiveStorage::PurgeJob, args: [variant.image.blob])
end

test "purge does nothing when attachments exist" do
Expand Down
4 changes: 2 additions & 2 deletions activestorage/test/models/preview_test.rb
Expand Up @@ -54,8 +54,8 @@ class ActiveStorage::PreviewTest < ActiveSupport::TestCase
test "previewing on the writer DB" do
blob = create_file_blob(filename: "report.pdf", content_type: "application/pdf")

# Simulate a selector middleware switching to a read-only replica.
ActiveRecord::Base.connection_handler.while_preventing_writes do
# prevent_writes option is required because there is no automatic write protection anymore
ActiveRecord::Base.connected_to(role: ActiveRecord.reading_role, prevent_writes: true) do
blob.preview(resize: "640x280").processed
end

Expand Down
4 changes: 2 additions & 2 deletions guides/source/configuring.md
Expand Up @@ -1068,7 +1068,7 @@ text/javascript image/svg+xml application/postscript application/x-shockwave-fla

* `config.active_storage.video_preview_arguments` can be used to alter the way ffmpeg generates video preview images.

The default is `"-vf select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015),loop=loop=-1:size=2,trim=start_frame=1 -frames:v 1 -f image2"`
The default is `"-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"`

1. `select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015)`: Select the first video frame, plus keyframes, plus frames that meet the scene change threshold.
2. `loop=loop=-1:size=2,trim=start_frame=1`: To use the first video frame as a fallback when no other frames meet the criteria, loop the first (one or) two selected frames, then drop the first looped frame.
Expand All @@ -1090,7 +1090,7 @@ text/javascript image/svg+xml application/postscript application/x-shockwave-fla
- `config.active_support.cache_format_version`: `7.0`
- `config.action_dispatch.return_only_request_media_type_on_content_type`: `false`
- `config.action_mailer.smtp_timeout`: `5`
- `config.active_storage.video_preview_arguments`: `"-vf select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015),loop=loop=-1:size=2,trim=start_frame=1 -frames:v 1 -f image2"`
- `config.active_storage.video_preview_arguments`: `"-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"`

#### For '6.1', defaults from previous versions below and:

Expand Down
3 changes: 2 additions & 1 deletion railties/lib/rails/application/configuration.rb
Expand Up @@ -223,7 +223,8 @@ def load_defaults(target_version)

if respond_to?(:active_storage)
active_storage.video_preview_arguments =
"-vf select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015),loop=loop=-1:size=2,trim=start_frame=1 -frames:v 1 -f image2"
"-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1'" \
" -frames:v 1 -f image2"
end
else
raise "Unknown version #{target_version.to_s.inspect}"
Expand Down
Expand Up @@ -42,4 +42,4 @@
# better preview images (rather than the previous default of using the first frame
# of the video).
# Rails.application.config.active_storage.video_preview_arguments =
# "-vf select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015),loop=loop=-1:size=2,trim=start_frame=1 -frames:v 1 -f image2"
# "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"
3 changes: 2 additions & 1 deletion railties/test/application/configuration_test.rb
Expand Up @@ -3032,7 +3032,8 @@ class MyLogger < ::Logger
app "development"

assert_equal ActiveStorage.video_preview_arguments,
"-vf select=eq(n\,0)+eq(key\,1)+gt(scene\,0.015),loop=loop=-1:size=2,trim=start_frame=1 -frames:v 1 -f image2"
"-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1'" \
" -frames:v 1 -f image2"
end

test "hosts include .localhost in development" do
Expand Down

0 comments on commit 46fcce3

Please sign in to comment.