aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
| |
* | :nail_care: fix typos in activejob queuing testJoe Lewis2014-10-221-2/+2
|/
* - Remove duplication in AJ logging test for setting logger.Vipul A M2014-10-202-3/+1
| | | | - Remove un-needed require in AJ rescue test.
* No need to specify log level, run at log level as all other Rails components.Vipul A M2014-10-201-1/+0
|
* - Removed unused variable warnings from ActiveJob AdaptersVipul A M2014-10-195-5/+5
|
* tests, move `original_` var assignments outside of `begin`.Yves Senn2014-10-102-11/+16
|
* ActiveJob: allow blank queue namesBlake Gentry2014-10-091-0/+20
| | | | | | | As discussed in #17195, Que uses blank queue names by default for performance reasons. At the very least, ActiveJob should allow users to choose "" as their queue name. This commit allows blank queue names, as well as tests to make sure that nil queue names still use the default.
* Make AJ integration tests much less verboseMatthew Draper2014-09-278-26/+14
| | | | In passing, avoid a blind retry in QC: instead, just fix the problem.
* Fix string/gid collision in job argumentsJeremy Kemper2014-09-251-3/+11
| | | | Serialize Global IDs as special objects, distinguishable from Strings
* Merge pull request #17005 from y-yagi/fix_aj_test_helperYves Senn2014-09-231-1/+3
|\ | | | | | | add message to `assert` in `assert_enqueued_with`
| * add message to `assert` in `assert_enqueued_with`yuuji.yaginuma2014-09-231-1/+3
|/
* Tighten up AJ::Arguments and its testsJeremy Kemper2014-09-142-77/+76
| | | | | * Disallow deserialization of non-primitive objects * Broaden coverage; remove superfluous tests
* Se the test order of activejob testsRafael Mendonça França2014-09-121-1/+1
|
* Change gid calls to to_gidRafael Mendonça França2014-09-121-8/+8
|
* ActiveJob Integration TestsCristian Bica2014-09-1116-1/+574
|
* Active Job refactoringCristian Bica2014-09-039-74/+107
|