aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
Commit message (Collapse)AuthorAgeFilesLines
* Make assert_enqueued_with and assert_performed_with returns the matched jobJean Boussier2015-08-101-0/+22
|
* Add missing HelloJob require.Kasper Timm Hansen2015-08-051-0/+1
| | | | This way JobSerializationTest runs in isolation without errors.
* Fixes #20799Johannes Opper2015-08-046-1/+72
| | | | | | | | | | | | | | | | | | | | | | When `#perform_later` is called the locale isn't stored on the queue, which results in a locale reset when the job is performed. An example of the problem: I18n.locale = 'de' HelloJob.perform_now # german message, correct but I18n.locale = 'de' HelloJob.perform_later # english message, incorrect This PR attaches the current I18n.locale to every job during the serialization process. It is then restored during deserialization and used to perform the job with the correct locale. It falls back to the default locale if no serialized locale is found in order to provide backward compatibility with previously stored jobs. It is not necessary to clear the queue for the update.
* Improve error message when serializing unsaved records for jobsFaraz Yashar2015-06-281-0/+7
|
* Fix spelling mistakesYoong Kang Lim2015-05-251-4/+4
|
* Merge pull request #20064 from kddeisz/qu_provider_job_idRafael Mendonça França2015-05-082-7/+10
|\ | | | | Provide provider_job_id to qu adapter.
| * Provide provider_job_id to qu adapter.Kevin Deisz2015-05-072-7/+10
| | | | | | | | Further work to provide provider_job_id for queue adapters.
* | Don't need to explicitly set test_order it's :random defaultMehmet Emin İNAÇ2015-05-081-2/+0
|/
* Make que report back its job_id to provider_job_idJeroen van Baarsen2015-05-071-10/+4
| | | | Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
* Let Sidekiq set provider_job_idJeroen van Baarsen2015-05-071-0/+10
| | | | | | | | | | When a job is added to Sidekiq by ActiveJob, make sure we still can get the original job_id provider by Sidekiq. We do this by adding the sidekiq jid to provider_job_id field on the job object. Partly fixes #18821 Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
* Get provider_job_id from DelayedJobKevin Deisz2015-05-051-0/+6
| | | | | When queueing with DelayedJob, get the id of the job instance and report it back to ActiveJob as provider_job_id.
* Do not use named queues for que adapterRafael Mendonça França2015-05-032-2/+2
| | | | See #19498
* Merge pull request #19498 from chanks/activejob-que-remove-named-queuesRafael Mendonça França2015-05-031-1/+5
|\ | | | | ActiveJob: Stop using Que's named queues.
| * Stop using Que's named queues in its ActiveJob adapter.Chris Hanks2015-03-241-1/+5
| |
* | Merge pull request #19969 from y-yagi/fix_job_helper_methodYves Senn2015-05-011-0/+22
| | | | | | | | match a expected value with message of `assert_equal` in AJ helper methods
* | Queue Classic runs a second earlier than scheduledMatthew Draper2015-04-231-1/+1
| | | | | | | | | | | | | | That seems to be a bug, but as we don't actually care about the precision for our test, we'll just give it a bit longer. [Matthew Draper & Cristian Bica]
* | Only *configure* the queue in setup; DB creation must come laterMatthew Draper2015-04-202-21/+25
| | | | | | | | | | | | | | | | | | setup gets called from the initializer, so it happens more than once in a test run. Trying to drop the database again after the first process is connected is.. ineffective. And entirely pointless. Instead, defer creating the database to start_workers -- which only happens once, right before we start doing anything real.
* | Shuffle a few things in aid of easier debuggingMatthew Draper2015-04-201-20/+36
| | | | | | | | | | | | | | * Don't swallow output -- if there is any, it's probably useful * Wait for the process to finish * Use IPC instead of a sleep * No need for a pidfile
* | Fix sidekiq test order dependencyMatthew Draper2015-04-202-2/+3
| | | | | | | | | | | | | | | | Requiring sidekiq/testing changes stuff, so we need to counteract that after we do so. And given its potential to confuse things, let's do it up front, at a predictable point.
* | avoid double initialization error caused to sidekiqTakumi IINO2015-04-141-13/+34
| | | | | | | | | | | | Sidekiq::CLI#boot_system require "#{dummy_app_path}/config/environment.rb". But this file has already been required in'test/support/integration/helper.rb'. This patch will change to use Sidekiq::Launcher directly.
* | Pass wrapped class name to Sidekiq for logging purposesMike Perham2015-03-231-0/+13
|/ | | | | | | Sidekiq logs the name of the job class being performed. Because ActiveJob wraps the class, this means every job logs as an AJ::JobWrapper instead of the actual class name. Will help fix mperham/sidekiq#2248
* Closes rails/rails#18864: Renaming transactional fixtures to transactional testsBrandon Weiss2015-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | I’m renaming all instances of `use_transcational_fixtures` to `use_transactional_tests` and “transactional fixtures” to “transactional tests”. I’m deprecating `use_transactional_fixtures=`. So anyone who is explicitly setting this will get a warning telling them to use `use_transactional_tests=` instead. I’m maintaining backwards compatibility—both forms will work. `use_transactional_tests` will check to see if `use_transactional_fixtures` is set and use that, otherwise it will use itself. But because `use_transactional_tests` is a class attribute (created with `class_attribute`) this requires a little bit of hoop jumping. The writer method that `class_attribute` generates defines a new reader method that return the value being set. Which means we can’t set the default of `true` using `use_transactional_tests=` as was done previously because that won’t take into account anyone using `use_transactional_fixtures`. Instead I defined the reader method manually and it checks `use_transactional_fixtures`. If it was set then it should be used, otherwise it should return the default, which is `true`. If someone uses `use_transactional_tests=` then it will overwrite the backwards-compatible method with whatever they set.
* `ActiveJob::Base#queue_adapter` is now a `class_attribute`Tamir Duberstein2015-03-112-5/+46
| | | | | | This allows different `queue_adapters` to be used in each `ActiveJob` class heirarchy. Previously, all subclasses used a single global queue adapter.
* `ActiveJob::QueueAdapters::*` are no longer singletonsTamir Duberstein2015-03-114-4/+28
|
* Fix naming collisionTamir Duberstein2015-03-111-1/+1
|
* Fix leaky `only: …` option for Active Job assertionsJeremy Kemper2015-03-061-0/+8
| | | | | | | The filter was set on the pseudo-global TestAdapter but not restored to its original value. See e818f65770fe115ab1cc7fbacc0e7e94d92af6a4
* Fixed ActiveJob integration testsCristian Bica2015-03-052-2/+4
|
* `ActiveJob::QueueAdapters::TestAdapter` is now a singletonTamir Duberstein2015-02-231-1/+1
| | | | | | | | | Since `ActiveJob::TestHelper` globally sets `ActiveJob::Base.queue_adapter` on setup, there is no benefit in instantiating a new `TestAdapter` per tests. The original rationale was to allow parallel tests to run without interference, but since they'd all mutate the global `ActiveJob::Base.queue_adapter`, that was never realized.
* Changed the AJADAPTER to AJ_ADAPTERJeroen van Baarsen2015-02-225-6/+6
| | | | | | | * This allows for easier reading, since those are two words, so they should be split by _ Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
* Add an `:only` option to `perform_enqueued_jobs` to filter jobs based onMichael Ryan2015-02-061-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | type. This allows specific jobs to be tested, while preventing others from being performed unnecessarily. Example: def test_hello_job assert_performed_jobs 1, only: HelloJob do HelloJob.perform_later('jeremy') LoggingJob.perform_later end end An array may also be specified, to support testing multiple jobs. Example: def test_hello_and_logging_jobs assert_nothing_raised do assert_performed_jobs 2, only: [HelloJob, LoggingJob] do HelloJob.perform_later('jeremy') LoggingJob.perform_later('stewie') RescueJob.perform_later('david') end end end Fixes #18802. Trim space and document :only option.
* Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846robertomiranda2015-01-311-1/+1
| | | | ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
* Allow keyword arguments to work with ActiveJobSean Griffin2015-01-302-10/+36
| | | | | | | | | | | | | | | | | Unfortunately, the HashWithIndifferent access approach is insufficient for our needs. It's perfectly reasonable to want to use keyword arguments with Active Job, which we will see as a symbol keyed hash. For Ruby to convert this back to keyword arguments, it must deserialize to a symbol keyed hash. There are two primary changes to the serialization behavior. We first treat a HWIA separately, and mark it as such so we can convert it back into a HWIA during deserialization. For normal hashes, we keep a list of all symbol keys, and convert them back to symbol keys after deserialization. Fixes #18741.
* Fix ActiveJob assertions with a GlobalID object argumentRichard Manyanza2015-01-231-0/+39
|
* Add :only option to assert_no_enqueued_jobsGeorge Claghorn2015-01-081-0/+19
|
* Add :only option to assert_enqueued_jobsGeorge Claghorn2015-01-071-0/+40
| | | | With the option, assert_enqueued_jobs will check the number of times a specific kind of job is enqueued.
* No need to disable sidikiq tests with 1.9.3 anymoreRafael Mendonça França2015-01-041-11/+0
|
* ActiveJob testing improvementsCristian Bica2014-12-302-2/+4
| | | | | | | | 1. The :test adapter wasn't going through a full cycle of serialize/deserialize when performing jobs. Now it does 2. Regular AJ tests were not run for the :test adapter. Now they are 3. ActiveJob::TestHelper uses assert_valid_keys but doesn’t requires the file that implements that method. Now it does
* Expectation comes firstYukio Mizuta2014-12-281-1/+1
|
* redis 3.2.0 doesn't allow tcp protocol anymoreRafael Mendonça França2014-12-131-1/+1
| | | | Use redis protocol
* Include missing requireDavid Heinemeier Hansson2014-12-051-0/+1
|
* Merge pull request #17817 from aripollak/hide-activejob-argsDavid Heinemeier Hansson2014-12-051-0/+8
|\ | | | | GlobalID objects are logged by their URI, not #inspect on the object, to prevent logging private data
| * Only filter GIDable objects; remove cosmetic changesAri Pollak2014-12-011-10/+10
| |
| * Hide potentially sensitive ActiveJob params from logsAri Pollak2014-11-281-10/+18
| | | | | | | | * Show GlobalID instead of full object .inspect output
* | Merge pull request #17825 from aripollak/fix-activejob-sidekiq-integrationRafael Mendonça França2014-12-041-1/+2
|\ \ | | | | | | | | | | | | | | | | | | Fix Sidekiq ActiveJob integration setup Conflicts: activejob/test/support/integration/adapters/sidekiq.rb
| * | Fix Sidekiq ActiveJob integration setupAri Pollak2014-11-281-1/+2
| |/ | | | | | | | | | | * .connect on a Redis connection wasn't valid * Reset logger after we're done testing for redis connection to avoid "closed stream" error when starting server for real from a fork
* / Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-292-4/+2
|/
* Add perform_enqueued_jobsFábio Luiz Nery de Miranda2014-11-251-13/+23
| | | | | | | | | It will set proper queue_adapter state required by assert_performed_jobs assertions. Also the block version of assert_performed_jobs will make sure this state is respected. Fixes #17684
* Added queue_name_delimiter attribute.Terry Meacham2014-10-261-1/+18
| | | | | | | | - Added ActiveJob::Base#queue_name_delimiter to allow for developers using ActiveJob to change the delimiter from the default ('_') to whatever else they may be using (e.g., '.', '-', ...). - Updated source guide to include a blurb about the delimiter.
* Merge pull request #17343 from vipulnsward/inline-aj-callbacksYves Senn2014-10-231-16/+13
|\ | | | | Inline AJ around_perform and around_enqueue in CallbackJob used for tests
| * - Inline AJ around_perform and around_enqueue in CallbackJob used for tests.Vipul A M2014-10-211-16/+13
| |