aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
Commit message (Collapse)AuthorAgeFilesLines
* change app/plugin generators to be more SCM agnosticDerek Prior2012-09-122-4/+16
| | | | | | | | | | | | | | | | | Users of other SCM's can now generate rails apps that will add the "empty" directories to source control, but will not have a useless .gitignore or mis-named .gitkeep files. * Change `rails new` and `rails plugin new` generators to name the `.gitkeep` as `.keep` in a more SCM-agnostic way. * Change `--skip-git` option to only skip the `.gitignore` file and still generate the `.keep` files. * Add `--skip-keeps` option to skip the `.keep` files. It closes #2800.
* Allow users to configure the queue for the mailersRafael Mendonça França2012-09-121-0/+17
| | | | | | | | | | | | This allow the users to do: config.action_mailer.queue = MyQueue.new and class UsersMailer < ActionMailer::Base self.queue = MyQueue.new end
* Use the SynchronousQueue as default in production and development.Rafael Mendonça França2012-09-121-5/+6
| | | | | We should not let the users use the ThreadedConsumer without know about the risks
* fixed support for DATABASE_URL for rake db tasksGrace Liu2012-09-112-0/+213
| | | | | | | | | | | | - added tests to confirm establish_connection uses DATABASE_URL and Rails.env correctly even when no arguments are passed in. - updated rake db tasks to support DATABASE_URL, and added tests to confirm correct behavior for these rake tasks. (Removed establish_connection call from some tasks since in those cases the :environment task already made sure the function would be called) - updated Resolver so that when it resolves the database url, it removes hash values with empty strings from the config spec (e.g. to support connection to postgresql when no username is specified).
* Rake assets:precompile shouldn't fail quietly.Dmitry Vorotilin2012-09-111-7/+4
| | | | We should show to user original issue if rake task will be aborted.
* &#39 dates back to SGML when &#x27 was introduced in HTML 4.0Kalys Osmonov2012-09-091-2/+2
|
* add mini-validator on creating migrationJan Bernacki2012-09-061-0/+7
| | | | move validation to AR
* Don't use Gemfile in test application in railtiesPiotr Sarnacki2012-08-311-5/+5
| | | | | | | | | | | | | Option to run `bundle install` after generating new appplication was added recently to rails. Since introduction, it contained a subtle bug that caused it to use `Gemfile` from current directory (if it exists) rather than from generated directory. This also accidentaly caused railties tests to work without any problems - after generating test app it just used `Gemfile` from the repository, rather than the one in generated app. After fixing the bug mentioned above, this of course broke. The easiest way to bypass that is to not generate a `Gemfile` for test application - with such setup Bundler will just use first available `Gemfile` in one of the parent directories.
* Revert "Revert changes related to `bundle install` fixes in `rails new`"Piotr Sarnacki2012-08-311-2/+7
| | | | | | | | The cause of the previous revert was bug in bundler that made it hard to make railties test work. Fix for bundler was recently pushed to github, so now we can safely get back to the original commit. This reverts commit 0f5cc34ab58cda99d1401ecc82e1ebb873838dd7.
* Remove unused require.kennyj2012-08-292-3/+0
|
* Fixes wrong test class names.kennyj2012-08-294-4/+4
|
* Raise more helpful error message on missing gemPrem Sichanugrist2012-08-241-0/+19
| | | | | | Tell people to install `activerecord-session_store` gem when it's not installed instead ofraising `NameError` on missing `ActionDispatch::Session::ActiveRecordStore`.
* Extract ActiveRecord::SessionStore from RailsPrem Sichanugrist2012-08-242-47/+0
| | | | | This functionality will be available from gem `active_record-session_store` instead.
* Fix failure on middleware/exceptions_testJosé Valim2012-08-231-10/+4
| | | | | | | The reason the test was failing was because when the test invokes `app.config`, the app is loaded and, as `eager_load` is set to true, it disables the dependency loading mechanism, so controllers that are later defined are not loaded.
* before_eager_load only runs when eager_load is trueRafael Mendonça França2012-08-221-4/+4
|
* Remove app building setup/teardown for remote ip railtie testsCarlos Antonio da Silva2012-08-211-14/+0
| | | | | These tests rely on "make_basic_app", which is a faster version that does not need to create the whole app directory structure.
* Set eager load option in "make_basic_app" for railties testsCarlos Antonio da Silva2012-08-211-0/+1
| | | | Avoid output with config option not set when running some tests.
* Deprecate config.threadsafe!José Valim2012-08-211-12/+9
|
* Get rid of config.preload_frameworks in favor of config.eager_load_namespacesJosé Valim2012-08-212-17/+0
| | | | | | | The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
* Remove allow_concurrency as a flagJosé Valim2012-08-212-3/+4
| | | | | | | | | | | | | | | | The flag was mainly used to add a Rack::Lock middleware to the stack, but the only scenario the lock is desired is in development. If you are deploying on a not-threaded server, the Rack::Lock does not provide any benefit since you don't have concurrent accesses. On the other hand, if you are on a threaded server, you don't want the lock, since it defeats the purpose of using a threaded server. If there is someone out there, running on a thread server and does want a lock, it can be added to your environment as easy as: `use Rack::Lock`
* Allow users to choose when to eager_load the application or not.José Valim2012-08-212-1/+25
| | | | | | | | | | | | | | | | | Previously, the eager load behavior was mostly coupled to config.cache_classes, however this was suboptimal since in some environments a developer may want to cache classes but not necessarily load them all on boot (for example, test env). This pull request also promotes the use of config.eager_load set to true by default in production. In the majority of the cases, this is the behavior you want since it will copy most of your app into memory on boot (which was also the previous behavior). Finally, this fix a long standing Rails bug where it was impossible to access a model in a rake task when Rails was set as thread safe.
* Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-112-15/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* remove some artifacts of dependent_restrict_raises that I missedJon Leighton2012-08-102-2/+0
|
* Remove the dependent_restrict_raises option.Jon Leighton2012-08-101-5/+0
| | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* make assertions easier to track downAaron Patterson2012-08-071-9/+17
|
* Revert "The application generator generates `public/humans.txt` with some ↵David Heinemeier Hansson2012-08-071-5/+0
| | | | basic data". I dont consider this something most people is going to want most of the time. If you want to add it in your own app, knock yourself out. But it doesnt belong in Rails imo
* Fix tests.Rafael Mendonça França2012-08-021-2/+2
| | | | | Since b6ab4417720e03f1551abda2f1e4bd0a392dd04e the single quotes are being escaped in the templates.
* Remove ActionDispatch::Head middleware in favor of Rack::HeadSantiago Pastorino2012-07-232-2/+8
| | | | Closes #7110 there's more work to do on rack-cache issue 69
* adding Rails::Queueing::ContainerAaron Patterson2012-07-192-5/+35
| | | | | | | | | | | | | | | This allows us to do: In your configuration: Rails.queue[:image_queue] = SomeQueue.new Rails.queue[:mail_queue] = SomeQueue.new In your app code: Rails.queue[:mail_queue].push MailJob.new Both jobs pushed to the same default queue Rails.queue.push DefaultJob.new Rails.queue[:default].push DefaultJob.new
* Add fkey attributes to `join_table` migration generatorAleksey Magusev2012-07-191-1/+1
|
* Merge pull request #7028 from lexmag/join_table_indexesJosé Valim2012-07-181-0/+13
|\ | | | | Add indexes to create_join_table method
| * Add join table migration generatorAleksey Magusev2012-07-181-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | For instance, running rails g migration CreateMediaJoinTable artists musics:uniq will create a migration with create_join_table :artists, :musics do |t| # t.index [:artist_id, :music_id] t.index [:music_id, :artist_id], unique: true end
* | Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-181-1/+1
|/
* Merge pull request #6956 from lexmag/ref_migration_generatorRafael Mendonça França2012-07-081-0/+29
|\ | | | | Add references statements to migration generator
| * Add references statements to migration generatorAleksey Magusev2012-07-081-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | AddXXXToYYY/RemoveXXXFromYYY migrations are produced with references statements, for instance rails g migration AddReferencesToProducts user:references supplier:references{polymorphic} will generate the migration with: add_reference :products, :user, index: true add_reference :products, :supplier, polymorphic: true, index: true
* | Remove RoutesInspector from railties, since it was moved to APCarlos Antonio da Silva2012-07-081-168/+0
|/ | | | | Changes introduced in 7404cda9f61e41d52ce244d60abbf598684a96c4. Fix railties build.
* Fixed generating namespaced table_name_prefix in enginesWojciech Wnętrzak2012-07-061-1/+1
|
* Added failing test for generating namespaced table_name_prefix in enginesWojciech Wnętrzak2012-07-061-0/+12
|
* remove duplicate requires of mocha.Aaron Patterson2012-07-031-1/+0
| | | | | Mocha is already required by AS::TestCase, so remove the duplicate requires.
* remove test/dummy from gitignore when "plugin new -T"Francesco Rodriguez2012-07-031-1/+7
|
* Make TestQueueTest work with marshalling queuePaul Battley2012-07-031-25/+60
| | | | | This requires all jobs to be instances of named classes, without block implementations of methods.
* Ensure jobs do not refer to the queuePaul Battley2012-07-031-0/+15
| | | | | | | | Jobs pushed to the queue should not contain a reference to it. As the queue itself cannot be marshalled, and as a consequence of checking the marshallability of all jobs in the test environment, we can now guarantee this to be the case in the test environment when using the default TestQueue implementation.
* Ensure test jobs are marshallablePaul Battley2012-07-031-8/+28
| | | | | | | | | | By marshalling and unmarshalling jobs when adding them to the test queue, we can ensure that jobs created during test runs are valid candidates for marshalling, and, thus, that they can be used with queueing backends other than the default simple in-process implementation. This will also be used in a subsequent commit to ensure that jobs pushed to the queue do not contain a reference to the queue itself.
* Track queue threading with named classesPaul Battley2012-07-031-14/+24
| | | | | | | Using an anonymous class prevented marshalling: we're not doing that yet, but the next commit will introduce this. This also provided an opportunity to improve the expressivity of the tests and to make the assertion failure messages clearer.
* Made file name and class name consistantRahul P. Chaudhari2012-07-021-1/+1
|
* Fix failing test related to persist glob when replacing a pathCarlos Antonio da Silva2012-07-011-1/+1
| | | | Introduced in pull request #6910, merged in 2ee3fa1a48513a2c42833e2e1f60fe03769bc295
* Merge pull request #6910 from mulder/fix_path_globJosé Valim2012-07-011-0/+7
|\ | | | | Persist glob when replacing a path
| * Persist glob when replacing a pathNicholas Mulder2012-06-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Rails::Paths::Root's []= is used to replace a path it should persist the previous path's glob. Without passing the glob along we get gnarly bugs when trying to wire up things like engines. module FooEngine class Engine < ::Rails::Engine isolate_namespace FooEngine config.paths['config/initializers'] = "lib/foo_engine/initializers" end end ## Example of behaviour before this commit. # # Before the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb" # After the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => nil ## Example of behaviour after this commit. # # Before the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb" # After the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb"
* | Remove another missing test related to draw external routesCarlos Antonio da Silva2012-06-291-10/+0
| | | | | | | | Related with 5e7d6bb
* | Revert "Allow loading external route files from the router"José Valim2012-06-293-87/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6acebb38bc0637bc05c19d87f8767f16ce79189b. Usage of this feature did not reveal any improvement in existing apps. Conflicts: actionpack/lib/action_dispatch/routing/mapper.rb guides/source/routing.textile railties/lib/rails/engine.rb railties/lib/rails/paths.rb railties/test/paths_test.rb