aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators/shared_generator_tests.rb
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant passing --skip-active-storage in test casesbogdanvlviv2017-11-081-1/+1
| | | | These were added in #30101, after #31084 it became redundant.
* Do not run `active_storage:install` when bundle install is skippedyuuji.yaginuma2017-11-081-1/+0
| | | | | | | In order to execute the `rails` command, need to run bundle install in advance. Therefore, if skipped bundle install, `rails` command may fail and should not do it.
* `rails new` runs `rails active_storage:install`bogdanvlviv2017-11-061-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Omit `rails activestorage:install` for jdbcmysql, jdbc and shebang tests AppGeneratorTest#test_config_jdbcmysql_database rails aborted! LoadError: Could not load 'active_record/connection_adapters/mysql_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile. (compressed) bin/rails:4:in `<main>' Tasks: TOP => activestorage:install => environment (See full trace by running task with --trace) AppGeneratorTest#test_config_jdbc_database rails aborted! LoadError: Could not load 'active_record/connection_adapters/jdbc_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile. (compressed) bin/rails:4:in `<main>' Tasks: TOP => activestorage:install => environment (See full trace by running task with --trace) AppGeneratorTest#test_shebang_is_added_to_rails_file /home/ubuntu/.rbenv/versions/2.4.1/bin/ruby: no Ruby script found in input (LoadError) Prevent PendingMigrationError in tests * Run `bin/rails db:migrate RAILS_ENV=test` in test_cases before start tests to prevent PendingMigrationError * FileUtils.rm_r("db/migrate") * --skip-active-storage Fix failed tests in `railties/test/railties/engine_test.rb` Related to #30111 Imporve `SharedGeneratorTests#test_default_frameworks_are_required_when_others_are_removed` - Explicitly skip active_storage - Ensure that skipped frameworks are commented - Ensure that default frameworks are not commented Fix error `Errno::ENOSPC: No space left on device - sendfile` Since `rails new` runs `rails active_storage:install` that boots an app. Since adding Bootsnap 0312a5c67e35b960e33677b5358c539f1047e4e1 during booting an app, it creates the cache: 264K tmp/cache/bootsnap-load-path-cache 27M tmp/cache/bootsnap-compile-cache * teardown_app must remove app
* Add --skip-active-storage and do so automatically when --skip-active-record ↵bogdanvlviv2017-11-061-0/+91
| | | | | | | | | | | | is used Closes #30102 Revert part 787fe90dc0a7c5b91bb5af51f2858ea8c4676268 --skip-active-storage pass throughs `rails plugin new` Add changelog entry about default initialization of Active Storage
* Add credentials using a generic EncryptedConfiguration class (#30067)David Heinemeier Hansson2017-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP: Add credentials using a generic EncryptedConfiguration class This is sketch code so far. * Flesh out EncryptedConfiguration and test it * Better name * Add command and generator for credentials * Use the Pathnames * Extract EncryptedFile from EncryptedConfiguration and add serializers * Test EncryptedFile * Extract serializer validation * Stress the point about losing comments * Allow encrypted configuration to be read without parsing for display * Use credentials by default and base them on the master key * Derive secret_key_base in test/dev, source it from credentials in other envs And document the usage. * Document the new credentials setup * Stop generating the secrets.yml file now that we have credentials * Document what we should have instead Still need to make it happen, tho. * [ci skip] Keep wording to `key base`; prefer defaults. Usually we say we change defaults, not "spec" out a release. Can't use backticks in our sdoc generated documentation either. * Abstract away OpenSSL; prefer MessageEncryptor. * Spare needless new when raising. * Encrypted file test shouldn't depend on subclass. * [ci skip] Some woordings. * Ditch serializer future coding. * I said flip it. Flip it good. * [ci skip] Move require_master_key to the real production.rb. * Add require_master_key to abort the boot process. In case the master key is required in a certain environment we should inspect that the key is there and abort if it isn't. * Print missing key message and exit immediately. Spares us a lengthy backtrace and prevents further execution. I've verified the behavior in a test app, but couldn't figure the test out as loading the app just exits immediately with: ``` /Users/kasperhansen/Documents/code/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `load': marshal data too short (ArgumentError) from /Users/kasperhansen/Documents/code/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `run' from /Users/kasperhansen/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/minitest-5.10.2/lib/minitest.rb:830:in `run_one_method' from /Users/kasperhansen/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/minitest-5.10.2/lib/minitest/parallel.rb:32:in `block (2 levels) in start' ``` It's likely we need to capture and prevent the exit somehow. Kernel.stub(:exit) didn't work. Leaving it for tomorrow. * Fix require_master_key config test. Loading the app would trigger the `exit 1` per require_master_key's semantics, which then aborted the test. Fork and wait for the child process to finish, then inspect the exit status. Also check we aborted because of a missing master key, so something else didn't just abort the boot. Much <3 to @tenderlove for the tip. * Support reading/writing configs via methods. * Skip needless deep symbolizing. * Remove save; test config reader elsewhere. * Move secret_key_base check to when we're reading it. Otherwise we'll abort too soon since we don't assign the secret_key_base to secrets anymore. * Add missing string literal comments; require unneeded yaml require. * ya ya ya, rubocop. * Add master_key/credentials after bundle. Then we can reuse the existing message on `rails new bc4`. It'll look like: ``` Using web-console 3.5.1 from https://github.com/rails/web-console.git (at master@ce985eb) Using rails 5.2.0.alpha from source at `/Users/kasperhansen/Documents/code/rails` Using sass-rails 5.0.6 Bundle complete! 16 Gemfile dependencies, 72 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Adding config/master.key to store the master encryption key: 97070158c44b4675b876373a6bc9d5a0 Save this in a password manager your team can access. If you lose the key, no one, including you, can access anything encrypted with it. create config/master.key ``` And that'll be executed even if `--skip-bundle` was passed. * Ensure test app has secret_key_base. * Assign secret_key_base to app or omit. * Merge noise * Split options for dynamic delegation into its own method and use deep symbols to make it work * Update error to point to credentials instead * Appease Rubocop * Validate secret_key_base when reading it. Instead of relying on the validation in key_generator move that into secret_key_base itself. * Fix generator and secrets test. Manually add config.read_encrypted_secrets since it's not there by default anymore. Move mentions of config/secrets.yml to config/credentials.yml.enc. * Remove files I have no idea how they got here. * [ci skip] swap secrets for credentials. * [ci skip] And now, changelogs are coming.
* Move common tests from `AppGeneratorTest` and `PluginGeneratorTest` to ↵bogdanvlviv2017-08-171-0/+114
| | | | `SharedGeneratorTests`
* Add --skip-yarn option to the plugin generatorbogdanvlviv2017-08-151-0/+30
| | | | | Add SharedGeneratorTests#application_path This method will help to DRY in files app_generator_test.rb, plugin_generator_test.rb
* Adding frozen_string_literal pragma to Railties.Pat Allan2017-08-141-0/+2
|
* Railties updates for frozen string literals.Pat Allan2017-08-141-1/+1
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Should escape meta characters in regexpRyuta Kamizono2017-05-071-2/+2
|
* Initalize git repo when creatin new rails appdixpac2017-01-121-0/+1
| | | | | * If `--skip-git` is not specified initalize git repo when creating new rails app
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-291-1/+1
|
* Add three new rubocop rulesRafael Mendonça França2016-08-161-5/+5
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* applies new string literal convention in railties/testXavier Noria2016-08-061-10/+10
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Do not run `bundle install` when generating a new plugin.Rafael Mendonça França2016-07-011-35/+0
| | | | | | Since bundler 1.12.0, the gemspec is validated so the `bundle install` command will fail just after the gem is created causing confusion to the users. This change was a bug fix to correctly validate gemspecs.
* ApplicationMailer should be generated by default just like every other ↵David Heinemeier Hansson2015-12-171-2/+1
| | | | Application* parent
* Remove unneeded generator variable.Kasper Timm Hansen2015-09-221-1/+0
|
* Removed mocha from Railites PluginGeneratorTestRonak Jangir2015-09-221-14/+35
|
* Display a more human readable list of reserved namesRobin Dupret2015-07-011-1/+1
| | | | | Interpolating an array inside a String will call #inspect on it. Let's call #join to display a more human-readable error message.
* Removed duplicate test cases for template execution Ronak Jangir2015-06-041-9/+0
|
* Omit .keep in .gitignore when generated with --skip-keeps.Ben Pickles2015-05-221-1/+5
|
* list reserved words in generator errorSean Linsley2015-05-051-1/+1
|
* Change option description and update test namesMelanie Gilman2015-01-291-1/+1
|
* Update option to skip test in generatorsMelanie Gilman2015-01-271-1/+1
| | | | Rails no longer generates Test::Unit files by default.
* Swallow bundler exceptions when running testsRobin Dupret2014-04-271-5/+8
| | | | Let's avoid useless output when testing stuff related to Bundler.
* Install Spring preloader when generating new applicationsJon Leighton2013-12-031-6/+10
|
* Don't require using application_name before optionsPiotr Sarnacki2013-09-131-5/+0
| | | | | | | | | | | | Before this commit options for `rails new` and `rails plugin new` had to be passed in a strict order, trying to execute a following command: rails new -J path/to/app resulted in an error. This commit fixes the situation and allows to pass path to app anywhere after `new`
* Fix Typo existant -> existent [ci skip]Prathamesh Sonpatki2013-05-081-2/+2
|
* Remove `--builder` option from `rails` commandPrem Sichanugrist2013-02-241-58/+0
| | | | | | | Ability to use a custom builder by passing `--builder` (or `-b`) has been removed. Consider using application template instead. See this guide for more detail: http://guides.rubyonrails.org/rails_application_templates.html
* Gist URLs are now namespacedAkira Matsuda2013-02-181-3/+3
| | | | see: https://github.com/blog/1406-namespaced-gists
* Introduce ./bin for your app's executables: bin/bundle, bin/rails, bin/rake. ↵Jeremy Kemper2013-01-061-2/+2
| | | | Executable scripts are versioned code like the rest of your app. To generate a stub for a bundled gem: 'bundle binstubs unicorn' and 'git add bin/unicorn'
* fix failing test broken in 15fb7889c5566ddade1d8f74f49bbbc1c0be6057Akira Matsuda2013-01-051-1/+1
|
* Revert "Install binstubs by default"Jeremy Kemper2012-12-281-3/+3
| | | | | | This reverts commit f34c27a452418d8aa17f92bb0fd7ae97b5f7e252. We'll be taking a different tack on this with new `bundle binstubs <gem>` support.
* Revert "Detect rbenv and update the shebang"Jeremy Kemper2012-12-281-10/+0
| | | | | This reverts commit 7173c4f931c9026bd3bc0b644d93dae744433f09. This reverts commit a562f9fa09967eba26dff1c3bc8aa85b6f0a72ff.
* Detect rbenv and update the shebangYehuda Katz2012-12-221-0/+10
|
* Install binstubs by defaultYehuda Katz2012-12-221-3/+3
|
* Use Ruby 1.9 Hash syntax in railtiesRobin Dupret2012-10-141-7/+7
|
* change app/plugin generators to be more SCM agnosticDerek Prior2012-09-121-0/+12
| | | | | | | | | | | | | | | | | 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.
* Fix build for railties generators Arun Agrawal2012-05-021-2/+2
|
* build fix for SharedGeneratorTestsArun Agrawal2012-05-021-2/+2
|
* Fix testsPiotr Sarnacki2012-05-011-1/+1
|
* Remove duplicated tests from shared generatorCarlos Antonio da Silva2012-03-141-15/+0
| | | | [Carlos Antonio da Silva & Santiago Pastorino]
* Depend on 4.0.0.beta gems. Use https for github urls.Jeremy Kemper2011-12-221-1/+1
|
* Warnings removed for using shadow variable.Arun Agrawal2011-09-041-2/+2
|
* Generate script/rails only if --full is givenStefan Sprenger2011-05-271-2/+2
|
* application and plugin generation run bundle install unless --skip-gemfile ↵Xavier Noria2011-05-141-2/+11
| | | | or --skip-bundle
* use #quietly in a few places, and s/silence/capture/ where intention is captureXavier Noria2011-05-131-8/+8
|
* say silence when you mean silenceXavier Noria2011-05-131-1/+1
|