diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2018-05-01 13:33:50 -0400 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2018-05-01 13:33:50 -0400 |
commit | 5b9cd1a57992a47f323cefc9dd785a45468759b0 (patch) | |
tree | 662584a67ac1b6dd84abc54f3ba0dc10ac078f5e /activejob/test | |
parent | ac2bc00482c1cf47a57477edb6ab1426a3ba593c (diff) | |
download | rails-5b9cd1a57992a47f323cefc9dd785a45468759b0.tar.gz rails-5b9cd1a57992a47f323cefc9dd785a45468759b0.tar.bz2 rails-5b9cd1a57992a47f323cefc9dd785a45468759b0.zip |
Make sure that when serialing an just deserialized job arguments are there
When a job was just deserialized `arguments` is `nil` and the serialized
arguments are in the `@serialized_arguments` variable. If we try to
serialize this job again the arguments are going to be `nil` instead of
what was serialized.
The test we had was not checking this case because it was deserializing
the job in the same object that had the arguments.
To fix this, when the `@serialized_arguments` are present we return it
instead of the result of the `arguments` serialized.
Diffstat (limited to 'activejob/test')
-rw-r--r-- | activejob/test/cases/job_serialization_test.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/activejob/test/cases/job_serialization_test.rb b/activejob/test/cases/job_serialization_test.rb index 5c9994508e..86f3651564 100644 --- a/activejob/test/cases/job_serialization_test.rb +++ b/activejob/test/cases/job_serialization_test.rb @@ -23,16 +23,16 @@ class JobSerializationTest < ActiveSupport::TestCase test "serialize and deserialize are symmetric" do # Round trip a job in memory only - h1 = HelloJob.new - h1.deserialize(h1.serialize) + h1 = HelloJob.new("Rafael") + h2 = HelloJob.deserialize(h1.serialize) + assert_equal h1.serialize, h2.serialize # Now verify it's identical to a JSON round trip. # We don't want any non-native JSON elements in the job hash, # like symbols. - payload = JSON.dump(h1.serialize) - h2 = HelloJob.new - h2.deserialize(JSON.load(payload)) - assert_equal h1.serialize, h2.serialize + payload = JSON.dump(h2.serialize) + h3 = HelloJob.deserialize(JSON.load(payload)) + assert_equal h2.serialize, h3.serialize end test "deserialize sets locale" do |