aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test/support/integration
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2015-11-23 08:06:33 -0700
committerSean Griffin <sean@seantheprogrammer.com>2015-11-23 08:06:33 -0700
commit9e486905815e711e8d291da3e15f883e55249668 (patch)
treefeeb8e7d8bca174f9a8a35a7e8d2877a470ab531 /activejob/test/support/integration
parent4547e894e9f924221f1ec4ff8e71fa750bab3595 (diff)
parent171e788ccd508caad5389edfe04e304a0da344a1 (diff)
downloadrails-9e486905815e711e8d291da3e15f883e55249668.tar.gz
rails-9e486905815e711e8d291da3e15f883e55249668.tar.bz2
rails-9e486905815e711e8d291da3e15f883e55249668.zip
Merge pull request #22380 from wjessop/fix_race_in_aj_integration_tests
Fix race condition testing for job execution order
Diffstat (limited to 'activejob/test/support/integration')
-rw-r--r--activejob/test/support/integration/dummy_app_template.rb7
-rw-r--r--activejob/test/support/integration/test_case_helpers.rb16
2 files changed, 17 insertions, 6 deletions
diff --git a/activejob/test/support/integration/dummy_app_template.rb b/activejob/test/support/integration/dummy_app_template.rb
index 0c062a025e..262ca72327 100644
--- a/activejob/test/support/integration/dummy_app_template.rb
+++ b/activejob/test/support/integration/dummy_app_template.rb
@@ -18,8 +18,11 @@ class TestJob < ActiveJob::Base
queue_as :integration_tests
def perform(x)
- File.open(Rails.root.join("tmp/\#{x}"), "w+") do |f|
- f.write I18n.locale
+ File.open(Rails.root.join("tmp/\#{x}"), "wb+") do |f|
+ f.write Marshal.dump({
+ "locale" => I18n.locale.to_s || "en",
+ "executed_at" => Time.now.to_r
+ })
end
end
end
diff --git a/activejob/test/support/integration/test_case_helpers.rb b/activejob/test/support/integration/test_case_helpers.rb
index 8319d09520..9897f76fd0 100644
--- a/activejob/test/support/integration/test_case_helpers.rb
+++ b/activejob/test/support/integration/test_case_helpers.rb
@@ -42,15 +42,23 @@ module TestCaseHelpers
end
end
+ def job_file(id)
+ Dummy::Application.root.join("tmp/#{id}")
+ end
+
def job_executed(id=@id)
- Dummy::Application.root.join("tmp/#{id}").exist?
+ job_file(id).exist?
+ end
+
+ def job_data(id)
+ Marshal.load(File.binread(job_file(id)))
end
def job_executed_at(id=@id)
- File.new(Dummy::Application.root.join("tmp/#{id}")).ctime
+ job_data(id)["executed_at"]
end
- def job_output
- File.read Dummy::Application.root.join("tmp/#{@id}")
+ def job_executed_in_locale(id=@id)
+ job_data(id)["locale"]
end
end