aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Deprecate exception#original_exception in favor of exception#causeYuki Nishijima2015-11-031-1/+1
|
* Added missing specs for not modifying queues when using AJ test helpersWojciech Wnętrzak2015-10-071-0/+21
|
* Merge pull request #21854 from morgoth/fix-serializing-at-option-in-aj-matchersYves Senn2015-10-051-4/+22
|\ | | | | | | Fixed serializing `:at` option for `assert_eqnueued_with` and `assert_performed_with`
| * Fixed serializing `:at` option for `assert_enqueued_with` and ↵Wojciech Wnętrzak2015-10-031-4/+16
|/ | | | `assert_performed_with`
* Support passing array to `assert_enqueued_jobs` in `:only` optionWojciech Wnętrzak2015-10-031-0/+18
|
* Merge pull request #19425 from wvengen/feature/activejob-priority-masterRafael Mendonça França2015-09-254-2/+66
|\ | | | | Add job priorities to ActiveJob
| * Add job priorities to ActiveJobwvengen2015-09-174-2/+66
| |
* | Use Sidekiq.options to set initial waitAndrew White2015-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | The INITIAL_WAIT constant has moved to the Sidekiq::Poller class but rather than setting the constant directly we can override it via the `:poll_interval_average` option. This was causing random build failures because the test was waiting for 10 seconds for the job to execute but the initial wait was a random value between 10 and 15 seconds.
* | Run `rake db:migrate` for all Active Job integration testsAndrew White2015-09-211-1/+2
| | | | | | | | | | | | If db/schema.rb doesn't exist then we get warnings from the dummy Rails application so run it for all adapters even if they're not using the database to store jobs.
* | Silence logging in Active Job unit testsAndrew White2015-09-211-0/+1
| |
* | :hocho: TyposAkira Matsuda2015-09-211-1/+1
| |
* | Added new lines to run title for easy log readinghiren mistry2015-09-191-1/+1
|/
* Properly log nested parameters to Active JobMarek Pieczyk2015-09-081-0/+8
| | | | Refactor arguments logging method for Active Job
* Silence callback deprecation warning if testing AJclaudiob2015-08-311-0/+1
| | | | | | | | | | | | | | | Currently the log returned by running ActiveJob tests is filled with: > DEPRECATION WARNING: Returning `false` in a callback will not implicitly halt a callback chain in the next release of Rails. To explicitly halt a callback chain, please use `throw :abort` instead. For instance, see https://travis-ci.org/rails/rails/builds/77978273 This happens because some setup and teardown methods [like these one](https://github.com/rails/rails/blob/master/activejob/test/cases/async_job_test.rb#L10-L17) invoke other methods like `perform_asynchronously!` that can return `false`, but not with the intention of halting the process if they do. In my opinion, these deprecation warnings can be silenced to have the log result cleaner (especially when browsing for errors).
* Initial implementation of ActiveJob AsyncAdapter.Jerry D'Antonio2015-08-255-1/+67
|
* use `average_scheduled_poll_interval` option instead of deprecated ↵yuuji.yaginuma2015-08-151-1/+1
| | | | | | | | | | `poll_interval` this removes the following warning: ``` DEPRECATION: `config.poll_interval = 0.5` will be removed in Sidekiq 4. Please update to `config.average_scheduled_poll_interval = 0.5`. ```
* implement `provider_job_id` for `queue_classic`.Yves Senn2015-08-131-2/+2
| | | | | | The latest, currently unreleased, version of queue_classic is required for this to work. See https://github.com/QueueClassic/queue_classic/pull/262 for more details.
* use `assert_not` instead of `refute` as mentioned in our guides.Yves Senn2015-08-131-3/+2
| | | | | | | | | | | As described in the "Follow Coding Conventions" section in our contribution guide (http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#follow-the-coding-conventions) we favor `assert_not` over `refute`. While we don't usually make stylistic changes on it's own I opted to do it in this case. The reason being that test cases are usually copied as a starting point for new tests. This results in a spread of `refute` in files that have been using it already.
* 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.