aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | Fixed a regression introduced in 84cf156Godfrey Chan2014-06-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 84cf156 (PR #15694) introduced a subtle regression. There are actually three distinct entry points to creating an AR object – via .new (i.e. #initialize), via #init_with (e.g. from YAML or database queries) and via .allocate. With the patch in 84cf156, attribute methods and respond_to? will not work correctly when objects are allocated directly, without going through either The reason this test case didn't catch the regression was that the `Topic` class is shared between test cases, so by the time this test case is ran the attribute methods are very likely to be defined. Switching to use a fresh anonymous class in the test to ensure we surface this problem in the future.
* | | | | | | we intend to keep the `capture` helper for Active Record tests.Yves Senn2014-07-161-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up to f8f5cdc
* | | | | | | Active Record tests still depend on `capture`. Let's keep it for now.Yves Senn2014-07-162-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to 3121412 /cc @rafaelfranca This will remove deprecation warnings from the PostgreSQL suite: ``` DEPRECATION WARNING: #capture(stream) is deprecated and will be removed in the next release. (called from capture at /Users/senny/Projects/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:89) /Users/senny/Projects/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:89:in `capture' /Users/senny/Projects/rails/activerecord/test/cases/adapters/postgresql/composite_test.rb:73:in `ensure_warning_is_issued' /Users/senny/Projects/rails/activerecord/test/cases/adapters/postgresql/composite_test.rb:48:in `test_column' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:106:in `block (3 levels) in run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:204:in `capture_exceptions' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:103:in `block (2 levels) in run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:256:in `time_it' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:102:in `block in run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:317:in `on_signal' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:276:in `with_info_handler' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest/test.rb:101:in `run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:759:in `run_one_method' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:293:in `run_one_method' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:287:in `block (2 levels) in run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:286:in `each' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:286:in `block in run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:317:in `on_signal' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:306:in `with_info_handler' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:285:in `run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:149:in `block in __run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:149:in `map' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:149:in `__run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:126:in `run' /Users/senny/Projects/rails/.bundle/gems/minitest-5.3.3/lib/minitest.rb:55:in `block in autorun' ```
* | | | | | | use foreign key DSL in our tests.Yves Senn2014-07-162-5/+4
| | | | | | |
* | | | | | | Merge pull request #16138 from sgrif/sg-attribute-set-keyYves Senn2014-07-161-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | AttributeSet#include? -> AttributeSet#key?
| * | | | | | | AttributeSet#include? -> AttributeSet#key?Sean Griffin2014-07-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/rails/rails/pull/15868/files#r14135210
* | | | | | | | Merge pull request #16180 from rafaelfranca/rm-dirtyRafael Mendonça França2014-07-151-2/+14
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Improve Active Model Dirty API.
| * | | | | | | | Deprecate `reset_#{attribute}` in favor of `restore_#{attribute}`.Rafael Mendonça França2014-07-151-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These methods may cause confusion with the `reset_changes` that behaves differently of them. Also rename undo_changes to restore_changes to match this new set of methods.
* | | | | | | | | Keep quietly and capture undeprecated on your suiteRafael Mendonça França2014-07-152-0/+29
| | | | | | | | |
* | | | | | | | | Document the change in `nil` handling for serialized attributesGodfrey Chan2014-07-151-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also updated the test case to reflect that
* | | | | | | | | Fixed SQL syntax for postgresqlGodfrey Chan2014-07-151-1/+1
| | | | | | | | |
* | | | | | | | | Merge pull request #16162 from chancancode/fix_json_coderGodfrey Chan2014-07-151-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed JSON coder when loading NULL from DB
* | | | | | | | | Revert "Revert "Merge pull request #16059 from jenncoop/json-serialized-attr""Godfrey Chan2014-07-151-1/+15
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6f3c64eeb1dc8288dae49f114aaf619adc7dcb7f. Conflicts: activerecord/CHANGELOG.md
* | | | | | | | Merge pull request #15266 from dv/use_counter_cache_for_empty_callGodfrey Chan2014-07-151-0/+7
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | If a counter_cache exists, use it for #empty?
| * | | | | | | If a counter_cache exists, use it for #empty?David Verhasselt2014-06-101-0/+7
| | | | | | | |
* | | | | | | | Merge pull request #16089 from ↵Aaron Patterson2014-07-141-34/+30
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | eileencodes/refactor-reflections-from-sub-classes-to-delegates Refactor reflections from sub classes to delegates
| * | | | | | | Begin refactoring ThroughReflectioneileencodes2014-07-081-34/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to decouple AssociationReflection and ThroughReflection making ThroughReflection it's own Reflection bucket in a way. The benefit of this is to be able to remove checks against the macro's symbol for exmaple `macro == :belongs_to`. Get all tests passing again Some of the methods that used to be inherited from MacroReflection through AssociationReflection were no longer getting passed through. They needed to be duplicated into the ThroughReflection. I will extract these out into a separate class. Refactor shared methods into strategy object Now that we've separated ThroughReflection and AssociationReflection we can combine shared methods into one class to avoid duplication. Break out class for each type of reflection This creates a class for each reflection type (has_many, has_one, belongs_to and habtm). We then can remove the need to set the macro symbol in each initialization. Tests were updated to reflect these changes because creation of these reflections is now different. Remove need for @collection instance var We now define `collection?` as `false` by default and set it to `true` in `has_and_belongs_to_many` and `has_many` reflections. This removes the need for the `@collection` instance variable. Raise exception on unknown macro types We shouldn't accept just any macro when creating reflections. An unrecongnized AssociationReflection raises an error. Tests in `reflection_test` were updated to reflect these new changes. `:has_and_belongs_to_many` macro tests were removed because we no longer internally return HABTM.
* | | | | | | | Address ORA-00972: identifier is too long when tested with OracleYasuo Honda2014-07-143-4/+5
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | by using shorter attribute names.
* | | | | | | Merge pull request #16127 from Envek/fix_16111Matthew Draper2014-07-141-0/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Dump PostgreSQL primary key with custom function as a default.
| * | | | | | | Dump PostgreSQL primary key with custom function as a default.Andrey Novikov2014-07-111-0/+23
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, if use pgcrypto extension in PostgreSQL 9.4 beta 1, where uuid-ossp extension isn't available for moment of writing, and thus to use a gen_random_uuid() method as a primary key default. In this case schema dumper wasn't able to correctly reconstruct create_table statement and lost primary key constraint on schema load. Fixes #16111.
* | | | | | | Merge pull request #16055 from sgrif/sg-refactor-sqlite3-stringsMatthew Draper2014-07-121-0/+7
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Use a type object for type casting behavior on SQLite3
| * | | | | | Use a type object for type casting behavior on SQLite3Sean Griffin2014-07-111-0/+7
| | | | | | |
* | | | | | | Include fixtures to prevent foreign key violation.Zuhao Wan2014-07-091-0/+2
| | | | | | |
* | | | | | | Merge pull request #16093 from ↵Rafael Mendonça França2014-07-081-0/+1
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | zuhao/refactor_activerecord_nested_through_associations_test Warm up cache to prevent assertion failure.
| * | | | | | Warm up cache to prevent assertion failure.Zuhao Wan2014-07-081-0/+1
| | | | | | |
* | | | | | | Merge pull request #16072 from sgrif/sg-xml-quotingRafael Mendonça França2014-07-081-1/+14
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | Don't rely on the sql type to quote XML columns in PG
| * | | | | | Don't rely on the sql type to quote XML columns in PGSean Griffin2014-07-061-1/+14
| |/ / / / /
* / / / / / Remove the `text?` predicate from the type objectsSean Griffin2014-07-0614-18/+0
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was only used for uniqueness validations. The first usage was in conjunction with `limit`. Types which cast to string, but are not considered text cannot have a limit. The second case was only with an explicit `:case_sensitive => true` option given by the user.
* | | | | Change back occurrences of SQLite(3) to sqlite3 when referring to theZachary Scott2014-07-061-5/+6
| | | | | | | | | | | | | | | | | | | | adapter, fixed from #16057 [ci skip]
* | | | | Merge pull request #16057 from akshay-vishnoi/doc_changeZachary Scott2014-07-061-2/+2
|\ \ \ \ \ | | | | | | | | | | | | [ci skip] /sqlite/i --> SQLite
| * | | | | [ci skip] /sqlite/i --> SQLiteAkshay Vishnoi2014-07-061-2/+2
| | | | | |
* | | | | | active_record: Type cast booleans and durations for string columns.Dylan Thacker-Smith2014-07-062-3/+34
| | | | | |
* | | | | | Revert "Merge pull request #16059 from jenncoop/json-serialized-attr"Godfrey Chan2014-07-051-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a03097759bd7103bb9db253e7ba095f011453f75. This needs more work before it would work correctly on master.
* | | | | | Merge pull request #16059 from jenncoop/json-serialized-attrGodfrey Chan2014-07-051-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed issue with ActiveRecord serialize object as JSON Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/attribute_methods/serialization.rb
* | | | | | Fix mysql/mysql2 failing with FK constraint errorsGodfrey Chan2014-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the author fixture we have ("david") references an author address by ID. Since we disable FK checks when inserting fixtures, this is all fine until we try to update it, at which point MySQL would complain about the missing row referenced by the `author_address_id`. [Godfrey Chan, Matthew Draper]
* | | | | | Re-enable foriegn key tests on MySQLGodfrey Chan2014-07-052-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e84799d, e31104c and e6ca8e2
* | | | | | Use the type object for quoting PG RangesSean Griffin2014-07-052-6/+6
| | | | | |
* | | | | | Add a `required` option to singular associationsSean Griffin2014-07-041-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to defining the association, a `required` association will also have its presence validated. Before: ```ruby belongs_to :account validates_presence_of :account ``` After: ```ruby belongs_to :account, required: true ``` This helps to draw a distinction between types of validations, since validations on associations are generally for data integrity purposes, and aren't usually set through form inputs.
* | | | | | Fix typoRafael Mendonça França2014-07-041-1/+1
| | | | | |
* | | | | | Merge pull request #16028 from ↵Rafael Mendonça França2014-07-041-0/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cade/fix_counter_cache_count_with_association_selects Add `:all` argument to `count` in `reset_counters` Conflicts: activerecord/CHANGELOG.md
| * | | | | | Add `:all` argument to `count` in `reset_counters`Cade Truitt2014-07-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this fix, if an association had a scope with a `select`, calls to `reset_counters` would generate invalid SQL and throw: ActiveRecord::StatementInvalid: [$DB_ADAPTER]: wrong number of arguments to function COUNT() References #10710, #13648
* | | | | | | Merge pull request #16049 from matthewd/find-via-reloadMatthew Draper2014-07-051-0/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | After find-via-reload, the record is not new
| * | | | | | | After find-via-reload, the record is not newMatthew Draper2014-07-051-0/+12
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #16037 from sgrif/sg-money-quotingRafael Mendonça França2014-07-041-0/+24
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Remove unneccessary special case for money in quoting
| * | | | | | Remove unneccessary special case for money in quotingSean Griffin2014-07-031-0/+24
| |/ / / / /
* | | | | | Merge pull request #16036 from sgrif/sg-datetime-infinityRafael Mendonça França2014-07-031-0/+44
|\ \ \ \ \ \ | | | | | | | | | | | | | | Do not rely on the column type when quoting infinity
| * | | | | | Do not rely on the column type when quoting infinitySean Griffin2014-07-031-0/+44
| |/ / / / /
* / / / / / Use the type object for type casting HStore columnsSean Griffin2014-07-031-11/+5
|/ / / / /
* | | | | Quote range strings when quoting PG rangesSean Griffin2014-07-022-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | The test case for CVE-2014-3483 doesn't actually send the generated SQL to the database. The generated SQL is actually invalid for real inputs.
* | | | | Fix SQL injection when querying against ranges and bitstringsRafael Mendonça França2014-07-021-0/+11
| | | | | | | | | | | | | | | | | | | | Fix CVE-2014-3483 and protect against CVE-2014-3482.