From 29d081c47a43cc5d979836541cb73a816c95981d Mon Sep 17 00:00:00 2001 From: Yasuo Honda Date: Tue, 5 Dec 2017 19:16:11 +0000 Subject: Execute `JsonAttributeTest` only if `supports_json?` returns `true` Oracle enhanced adapter does not fully support JSON datatype then `supports_json?` returns `false`. I wanted to skip known failures and errors when tested with Oracle enhanced adapter. --- activerecord/test/cases/json_attribute_test.rb | 46 ++++++++++++++------------ 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'activerecord/test/cases/json_attribute_test.rb') diff --git a/activerecord/test/cases/json_attribute_test.rb b/activerecord/test/cases/json_attribute_test.rb index 63f3c77fc3..a6fd4f34dc 100644 --- a/activerecord/test/cases/json_attribute_test.rb +++ b/activerecord/test/cases/json_attribute_test.rb @@ -3,33 +3,35 @@ require "cases/helper" require "cases/json_shared_test_cases" -class JsonAttributeTest < ActiveRecord::TestCase - include JSONSharedTestCases - self.use_transactional_tests = false +if ActiveRecord::Base.connection.supports_json? + class JsonAttributeTest < ActiveRecord::TestCase + include JSONSharedTestCases + self.use_transactional_tests = false - class JsonDataTypeOnText < ActiveRecord::Base - self.table_name = "json_data_type" + class JsonDataTypeOnText < ActiveRecord::Base + self.table_name = "json_data_type" - attribute :payload, :json - attribute :settings, :json + attribute :payload, :json + attribute :settings, :json - store_accessor :settings, :resolution - end - - def setup - super - @connection.create_table("json_data_type") do |t| - t.text "payload" - t.text "settings" + store_accessor :settings, :resolution end - end - private - def column_type - :text + def setup + super + @connection.create_table("json_data_type") do |t| + t.text "payload" + t.text "settings" + end end - def klass - JsonDataTypeOnText - end + private + def column_type + :text + end + + def klass + JsonDataTypeOnText + end + end end -- cgit v1.2.3 From d2321aacc7451f6b4f154d894adcb76820abba3c Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Wed, 6 Dec 2017 08:30:27 +0900 Subject: Revert "Merge pull request #31341 from yahonda/skip_json_attribute_test" This reverts commit 23226d04f921b79f0077ba38c5a5a923b6d43f89, reversing changes made to 7544cf7603959f25100b21f70b5e70354bed7e45. --- activerecord/test/cases/json_attribute_test.rb | 46 ++++++++++++-------------- 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'activerecord/test/cases/json_attribute_test.rb') diff --git a/activerecord/test/cases/json_attribute_test.rb b/activerecord/test/cases/json_attribute_test.rb index a6fd4f34dc..63f3c77fc3 100644 --- a/activerecord/test/cases/json_attribute_test.rb +++ b/activerecord/test/cases/json_attribute_test.rb @@ -3,35 +3,33 @@ require "cases/helper" require "cases/json_shared_test_cases" -if ActiveRecord::Base.connection.supports_json? - class JsonAttributeTest < ActiveRecord::TestCase - include JSONSharedTestCases - self.use_transactional_tests = false +class JsonAttributeTest < ActiveRecord::TestCase + include JSONSharedTestCases + self.use_transactional_tests = false - class JsonDataTypeOnText < ActiveRecord::Base - self.table_name = "json_data_type" + class JsonDataTypeOnText < ActiveRecord::Base + self.table_name = "json_data_type" - attribute :payload, :json - attribute :settings, :json + attribute :payload, :json + attribute :settings, :json - store_accessor :settings, :resolution - end + store_accessor :settings, :resolution + end - def setup - super - @connection.create_table("json_data_type") do |t| - t.text "payload" - t.text "settings" - end + def setup + super + @connection.create_table("json_data_type") do |t| + t.text "payload" + t.text "settings" end + end - private - def column_type - :text - end + private + def column_type + :text + end - def klass - JsonDataTypeOnText - end - end + def klass + JsonDataTypeOnText + end end -- cgit v1.2.3 From d721344280346f67c7d2dbffa9eaf9341e73673d Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Wed, 6 Dec 2017 08:33:16 +0900 Subject: Use `:string` instead of `:text` for `JsonAttributeTest` Since CLOB data type has many limitations in Oracle SELECT WHERE clause. --- activerecord/test/cases/json_attribute_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'activerecord/test/cases/json_attribute_test.rb') diff --git a/activerecord/test/cases/json_attribute_test.rb b/activerecord/test/cases/json_attribute_test.rb index 63f3c77fc3..afc39d0420 100644 --- a/activerecord/test/cases/json_attribute_test.rb +++ b/activerecord/test/cases/json_attribute_test.rb @@ -19,14 +19,14 @@ class JsonAttributeTest < ActiveRecord::TestCase def setup super @connection.create_table("json_data_type") do |t| - t.text "payload" - t.text "settings" + t.string "payload" + t.string "settings" end end private def column_type - :text + :string end def klass -- cgit v1.2.3